generated from Real-Dev-Squad/website-template
-
Notifications
You must be signed in to change notification settings - Fork 201
/
external-accounts.js
41 lines (35 loc) · 1.05 KB
/
external-accounts.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const firestore = require("../utils/firestore");
const externalAccountsModel = firestore.collection("external-accounts");
const addExternalAccountData = async (data) => {
try {
await externalAccountsModel.add(data);
return { message: "Added data successfully" };
} catch (err) {
logger.error("Error in adding data", err);
throw err;
}
};
const fetchExternalAccountData = async (query, param) => {
try {
let externalAccountQuery;
let data, id;
externalAccountQuery = externalAccountsModel.where("token", "==", param);
if (query && query?.type) {
externalAccountQuery = externalAccountQuery.where("type", "==", query?.type);
}
const querySnapshot = await externalAccountQuery.limit(1).get();
const doc = querySnapshot.docs[0];
if (doc) {
id = doc.id;
data = doc.data();
}
return {
id: id,
...data,
};
} catch (err) {
logger.error("Error in fetching external account data", err);
throw err;
}
};
module.exports = { addExternalAccountData, fetchExternalAccountData };