(filteredUserDocs, stateItems, time)
| 721 | return getUsersWithOnboardingStateInRange(stateMatchedUsers, stateItems, query.time); |
| 722 | } |
| 723 | return stateMatchedUsers; |
| 724 | } else if (doesTagQueryExist) { |
| 725 | finalItems = tagItems.map((item) => item.itemId); |
| 726 | } |
| 727 | |
| 728 | if (finalItems.length) { |
| 729 | finalItems = [...new Set(finalItems)]; |
| 730 | if (doesStateQueryExist) { |
| 731 | const stateUserMap = new Map(stateMatchedUsers.map((user) => [user.id, user])); |
| 732 | return finalItems.map((id) => stateUserMap.get(id)).filter(Boolean); |
| 733 | } |
| 734 | const userRefs = finalItems.map((itemId) => userModel.doc(itemId)); |
| 735 | const userDocs = (await firestore.getAll(...userRefs)).map((doc) => ({ id: doc.id, ...doc.data() })); |
| 736 | return userDocs.filter((doc) => !doc.roles?.archived); |
| 737 | } |
| 738 | |
| 739 | const { role: roleQuery, verified: verifiedQuery } = query; |
| 740 | |
| 741 | if (roleQuery) { |
| 742 | const filteredUsers = []; |
| 743 | const snapshot = await userModel.where(`roles.${roleQuery}`, "==", true).get(); |
| 744 | snapshot.forEach((doc) => { |
no outgoing calls
no test coverage detected