Update firestore.ts
This commit is contained in:
@@ -42,6 +42,8 @@ interface Document {
|
|||||||
/**
|
/**
|
||||||
* UTILS
|
* UTILS
|
||||||
*/
|
*/
|
||||||
|
// TODO: strong type checking so that string queries are actually querying fields that are in our models
|
||||||
|
|
||||||
const converter = <T extends Document>() => ({
|
const converter = <T extends Document>() => ({
|
||||||
toFirestore: (data: T) => ({ ...data }),
|
toFirestore: (data: T) => ({ ...data }),
|
||||||
fromFirestore: (snap: QueryDocumentSnapshot) => {
|
fromFirestore: (snap: QueryDocumentSnapshot) => {
|
||||||
@@ -106,17 +108,22 @@ export const searchUsers = async (searchQuery: string): Promise<User[] | undefin
|
|||||||
limit(5),
|
limit(5),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const nameManipulatedQuery =
|
||||||
|
searchQuery[0].toUpperCase() + searchQuery.slice(1).toLocaleLowerCase();
|
||||||
const nameSearchQuery = query(
|
const nameSearchQuery = query(
|
||||||
db.users,
|
db.users,
|
||||||
orderBy('displayName'),
|
orderBy('displayName'),
|
||||||
startAt(searchQuery.toLocaleUpperCase()),
|
startAt(nameManipulatedQuery),
|
||||||
endAt(searchQuery.toLocaleUpperCase() + '\uf8ff'),
|
endAt(nameManipulatedQuery + '\uf8ff'),
|
||||||
limit(5),
|
limit(5),
|
||||||
);
|
);
|
||||||
|
|
||||||
const emailquerySnap = await getDocs(emaildocSearchQuery);
|
const emailquerySnap = await getDocs(emaildocSearchQuery);
|
||||||
const namequerySnap = await getDocs(nameSearchQuery);
|
const namequerySnap = await getDocs(nameSearchQuery);
|
||||||
|
|
||||||
|
console.log(nameManipulatedQuery);
|
||||||
|
console.log(namequerySnap);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
...emailquerySnap.docs.map((doc) => doc.data()),
|
...emailquerySnap.docs.map((doc) => doc.data()),
|
||||||
...namequerySnap.docs.map((doc) => doc.data()),
|
...namequerySnap.docs.map((doc) => doc.data()),
|
||||||
|
|||||||
Reference in New Issue
Block a user