mobioffice-cli 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src/index.ts → lib/index.d.ts} +1 -45
- package/lib/models/Feed-Details-Screen.model.d.ts +6 -0
- package/lib/models/Feed-Details-Screen.model.js +27 -0
- package/lib/models/action.model.d.ts +58 -0
- package/lib/models/action.model.js +315 -0
- package/lib/models/actions/doffing.d.ts +6 -0
- package/lib/models/actions/doffing.js +64 -0
- package/lib/models/actions/folding.d.ts +7 -0
- package/lib/models/actions/folding.js +37 -0
- package/lib/models/attendance.model.d.ts +44 -0
- package/lib/models/attendance.model.js +446 -0
- package/lib/models/cicoPost.model.d.ts +9 -0
- package/lib/models/cicoPost.model.js +19 -0
- package/lib/models/company.model.d.ts +67 -0
- package/lib/models/company.model.js +725 -0
- package/lib/models/contact-us/resquest.model.d.ts +30 -0
- package/lib/models/contact-us/resquest.model.js +73 -0
- package/lib/models/crud/crud.d.ts +7 -0
- package/lib/models/crud/crud.js +27 -0
- package/lib/models/customCollection.model.d.ts +9 -0
- package/lib/models/customCollection.model.js +40 -0
- package/lib/models/customer/customer.model.d.ts +32 -0
- package/lib/models/customer/customer.model.js +62 -0
- package/lib/models/deviceChangeReq.d.ts +10 -0
- package/lib/models/deviceChangeReq.js +138 -0
- package/lib/models/dispatch.model.d.ts +14 -0
- package/lib/models/dispatch.model.js +93 -0
- package/lib/models/feed.models.d.ts +8 -0
- package/lib/models/feed.models.js +97 -0
- package/lib/models/geofence.model.d.ts +7 -0
- package/lib/models/geofence.model.js +61 -0
- package/lib/models/leaveApplicationPost.model.d.ts +12 -0
- package/lib/models/leaveApplicationPost.model.js +72 -0
- package/lib/models/license.model.d.ts +25 -0
- package/lib/models/license.model.js +198 -0
- package/lib/models/log.model.d.ts +6 -0
- package/{src/models/log.model.ts → lib/models/log.model.js} +11 -11
- package/lib/models/meeting.model.d.ts +11 -0
- package/lib/models/meeting.model.js +79 -0
- package/lib/models/meter.model.d.ts +18 -0
- package/lib/models/meter.model.js +54 -0
- package/lib/models/missingPunchPost.model.d.ts +15 -0
- package/lib/models/missingPunchPost.model.js +69 -0
- package/lib/models/offline.model.d.ts +70 -0
- package/lib/models/offline.model.js +831 -0
- package/lib/models/post.model.d.ts +38 -0
- package/lib/models/post.model.js +94 -0
- package/lib/models/printDetailsScreen.model.d.ts +6 -0
- package/lib/models/printDetailsScreen.model.js +27 -0
- package/lib/models/pushNotifications/pushNotification.model.d.ts +4 -0
- package/lib/models/pushNotifications/pushNotification.model.js +17 -0
- package/lib/models/report-actions.model.d.ts +26 -0
- package/lib/models/report-actions.model.js +56 -0
- package/lib/models/report-definition-details.model.d.ts +13 -0
- package/lib/models/report-definition-details.model.js +85 -0
- package/lib/models/report-definition.model.d.ts +23 -0
- package/lib/models/report-definition.model.js +26 -0
- package/lib/models/report-definitions-summary.model.d.ts +8 -0
- package/lib/models/report-definitions-summary.model.js +59 -0
- package/lib/models/report-detail-data.model.d.ts +46 -0
- package/lib/models/report-detail-data.model.js +49 -0
- package/lib/models/report-visibility.model.d.ts +7 -0
- package/lib/models/report-visibility.model.js +42 -0
- package/lib/models/report.model.d.ts +19 -0
- package/lib/models/report.model.js +138 -0
- package/lib/models/reportGenerator.model.d.ts +164 -0
- package/lib/models/reportGenerator.model.js +642 -0
- package/lib/models/response.model.d.ts +18 -0
- package/lib/models/response.model.js +30 -0
- package/lib/models/steps.factory.model.d.ts +172 -0
- package/lib/models/steps.factory.model.js +187 -0
- package/lib/models/storeGupShupLog.model.d.ts +6 -0
- package/lib/models/storeGupShupLog.model.js +51 -0
- package/lib/models/summary.model.d.ts +10 -0
- package/{src/models/summary.model.ts → lib/models/summary.model.js} +28 -27
- package/lib/models/tasks/sub-task-group.model.d.ts +42 -0
- package/lib/models/tasks/sub-task-group.model.js +154 -0
- package/lib/models/tasks/tags.model.d.ts +29 -0
- package/lib/models/tasks/tags.model.js +70 -0
- package/lib/models/tasks/task-group.model.d.ts +53 -0
- package/lib/models/tasks/task-group.model.js +156 -0
- package/lib/models/tasks/task.model.d.ts +163 -0
- package/lib/models/tasks/task.model.js +603 -0
- package/lib/models/tempCollection.model.d.ts +40 -0
- package/{src/models/tempCollection.model.ts → lib/models/tempCollection.model.js} +114 -130
- package/lib/models/user.model.d.ts +42 -0
- package/lib/models/user.model.js +272 -0
- package/lib/models/utility.model.d.ts +13 -0
- package/lib/models/utility.model.js +93 -0
- package/lib/models/visitorManagement/acknowledgement.model.d.ts +9 -0
- package/lib/models/visitorManagement/acknowledgement.model.js +55 -0
- package/lib/models/visitorManagement/invite.model.d.ts +32 -0
- package/lib/models/visitorManagement/invite.model.js +326 -0
- package/lib/models/visitorManagement/newIn.model.d.ts +19 -0
- package/lib/models/visitorManagement/newIn.model.js +67 -0
- package/lib/models/visitorManagement/selfServe.model.d.ts +13 -0
- package/lib/models/visitorManagement/selfServe.model.js +46 -0
- package/lib/models/worklogPost.model.d.ts +6 -0
- package/lib/models/worklogPost.model.js +9 -0
- package/lib/services/customer.d.ts +30 -0
- package/lib/services/customer.js +354 -0
- package/lib/services/meeting.d.ts +19 -0
- package/lib/services/meeting.js +109 -0
- package/package.json +4 -1
- package/.prettierrc +0 -4
- package/a.js +0 -3
- package/scripts/1.ts +0 -1300
- package/scripts/GCloudPubSub/pub-sub-config.json +0 -12
- package/scripts/GCloudPubSub/visitorAutoRejection.ts +0 -86
- package/scripts/actions/assignUsersFromOneActionToOther.ts +0 -64
- package/scripts/actions/assignUsersListToAction.ts +0 -81
- package/scripts/actions/getActionsListOfUser.ts +0 -42
- package/scripts/actions/getCompanyUserDetails.ts +0 -49
- package/scripts/actions/giveActionToUser.ts +0 -41
- package/scripts/actions/giveUsersToActivitySelector.ts +0 -56
- package/scripts/actions/groupActionsInActivitySelector.ts +0 -101
- package/scripts/actions/modifySummaryReportDB.ts +0 -42
- package/scripts/actions/setUrlToActionStep.ts +0 -18
- package/scripts/actions/syncMySqlAttendanceDBWithFirebase.ts +0 -93
- package/scripts/actions/syncMySqlMeetingsDBWithFirebase.ts +0 -103
- package/scripts/actions/test.ts +0 -29
- package/scripts/actions/transferFeedsOldIdToNew.ts +0 -40
- package/scripts/actions/transformUserIntoManager.ts +0 -89
- package/scripts/argvConfig.js +0 -9
- package/scripts/backUpData/testCode.ts +0 -131
- package/scripts/benaraScripts/addWorkAreaMap.ts +0 -46
- package/scripts/benaraScripts/add_customers.ts +0 -26
- package/scripts/benaraScripts/add_customers_contact.ts +0 -27
- package/scripts/benaraScripts/add_empty_work_area.ts +0 -17
- package/scripts/benaraScripts/assignManagers.ts +0 -35
- package/scripts/benaraScripts/changeCheckInFlag.ts +0 -45
- package/scripts/benaraScripts/createCustomerContactsList.ts +0 -170
- package/scripts/benaraScripts/createUserByDeletingOldUser.ts +0 -70
- package/scripts/benaraScripts/createUsersAreaMapCollection.ts +0 -23
- package/scripts/benaraScripts/createWorkAreaMap.ts +0 -24
- package/scripts/benaraScripts/mapWorkAreasToUsers.ts +0 -112
- package/scripts/companies_data.json +0 -2496
- package/scripts/create_or_update_users.ts +0 -31
- package/scripts/csvToJson/csvToJson.ts +0 -90
- package/scripts/csvToJson/users.json +0 -3896
- package/scripts/db.js +0 -27
- package/scripts/db.json +0 -13
- package/scripts/dbMySql.ts +0 -63
- package/scripts/delete_action_steps.ts +0 -11
- package/scripts/delete_user.ts +0 -71
- package/scripts/dev_companies_data.json +0 -613
- package/scripts/enroll.xlsx +0 -0
- package/scripts/export_users.ts +0 -72
- package/scripts/files/visitorManagementFiles/displayScreen.json +0 -70
- package/scripts/files/visitorManagementFiles/init_report_visibility.ts +0 -79
- package/scripts/firebaseConfig.js +0 -12
- package/scripts/firebaseDocs/deleteIncommingCollection.ts +0 -47
- package/scripts/firebaseDocs/updateDoc.ts +0 -43
- package/scripts/getActionDataIntoJSON/getActionData.ts +0 -68
- package/scripts/get_attendance_by_any_date.ts +0 -14
- package/scripts/get_attendance_by_month.ts +0 -12
- package/scripts/get_attendance_monthly_by_team.ts +0 -11
- package/scripts/get_daily_report.ts +0 -10
- package/scripts/get_mangers.ts +0 -13
- package/scripts/grant_user_license.ts +0 -18
- package/scripts/init_CustomCollection.ts +0 -16
- package/scripts/init_action_steps.ts +0 -28
- package/scripts/init_actions.ts +0 -31
- package/scripts/init_company.ts +0 -18
- package/scripts/init_customer_mysql.ts +0 -12
- package/scripts/init_feed.ts +0 -4
- package/scripts/init_feed_details_screen.ts +0 -14
- package/scripts/init_geofence.ts +0 -26
- package/scripts/init_print_details_screen.ts +0 -14
- package/scripts/init_report_actions.ts +0 -24
- package/scripts/init_report_definition_detail.ts +0 -26
- package/scripts/init_report_definition_summary.ts +0 -16
- package/scripts/init_report_visibility.ts +0 -46
- package/scripts/init_user_customcollection.ts +0 -16
- package/scripts/json/action.json +0 -21
- package/scripts/json/company.json +0 -24
- package/scripts/json/report-action.json +0 -13
- package/scripts/json/report-def-deet.json +0 -43
- package/scripts/json/resp.json +0 -784
- package/scripts/json/steps.json +0 -24
- package/scripts/json/test.ts +0 -49
- package/scripts/mysqlConfig.ts +0 -9
- package/scripts/revoke_or_extend_license.ts +0 -14
- package/scripts/stream.js +0 -4
- package/scripts/testing1.ts +0 -35
- package/scripts/update/doc.json +0 -20
- package/scripts/update/getDocByPath.ts +0 -34
- package/scripts/update/updateDocByPath.ts +0 -47
- package/scripts/update/updateUsersOfCompanies.ts +0 -58
- package/scripts/update_actions.ts +0 -19
- package/scripts/update_actions_steps.ts +0 -19
- package/scripts/update_company.ts +0 -19
- package/scripts/update_geofence.ts +0 -20
- package/scripts/update_managers.ts +0 -16
- package/scripts/visitorMgmt/createArea.ts +0 -68
- package/scripts/visitorMgmt/createArea.txt +0 -3
- package/scripts/visitorMgmt/createVisitorPathInstructionDocs.ts +0 -130
- package/scripts/visitorMgmt/createVisitorPathInstructionDocs.txt +0 -18
- package/scripts/visitorMgmt/encryptDateString.ts +0 -71
- package/scripts/visitorMgmt/makeHostsManagersOfEachOther.ts +0 -117
- package/scripts/whatsapp_gupshup/sendMessage.ts +0 -97
- package/src/models/Feed-Details-Screen.model.ts +0 -29
- package/src/models/action.model.ts +0 -355
- package/src/models/actions/doffing.ts +0 -71
- package/src/models/actions/folding.ts +0 -39
- package/src/models/attendance.model.ts +0 -615
- package/src/models/cicoPost.model.ts +0 -20
- package/src/models/company.model.ts +0 -975
- package/src/models/contact-us/resquest.model.ts +0 -87
- package/src/models/crud/crud.ts +0 -30
- package/src/models/customCollection.model.ts +0 -47
- package/src/models/customer/customer.model.ts +0 -85
- package/src/models/deviceChangeReq.ts +0 -150
- package/src/models/dispatch.model.ts +0 -99
- package/src/models/feed.models.ts +0 -104
- package/src/models/geofence.model.ts +0 -61
- package/src/models/leaveApplicationPost.model.ts +0 -79
- package/src/models/license.model.ts +0 -215
- package/src/models/meeting.model.ts +0 -80
- package/src/models/meter.model.ts +0 -62
- package/src/models/missingPunchPost.model.ts +0 -84
- package/src/models/offline.model.ts +0 -1133
- package/src/models/post.model.ts +0 -105
- package/src/models/printDetailsScreen.model.ts +0 -30
- package/src/models/pushNotifications/pushNotification.model.ts +0 -17
- package/src/models/report-actions.model.ts +0 -57
- package/src/models/report-definition-details.model.ts +0 -89
- package/src/models/report-definition.model.ts +0 -26
- package/src/models/report-definitions-summary.model.ts +0 -59
- package/src/models/report-detail-data.model.ts +0 -49
- package/src/models/report-visibility.model.ts +0 -44
- package/src/models/report.model.ts +0 -179
- package/src/models/reportGenerator.model.ts +0 -883
- package/src/models/response.model.ts +0 -31
- package/src/models/steps.factory.model.ts +0 -195
- package/src/models/storeGupShupLog.model.ts +0 -49
- package/src/models/tasks/sub-task-group.model.ts +0 -173
- package/src/models/tasks/tags.model.ts +0 -113
- package/src/models/tasks/task-group.model.ts +0 -172
- package/src/models/tasks/task.model.ts +0 -681
- package/src/models/user.model.ts +0 -319
- package/src/models/utility.model.ts +0 -100
- package/src/models/visitorManagement/acknowledgement.model.ts +0 -71
- package/src/models/visitorManagement/invite.model.ts +0 -406
- package/src/models/visitorManagement/newIn.model.ts +0 -82
- package/src/models/visitorManagement/selfServe.model.ts +0 -58
- package/src/models/worklogPost.model.ts +0 -8
- package/src/services/customer.ts +0 -382
- package/src/services/meeting.ts +0 -123
- package/test/1.ts +0 -13
- package/test/db.js +0 -19
- package/test/firebaseConfig.js +0 -1
- package/tsconfig.json +0 -16
package/src/models/user.model.ts
DELETED
@@ -1,319 +0,0 @@
|
|
1
|
-
import { Firestore } from "@google-cloud/firestore";
|
2
|
-
import * as admin from "firebase-admin";
|
3
|
-
// import * as stream from "getstream";
|
4
|
-
import { Company } from "./company.model";
|
5
|
-
|
6
|
-
class User {
|
7
|
-
reportingTo: string | null = null;
|
8
|
-
managers: string[] = [];
|
9
|
-
bio: string | null = null;
|
10
|
-
fcmToken: string | null = null;
|
11
|
-
email: string | null = null;
|
12
|
-
avatarUrl: string | null = null;
|
13
|
-
satOff: string | null = null;
|
14
|
-
id: string = "";
|
15
|
-
designation:string|null =null
|
16
|
-
roles:string =""
|
17
|
-
roamId:string|null =null
|
18
|
-
birthDate:number= 0
|
19
|
-
name:string= ""
|
20
|
-
hasCheckedIn:boolean =false
|
21
|
-
department:string|null =null
|
22
|
-
empCode:string|null =null
|
23
|
-
phone: string ="";
|
24
|
-
|
25
|
-
constructor(reportingTo: any,
|
26
|
-
managers: string[],
|
27
|
-
bio: string,
|
28
|
-
fcmToken: string,
|
29
|
-
email: string,
|
30
|
-
avatarUrl: string,
|
31
|
-
satOff: string,
|
32
|
-
id: string,
|
33
|
-
designation: string,
|
34
|
-
roles: string,
|
35
|
-
roamId: string,
|
36
|
-
birthdate: number,
|
37
|
-
name: string,
|
38
|
-
hasCheckedIn: boolean,
|
39
|
-
department: string,
|
40
|
-
empCode: string,
|
41
|
-
phone: string) {
|
42
|
-
this.reportingTo = reportingTo;
|
43
|
-
this.managers = managers;
|
44
|
-
this.bio = bio;
|
45
|
-
this.fcmToken = fcmToken;
|
46
|
-
this.email = email;
|
47
|
-
this.avatarUrl = avatarUrl;
|
48
|
-
this.satOff = satOff;
|
49
|
-
this.id = id;
|
50
|
-
this.designation = designation;
|
51
|
-
this.roles = roles;
|
52
|
-
this.roamId = roamId;
|
53
|
-
this.birthDate = birthdate;
|
54
|
-
this.name = name;
|
55
|
-
this.hasCheckedIn = hasCheckedIn;
|
56
|
-
this.department = department;
|
57
|
-
this.empCode = empCode;
|
58
|
-
this.phone = phone;
|
59
|
-
}
|
60
|
-
|
61
|
-
// async initByPhone(phone:string) {
|
62
|
-
// var d = await User.getUserDocByPhone(phone);
|
63
|
-
// this.initViaSnapshotDoc(d);
|
64
|
-
// }
|
65
|
-
|
66
|
-
// initViaSnapshotDoc(doc) {
|
67
|
-
// var _data = doc.data();
|
68
|
-
// this.id = _data.id;
|
69
|
-
// this.phone = _data.phone;
|
70
|
-
// this.companies = _data.companies;
|
71
|
-
// }
|
72
|
-
|
73
|
-
// static async getUserDocByPhone(phone) {
|
74
|
-
// const coRef = db.collection("Users");
|
75
|
-
// const snapshot = await coRef.where("phone", "==", phone).limit(1).get();
|
76
|
-
// if (snapshot.empty) {
|
77
|
-
// throw "Phone " + phone + " not found";
|
78
|
-
// } else {
|
79
|
-
// var rdoc;
|
80
|
-
// snapshot.forEach((doc) => {
|
81
|
-
// console.log(doc.id, "=>", doc.data());
|
82
|
-
// rdoc = doc;
|
83
|
-
// });
|
84
|
-
// return rdoc;
|
85
|
-
// }
|
86
|
-
// }
|
87
|
-
|
88
|
-
// async getUserLocation() {
|
89
|
-
// const coRef = db.collection("Users/" + this.id + "/location");
|
90
|
-
// const snapshot = await coRef.limit(10).get();
|
91
|
-
// if (snapshot.empty) {
|
92
|
-
// throw "Location " + this.id + " not found";
|
93
|
-
// } else {
|
94
|
-
// var rdoc;
|
95
|
-
// snapshot.forEach((doc) => {
|
96
|
-
// console.log(doc.id, "=>", doc.data());
|
97
|
-
// rdoc = doc;
|
98
|
-
// });
|
99
|
-
// return rdoc;
|
100
|
-
// }
|
101
|
-
// }
|
102
|
-
|
103
|
-
static async initUsers(firestore: admin.firestore.Firestore) {
|
104
|
-
let document = firestore.collection("Users").doc();
|
105
|
-
await document.set({
|
106
|
-
id: document.id,
|
107
|
-
});
|
108
|
-
return "success";
|
109
|
-
}
|
110
|
-
|
111
|
-
static async getUsersListByManger(
|
112
|
-
firestore: admin.firestore.Firestore,
|
113
|
-
nickName: string
|
114
|
-
) {
|
115
|
-
let companyId = await Company.getCompanyIdbyNickname(firestore, nickName);
|
116
|
-
let snapshot = await firestore
|
117
|
-
.collection("Companies")
|
118
|
-
.doc(companyId)
|
119
|
-
.collection("Users")
|
120
|
-
.get();
|
121
|
-
let map = new Map();
|
122
|
-
for (let element of snapshot.docs) {
|
123
|
-
if (element.data().reportingTo) {
|
124
|
-
for (let data of element.data().reportingTo) {
|
125
|
-
if (map.has(data)) {
|
126
|
-
let newId = map.get(data);
|
127
|
-
newId.push(element.data().id);
|
128
|
-
map.set(data, newId);
|
129
|
-
} else {
|
130
|
-
map.set(data, [element.data().id]);
|
131
|
-
}
|
132
|
-
}
|
133
|
-
}
|
134
|
-
}
|
135
|
-
return map;
|
136
|
-
}
|
137
|
-
|
138
|
-
static async getUserPhonebyUserId(firestore:admin.firestore.Firestore,userId:string){
|
139
|
-
const queryForNumber = await firestore.collection("Users")
|
140
|
-
.where("id", "==", userId)
|
141
|
-
.get();
|
142
|
-
const phoneFetchingDocData = queryForNumber.docs.map((doc) => doc.data());
|
143
|
-
var number = phoneFetchingDocData[0]["phone"];
|
144
|
-
return number;
|
145
|
-
}
|
146
|
-
|
147
|
-
static async getUserIdByPhone(firestore: admin.firestore.Firestore,
|
148
|
-
phone: string) {
|
149
|
-
if(phone[0] != "+"){
|
150
|
-
phone = `+${phone}`;
|
151
|
-
}
|
152
|
-
const userInfo = await firestore.collection("Users")
|
153
|
-
.where("phone", "==", phone)
|
154
|
-
.get();
|
155
|
-
let userId: string = "";
|
156
|
-
userInfo.docs.forEach(info => {
|
157
|
-
userId = info.data().id;
|
158
|
-
})
|
159
|
-
return userId;
|
160
|
-
}
|
161
|
-
|
162
|
-
static async getUserInfoById(firestore: admin.firestore.Firestore,
|
163
|
-
userId: string,
|
164
|
-
companyId: string) {
|
165
|
-
const userInfoDoc = await firestore.collection("Companies")
|
166
|
-
.doc(companyId)
|
167
|
-
.collection("Users")
|
168
|
-
.doc(userId)
|
169
|
-
.get();
|
170
|
-
|
171
|
-
const userInfo = userInfoDoc.data();
|
172
|
-
return userInfo;
|
173
|
-
}
|
174
|
-
|
175
|
-
static async getUsersListByCompanyNickName(firestore: admin.firestore.Firestore,
|
176
|
-
nickName: string) {
|
177
|
-
console.log("Getting users list");
|
178
|
-
const companyId = await Company.getCompanyIdbyNickname(firestore, nickName);
|
179
|
-
const usersList_snapshot = await firestore.collection("Companies")
|
180
|
-
.doc(companyId)
|
181
|
-
.collection("Users")
|
182
|
-
.select("name", "id", "phone")
|
183
|
-
.get();
|
184
|
-
let usersList: any[] = [];
|
185
|
-
usersList_snapshot.forEach((doc) => {
|
186
|
-
usersList.push(doc.data());
|
187
|
-
})
|
188
|
-
return usersList;
|
189
|
-
}
|
190
|
-
|
191
|
-
static async deleteUser(firebase:admin.firestore.Firestore,
|
192
|
-
auth: any,
|
193
|
-
arrayRemove:any,
|
194
|
-
nickName:string,
|
195
|
-
phone:string){
|
196
|
-
let userId = await User.getUserIdByPhone(firebase,phone)
|
197
|
-
console.log(phone)
|
198
|
-
let companyId = await Company.getCompanyIdByNickName(firebase,nickName)
|
199
|
-
|
200
|
-
await firebase.collection("Companies")
|
201
|
-
.doc(companyId)
|
202
|
-
.collection("Users")
|
203
|
-
.doc(userId)
|
204
|
-
.delete()
|
205
|
-
console.log("deleted user doc from company")
|
206
|
-
await firebase.collection("Companies")
|
207
|
-
.doc(companyId)
|
208
|
-
.collection("Report-Visibility")
|
209
|
-
.doc(userId)
|
210
|
-
.delete()
|
211
|
-
console.log("deleted user report visibility")
|
212
|
-
let companyDoc = await firebase.collection("Companies")
|
213
|
-
.doc(companyId)
|
214
|
-
.get()
|
215
|
-
companyDoc.ref.update({
|
216
|
-
users: arrayRemove(userId)
|
217
|
-
})
|
218
|
-
let actionDoc = await firebase.collection("Companies")
|
219
|
-
.doc(companyId)
|
220
|
-
.collection("Actions")
|
221
|
-
.where("users","array-contains",userId)
|
222
|
-
.get()
|
223
|
-
actionDoc.forEach((doc)=>{
|
224
|
-
doc.ref.update({
|
225
|
-
users: arrayRemove(userId)
|
226
|
-
})
|
227
|
-
})
|
228
|
-
let userLicenseDoc = await firebase.collection("Licenses")
|
229
|
-
.where("user","==",phone)
|
230
|
-
.get()
|
231
|
-
if (!userLicenseDoc.empty) {
|
232
|
-
userLicenseDoc.forEach((doc)=>{
|
233
|
-
doc.ref.delete()
|
234
|
-
})
|
235
|
-
}
|
236
|
-
await firebase.collection("Feeds")
|
237
|
-
.doc(userId)
|
238
|
-
.delete();
|
239
|
-
// await firebase.collection("Feeds").doc(userId).delete()
|
240
|
-
await auth.deleteUser(userId)
|
241
|
-
await firebase.collection("Users").doc(userId).delete()
|
242
|
-
return `${userId} Deleted successfully`
|
243
|
-
}
|
244
|
-
|
245
|
-
static async getApps(firestore: admin.firestore.Firestore, phone: string, nickName: string) {
|
246
|
-
const userId = await User.getUserIdByPhone(firestore, phone);
|
247
|
-
const companyId = await Company.getCompanyIdByNickName(firestore, nickName);
|
248
|
-
const userAppsInfo = await firestore.collection("Companies")
|
249
|
-
.doc(companyId)
|
250
|
-
.collection("Actions")
|
251
|
-
.where("actionType", "==", "activitySelector")
|
252
|
-
.where("users", "array-contains", userId)
|
253
|
-
.get();
|
254
|
-
const userApps = userAppsInfo.docs.map((doc) => {
|
255
|
-
const app = doc.data();
|
256
|
-
return {
|
257
|
-
id: app.id,
|
258
|
-
name: app.name,
|
259
|
-
displayName: app.displayName,
|
260
|
-
icon: app.icon
|
261
|
-
}
|
262
|
-
})
|
263
|
-
return userApps;
|
264
|
-
}
|
265
|
-
|
266
|
-
static async getActionsByUserApp(firestore: admin.firestore.Firestore,
|
267
|
-
phone: string,
|
268
|
-
nickName: string,
|
269
|
-
actionId: string) {
|
270
|
-
const companyId = await Company.getCompanyIdByNickName(firestore, nickName);
|
271
|
-
const actionList = await firestore.collection("Companies")
|
272
|
-
.doc(companyId)
|
273
|
-
.collection("Report-Actions")
|
274
|
-
.where("activityFor", "==", actionId)
|
275
|
-
.get();
|
276
|
-
const actionIdsList = actionList.docs.map((doc) => {
|
277
|
-
return doc.id;
|
278
|
-
})
|
279
|
-
const userId = await User.getUserIdByPhone(firestore, phone);
|
280
|
-
const actionsInfo = await firestore.collection("Companies")
|
281
|
-
.doc(companyId)
|
282
|
-
.collection("Actions")
|
283
|
-
.where("id", "in", actionIdsList)
|
284
|
-
.where("users", "array-contains", userId)
|
285
|
-
.get();
|
286
|
-
const actions = actionsInfo.docs.map((doc) => {
|
287
|
-
const actionInfo = doc.data();
|
288
|
-
return {
|
289
|
-
name: actionInfo.name,
|
290
|
-
displayName: actionInfo.displayName,
|
291
|
-
icon: actionInfo.icon,
|
292
|
-
id: actionInfo.id
|
293
|
-
}
|
294
|
-
})
|
295
|
-
console.log(actions);
|
296
|
-
return actions;
|
297
|
-
}
|
298
|
-
|
299
|
-
static async getHostsPhoneList(firestore: admin.firestore.Firestore,
|
300
|
-
companyId: string) {
|
301
|
-
try {
|
302
|
-
const hostsList = await firestore.collection("Companies")
|
303
|
-
.doc(companyId)
|
304
|
-
.collection("Users")
|
305
|
-
.where("roles", "array-contains", "host")
|
306
|
-
.get();
|
307
|
-
const hostPhoneList = hostsList.docs.map((hostDoc: any) => {
|
308
|
-
console.log(hostDoc.data());
|
309
|
-
return hostDoc.data().phone;
|
310
|
-
})
|
311
|
-
return hostPhoneList;
|
312
|
-
} catch(error) {
|
313
|
-
console.log(error);
|
314
|
-
return [];
|
315
|
-
}
|
316
|
-
}
|
317
|
-
}
|
318
|
-
|
319
|
-
export { User };
|
@@ -1,100 +0,0 @@
|
|
1
|
-
import { createCipheriv, createDecipheriv } from "crypto";
|
2
|
-
import { createInterface } from "readline";
|
3
|
-
|
4
|
-
class Utilities {
|
5
|
-
static formatTimeTo12hr(epochTime: number) {
|
6
|
-
const dateObj = new Date(epochTime);
|
7
|
-
let hrs = dateObj.getHours();
|
8
|
-
const amOrPm = hrs >= 12 ? "pm" : "am";
|
9
|
-
hrs = (hrs % 12) || 12;
|
10
|
-
const formattedTime = `${this.padWithZero(String(hrs))}:${this.padWithZero(String(dateObj.getMinutes()))} ${amOrPm}`;
|
11
|
-
return formattedTime;
|
12
|
-
}
|
13
|
-
|
14
|
-
static padWithZero(str: string) {
|
15
|
-
return str.padStart(2, "0");
|
16
|
-
}
|
17
|
-
|
18
|
-
static async getTimeFromEpoch(time:number){
|
19
|
-
return new Date(time).toLocaleTimeString("en-GB", {timeZone: "asia/kolkata",hour: '2-digit', minute: '2-digit',hourCycle: "h12"})
|
20
|
-
}
|
21
|
-
|
22
|
-
static dateFromEpochTime(epochTime: number) {
|
23
|
-
const dateObj = new Date(epochTime);
|
24
|
-
const date = `${this.padWithZero(String(dateObj.getDate()))}/`;
|
25
|
-
const month = `${this.padWithZero(String(dateObj.getMonth()))}/`;
|
26
|
-
const year = `${dateObj.getFullYear()}`;
|
27
|
-
return date + month + year;
|
28
|
-
}
|
29
|
-
|
30
|
-
static async epochToMySqlDateTime (epochTime: number) {
|
31
|
-
const date = new Date(epochTime);
|
32
|
-
const dateTimeInfo = date.toISOString().split("T");
|
33
|
-
const result = dateTimeInfo[0] + " " + dateTimeInfo[1].split(".")[0];
|
34
|
-
return result;
|
35
|
-
}
|
36
|
-
|
37
|
-
static async readLineAsync(msg: string, readLineInterface: any) {
|
38
|
-
return new Promise((resolve) => {
|
39
|
-
readLineInterface.question(msg, (userRes: string) => {
|
40
|
-
resolve(userRes);
|
41
|
-
})
|
42
|
-
})
|
43
|
-
}
|
44
|
-
|
45
|
-
static readLineClose(readLineInterface: any) {
|
46
|
-
readLineInterface.close();
|
47
|
-
}
|
48
|
-
|
49
|
-
static async hold(readline: any) {
|
50
|
-
const response: any = await this.readLineAsync("is wait over: ", readline);
|
51
|
-
console.log("response: ", response);
|
52
|
-
if (response.toLowerCase() === "yes") {
|
53
|
-
return;
|
54
|
-
} else {
|
55
|
-
await this.hold(readline);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
static async encryptAString(secretText: string) {
|
60
|
-
try {
|
61
|
-
// Encryption
|
62
|
-
const algorithm = 'aes-256-cbc';
|
63
|
-
// const key = randomBytes(32);
|
64
|
-
const key = "wearethebestoneswearethebestones"; // Replace with your secret key
|
65
|
-
// const iv = randomBytes(16); // Initialization Vector
|
66
|
-
const iv = "wearethebestones"; // Initialization Vector
|
67
|
-
|
68
|
-
const cipher = createCipheriv(algorithm, key, iv);
|
69
|
-
let encryptedString = cipher.update(secretText, 'utf8', 'hex');
|
70
|
-
encryptedString += cipher.final('hex');
|
71
|
-
return encryptedString;
|
72
|
-
} catch(error: any) {
|
73
|
-
console.log(error.message);
|
74
|
-
throw {
|
75
|
-
message: error.message
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
static async decryptEncryptedStr(encryptedString: string) {
|
81
|
-
try {
|
82
|
-
const algorithm = 'aes-256-cbc';
|
83
|
-
const key = "wearethebestoneswearethebestones"; // Replace with your secret key
|
84
|
-
// const iv = randomBytes(16); // Initialization Vector
|
85
|
-
const iv = "wearethebestones"; // Initialization Vector
|
86
|
-
// Decryption
|
87
|
-
const decipher = createDecipheriv(algorithm, key, iv);
|
88
|
-
let decryptedString = decipher.update(encryptedString, 'hex', 'utf8');
|
89
|
-
decryptedString += decipher.final('utf8');
|
90
|
-
return decryptedString;
|
91
|
-
} catch(error: any) {
|
92
|
-
console.log(error.message);
|
93
|
-
throw {
|
94
|
-
message: error.message
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}
|
98
|
-
}
|
99
|
-
|
100
|
-
export { Utilities };
|
@@ -1,71 +0,0 @@
|
|
1
|
-
import { Company } from "../company.model";
|
2
|
-
import { Post } from "../post.model";
|
3
|
-
import * as admin from "firebase-admin";
|
4
|
-
import { Utilities } from "../utility.model";
|
5
|
-
import { Pool } from "mysql2";
|
6
|
-
import CurdService from "../crud/crud";
|
7
|
-
|
8
|
-
class Acknowledgement extends Post {
|
9
|
-
static async setIncomingInfoToAcknowledgement(
|
10
|
-
invitationInfo: any,
|
11
|
-
post: Acknowledgement,
|
12
|
-
toBeUpdatedDoc: any
|
13
|
-
) {
|
14
|
-
post.actionEvent = invitationInfo.extra.actionEvent;
|
15
|
-
post.actionId = invitationInfo.extra.actionId;
|
16
|
-
post.actionName = invitationInfo.extra.actionName;
|
17
|
-
post.actionType = invitationInfo.extra.actionType;
|
18
|
-
post.companyId = invitationInfo.extra.companyId;
|
19
|
-
post.createdAt = invitationInfo.extra.createdAt;
|
20
|
-
post.description = "Meeting Completed";
|
21
|
-
post.eventId = invitationInfo.extra.eventId;
|
22
|
-
post.isGeofence = invitationInfo.extra.isGeofence;
|
23
|
-
post.userId = invitationInfo.userId;
|
24
|
-
const newExtraData = await this.modifyExtraDAtaForAcknowledgement(
|
25
|
-
toBeUpdatedDoc
|
26
|
-
);
|
27
|
-
post.extraData = newExtraData;
|
28
|
-
post.time = invitationInfo.extra.time;
|
29
|
-
return post;
|
30
|
-
}
|
31
|
-
|
32
|
-
static async modifyExtraDAtaForAcknowledgement(toBeUpdatedDoc: any) {
|
33
|
-
return toBeUpdatedDoc;
|
34
|
-
}
|
35
|
-
|
36
|
-
static async updateVisitEntryOnAck(
|
37
|
-
connection: Pool,
|
38
|
-
visitId: string,
|
39
|
-
acknowledgedTime: string,
|
40
|
-
approverPhone: string
|
41
|
-
) {
|
42
|
-
const crudServicce = new CurdService(connection)
|
43
|
-
try {
|
44
|
-
const qryString = `UPDATE visits SET
|
45
|
-
meetingTime = '${acknowledgedTime}',
|
46
|
-
approvedBy = '${approverPhone}'
|
47
|
-
WHERE visitId='${visitId}'`;
|
48
|
-
await crudServicce.query(qryString)
|
49
|
-
} catch (error: any) {
|
50
|
-
console.log(error.message);
|
51
|
-
throw new Error(error.message);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
|
55
|
-
static async updateVisitEntryOnCheckout(
|
56
|
-
connection: Pool,
|
57
|
-
visitId: string,
|
58
|
-
checkOutTime: string
|
59
|
-
) {
|
60
|
-
const crudServicce = new CurdService(connection);
|
61
|
-
try {
|
62
|
-
const qryString = `UPDATE visits SET checkOutTime = '${checkOutTime}' WHERE visitId = '${visitId}'`;
|
63
|
-
await crudServicce.query(qryString)
|
64
|
-
} catch (error: any) {
|
65
|
-
console.log(error.message);
|
66
|
-
throw new Error(error.message);
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
|
71
|
-
export { Acknowledgement };
|