mobioffice-cli 0.0.1
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/.prettierrc +4 -0
- package/README.md +1 -0
- package/a.js +3 -0
- package/lib/index.js +87 -0
- package/package.json +50 -0
- package/scripts/1.ts +1300 -0
- package/scripts/GCloudPubSub/pub-sub-config.json +12 -0
- package/scripts/GCloudPubSub/visitorAutoRejection.ts +86 -0
- package/scripts/actions/assignUsersFromOneActionToOther.ts +64 -0
- package/scripts/actions/assignUsersListToAction.ts +81 -0
- package/scripts/actions/getActionsListOfUser.ts +42 -0
- package/scripts/actions/getCompanyUserDetails.ts +49 -0
- package/scripts/actions/giveActionToUser.ts +41 -0
- package/scripts/actions/giveUsersToActivitySelector.ts +56 -0
- package/scripts/actions/groupActionsInActivitySelector.ts +101 -0
- package/scripts/actions/modifySummaryReportDB.ts +42 -0
- package/scripts/actions/setUrlToActionStep.ts +18 -0
- package/scripts/actions/syncMySqlAttendanceDBWithFirebase.ts +93 -0
- package/scripts/actions/syncMySqlMeetingsDBWithFirebase.ts +103 -0
- package/scripts/actions/test.ts +29 -0
- package/scripts/actions/transferFeedsOldIdToNew.ts +40 -0
- package/scripts/actions/transformUserIntoManager.ts +89 -0
- package/scripts/argvConfig.js +9 -0
- package/scripts/backUpData/testCode.ts +131 -0
- package/scripts/benaraScripts/addWorkAreaMap.ts +46 -0
- package/scripts/benaraScripts/add_customers.ts +26 -0
- package/scripts/benaraScripts/add_customers_contact.ts +27 -0
- package/scripts/benaraScripts/add_empty_work_area.ts +17 -0
- package/scripts/benaraScripts/assignManagers.ts +35 -0
- package/scripts/benaraScripts/changeCheckInFlag.ts +45 -0
- package/scripts/benaraScripts/createCustomerContactsList.ts +170 -0
- package/scripts/benaraScripts/createUserByDeletingOldUser.ts +70 -0
- package/scripts/benaraScripts/createUsersAreaMapCollection.ts +23 -0
- package/scripts/benaraScripts/createWorkAreaMap.ts +24 -0
- package/scripts/benaraScripts/mapWorkAreasToUsers.ts +112 -0
- package/scripts/companies_data.json +2496 -0
- package/scripts/create_or_update_users.ts +31 -0
- package/scripts/csvToJson/csvToJson.ts +90 -0
- package/scripts/csvToJson/users.json +3896 -0
- package/scripts/db.js +27 -0
- package/scripts/db.json +13 -0
- package/scripts/dbMySql.ts +63 -0
- package/scripts/delete_action_steps.ts +11 -0
- package/scripts/delete_user.ts +71 -0
- package/scripts/dev_companies_data.json +613 -0
- package/scripts/enroll.xlsx +0 -0
- package/scripts/export_users.ts +72 -0
- package/scripts/files/visitorManagementFiles/displayScreen.json +70 -0
- package/scripts/files/visitorManagementFiles/init_report_visibility.ts +79 -0
- package/scripts/firebaseConfig.js +12 -0
- package/scripts/firebaseDocs/deleteIncommingCollection.ts +47 -0
- package/scripts/firebaseDocs/updateDoc.ts +43 -0
- package/scripts/getActionDataIntoJSON/getActionData.ts +68 -0
- package/scripts/get_attendance_by_any_date.ts +14 -0
- package/scripts/get_attendance_by_month.ts +12 -0
- package/scripts/get_attendance_monthly_by_team.ts +11 -0
- package/scripts/get_daily_report.ts +10 -0
- package/scripts/get_mangers.ts +13 -0
- package/scripts/grant_user_license.ts +18 -0
- package/scripts/init_CustomCollection.ts +16 -0
- package/scripts/init_action_steps.ts +28 -0
- package/scripts/init_actions.ts +31 -0
- package/scripts/init_company.ts +18 -0
- package/scripts/init_customer_mysql.ts +12 -0
- package/scripts/init_feed.ts +4 -0
- package/scripts/init_feed_details_screen.ts +14 -0
- package/scripts/init_geofence.ts +26 -0
- package/scripts/init_print_details_screen.ts +14 -0
- package/scripts/init_report_actions.ts +24 -0
- package/scripts/init_report_definition_detail.ts +26 -0
- package/scripts/init_report_definition_summary.ts +16 -0
- package/scripts/init_report_visibility.ts +46 -0
- package/scripts/init_user_customcollection.ts +16 -0
- package/scripts/json/action.json +21 -0
- package/scripts/json/company.json +24 -0
- package/scripts/json/report-action.json +13 -0
- package/scripts/json/report-def-deet.json +43 -0
- package/scripts/json/resp.json +784 -0
- package/scripts/json/steps.json +24 -0
- package/scripts/json/test.ts +49 -0
- package/scripts/mysqlConfig.ts +9 -0
- package/scripts/revoke_or_extend_license.ts +14 -0
- package/scripts/stream.js +4 -0
- package/scripts/testing1.ts +35 -0
- package/scripts/update/doc.json +20 -0
- package/scripts/update/getDocByPath.ts +34 -0
- package/scripts/update/updateDocByPath.ts +47 -0
- package/scripts/update/updateUsersOfCompanies.ts +58 -0
- package/scripts/update_actions.ts +19 -0
- package/scripts/update_actions_steps.ts +19 -0
- package/scripts/update_company.ts +19 -0
- package/scripts/update_geofence.ts +20 -0
- package/scripts/update_managers.ts +16 -0
- package/scripts/visitorMgmt/createArea.ts +68 -0
- package/scripts/visitorMgmt/createArea.txt +3 -0
- package/scripts/visitorMgmt/createVisitorPathInstructionDocs.ts +130 -0
- package/scripts/visitorMgmt/createVisitorPathInstructionDocs.txt +18 -0
- package/scripts/visitorMgmt/encryptDateString.ts +71 -0
- package/scripts/visitorMgmt/makeHostsManagersOfEachOther.ts +117 -0
- package/scripts/whatsapp_gupshup/sendMessage.ts +97 -0
- package/src/index.ts +87 -0
- package/src/models/Feed-Details-Screen.model.ts +29 -0
- package/src/models/action.model.ts +355 -0
- package/src/models/actions/doffing.ts +71 -0
- package/src/models/actions/folding.ts +39 -0
- package/src/models/attendance.model.ts +615 -0
- package/src/models/cicoPost.model.ts +20 -0
- package/src/models/company.model.ts +975 -0
- package/src/models/contact-us/resquest.model.ts +87 -0
- package/src/models/crud/crud.ts +30 -0
- package/src/models/customCollection.model.ts +47 -0
- package/src/models/customer/customer.model.ts +85 -0
- package/src/models/deviceChangeReq.ts +150 -0
- package/src/models/dispatch.model.ts +99 -0
- package/src/models/feed.models.ts +104 -0
- package/src/models/geofence.model.ts +61 -0
- package/src/models/leaveApplicationPost.model.ts +79 -0
- package/src/models/license.model.ts +215 -0
- package/src/models/log.model.ts +25 -0
- package/src/models/meeting.model.ts +80 -0
- package/src/models/meter.model.ts +62 -0
- package/src/models/missingPunchPost.model.ts +84 -0
- package/src/models/offline.model.ts +1133 -0
- package/src/models/post.model.ts +105 -0
- package/src/models/printDetailsScreen.model.ts +30 -0
- package/src/models/pushNotifications/pushNotification.model.ts +17 -0
- package/src/models/report-actions.model.ts +57 -0
- package/src/models/report-definition-details.model.ts +89 -0
- package/src/models/report-definition.model.ts +26 -0
- package/src/models/report-definitions-summary.model.ts +59 -0
- package/src/models/report-detail-data.model.ts +49 -0
- package/src/models/report-visibility.model.ts +44 -0
- package/src/models/report.model.ts +179 -0
- package/src/models/reportGenerator.model.ts +883 -0
- package/src/models/response.model.ts +31 -0
- package/src/models/steps.factory.model.ts +195 -0
- package/src/models/storeGupShupLog.model.ts +49 -0
- package/src/models/summary.model.ts +63 -0
- package/src/models/tasks/sub-task-group.model.ts +173 -0
- package/src/models/tasks/tags.model.ts +113 -0
- package/src/models/tasks/task-group.model.ts +172 -0
- package/src/models/tasks/task.model.ts +681 -0
- package/src/models/tempCollection.model.ts +398 -0
- package/src/models/user.model.ts +319 -0
- package/src/models/utility.model.ts +100 -0
- package/src/models/visitorManagement/acknowledgement.model.ts +71 -0
- package/src/models/visitorManagement/invite.model.ts +406 -0
- package/src/models/visitorManagement/newIn.model.ts +82 -0
- package/src/models/visitorManagement/selfServe.model.ts +58 -0
- package/src/models/worklogPost.model.ts +8 -0
- package/src/services/customer.ts +382 -0
- package/src/services/meeting.ts +123 -0
- package/test/1.ts +13 -0
- package/test/db.js +19 -0
- package/test/firebaseConfig.js +1 -0
- package/tsconfig.json +16 -0
@@ -0,0 +1,355 @@
|
|
1
|
+
import { Company } from "./company.model";
|
2
|
+
import * as admin from "firebase-admin";
|
3
|
+
import { Attendance } from "./attendance.model";
|
4
|
+
|
5
|
+
class Action {
|
6
|
+
actionType: string = "";
|
7
|
+
companyId: string = "";
|
8
|
+
displayName: string = "";
|
9
|
+
end_label: string = "";
|
10
|
+
icon: string = "";
|
11
|
+
id: string = "";
|
12
|
+
idForReport: string = "";
|
13
|
+
name: string = "";
|
14
|
+
order: number = 0;
|
15
|
+
require_location: boolean = false;
|
16
|
+
require_selfie: boolean = false;
|
17
|
+
startCollectionName: string = "";
|
18
|
+
start_label: string = "";
|
19
|
+
users: string[] = [];
|
20
|
+
forApproval?: boolean = false;
|
21
|
+
|
22
|
+
initViaSnapshotDoc(doc: any) {
|
23
|
+
var _data = doc.data();
|
24
|
+
this.companyId = _data.companyId;
|
25
|
+
this.displayName = _data.displayName;
|
26
|
+
this.end_label = _data.end_label;
|
27
|
+
this.icon = _data.icon;
|
28
|
+
this.id = _data.id;
|
29
|
+
this.idForReport = _data.idForReport;
|
30
|
+
this.name = _data.name;
|
31
|
+
this.order = _data.order;
|
32
|
+
this.require_location = _data.require_location;
|
33
|
+
this.require_selfie = _data.require_selfie;
|
34
|
+
this.startCollectionName = _data.startCollectionName;
|
35
|
+
this.start_label = _data.start_label;
|
36
|
+
this.users = _data.users;
|
37
|
+
}
|
38
|
+
|
39
|
+
static ActionType = {
|
40
|
+
CICO: "checkInOut",
|
41
|
+
REPORT: "report",
|
42
|
+
WORKLOG: "worklog",
|
43
|
+
};
|
44
|
+
|
45
|
+
static async getActionByName(
|
46
|
+
firestore: admin.firestore.Firestore,
|
47
|
+
name: string,
|
48
|
+
nickname: string
|
49
|
+
) {
|
50
|
+
let companyId = await Company.getCompanyIdbyNickname(firestore, nickname);
|
51
|
+
const snap = await firestore
|
52
|
+
.collection("Companies")
|
53
|
+
.doc(companyId)
|
54
|
+
.collection("Actions")
|
55
|
+
.where("name", "==", name)
|
56
|
+
.get();
|
57
|
+
const data = snap.docs.map((obj) => obj.data());
|
58
|
+
return data[0];
|
59
|
+
}
|
60
|
+
|
61
|
+
static async getActionId(
|
62
|
+
firestore: admin.firestore.Firestore,
|
63
|
+
companyId: string,
|
64
|
+
action: string
|
65
|
+
) {
|
66
|
+
let user_attendance = await firestore
|
67
|
+
.collection("Companies")
|
68
|
+
.doc(companyId)
|
69
|
+
.collection("Actions")
|
70
|
+
.where("name", "==", action)
|
71
|
+
.get();
|
72
|
+
let actionId = user_attendance.docs.map((doc) => doc.data());
|
73
|
+
return actionId[0]?.id;
|
74
|
+
}
|
75
|
+
|
76
|
+
static async getActionGroupId(
|
77
|
+
firestore: admin.firestore.Firestore,
|
78
|
+
companyId: string,
|
79
|
+
actionId: string
|
80
|
+
) {
|
81
|
+
try {
|
82
|
+
let reportActionDocArr = await firestore
|
83
|
+
.collection("Companies")
|
84
|
+
.doc(companyId)
|
85
|
+
.collection("Report-Actions")
|
86
|
+
.where("id", "==", actionId)
|
87
|
+
.get();
|
88
|
+
if (reportActionDocArr.docs.length) {
|
89
|
+
const reportActionData = reportActionDocArr.docs[0].data();
|
90
|
+
return reportActionData.activityFor;
|
91
|
+
} else {
|
92
|
+
return null;
|
93
|
+
}
|
94
|
+
} catch(error) {
|
95
|
+
return null;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
static async getActionIdbyDisplayName(
|
100
|
+
firestore: admin.firestore.Firestore,
|
101
|
+
companyId: string,
|
102
|
+
action: string
|
103
|
+
) {
|
104
|
+
let user_attendance = await firestore
|
105
|
+
.collection("Companies")
|
106
|
+
.doc(companyId)
|
107
|
+
.collection("Actions")
|
108
|
+
.where("displayName", "==", action)
|
109
|
+
.get();
|
110
|
+
let actionId = user_attendance.docs.map((doc) => doc.data());
|
111
|
+
return actionId[0].id;
|
112
|
+
}
|
113
|
+
|
114
|
+
static async getActionIdByDisplayName(firestore:admin.firestore.Firestore,companyId:string,action:string){
|
115
|
+
let user_attendance = await firestore.collection('Companies').doc(companyId).collection('Actions').where('displayName','==',action).get()
|
116
|
+
let actionId = user_attendance.docs.map((doc)=>doc.data())
|
117
|
+
return actionId[0].id
|
118
|
+
}
|
119
|
+
|
120
|
+
static async addUserIdInAction(firestore:admin.firestore.Firestore,arrayUnion:any,actionName:string,companyId:string,userId:string){
|
121
|
+
let actionId = await Action.getActionId(firestore,companyId,actionName);
|
122
|
+
await firestore.collection('Companies').doc(companyId).collection('Actions').doc(actionId).update({
|
123
|
+
users:arrayUnion(userId)
|
124
|
+
})
|
125
|
+
return "updated"
|
126
|
+
}
|
127
|
+
|
128
|
+
static async getActionNamebyUser(firestore:admin.firestore.Firestore,companyId:string,UserId:string){
|
129
|
+
try {
|
130
|
+
let snapshot = await firestore.collection("Companies").doc(companyId).collection('Actions').where('users','array-contains',UserId).get()
|
131
|
+
let actions = snapshot.docs.map((doc)=>{
|
132
|
+
return doc.data().name
|
133
|
+
})
|
134
|
+
return actions
|
135
|
+
} catch (error: any) {
|
136
|
+
throw new Error(error);
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
// static async getActionsByPhone(firestore:admin.firestore.Firestore,phone:string) {
|
141
|
+
// var companies = await Company.getCompanyDocByPhone(phone);
|
142
|
+
// var uid = ""; //User.getIdByPhone(phone);
|
143
|
+
// var actions = [];
|
144
|
+
// for (var company of companies) {
|
145
|
+
// var actionModel = await db
|
146
|
+
// .collection("Companies")
|
147
|
+
// .doc(company.id)
|
148
|
+
// .collection("Actions")
|
149
|
+
// .where("users", "array-contains", uid)
|
150
|
+
// .get();
|
151
|
+
// actions.push(actionModel);
|
152
|
+
// }
|
153
|
+
// return actions;
|
154
|
+
// }
|
155
|
+
|
156
|
+
static async getOrCreateAction(
|
157
|
+
firestore: admin.firestore.Firestore,
|
158
|
+
actionMap: any
|
159
|
+
) {
|
160
|
+
actionMap.companyId = await Company.getCompanyIdbyNickname(
|
161
|
+
firestore,
|
162
|
+
actionMap.companyId
|
163
|
+
);
|
164
|
+
var action = await firestore
|
165
|
+
.collection("Companies")
|
166
|
+
.doc(actionMap.companyId)
|
167
|
+
.collection("Actions")
|
168
|
+
.where("name", "==", actionMap.name)
|
169
|
+
.get();
|
170
|
+
if(action.empty){
|
171
|
+
//actionMap = await Action.convertingActionDataType(actionMap)
|
172
|
+
let actionRef = firestore
|
173
|
+
.collection("Companies")
|
174
|
+
.doc(actionMap.companyId)
|
175
|
+
.collection("Actions")
|
176
|
+
.doc();
|
177
|
+
actionMap.id = actionRef.id;
|
178
|
+
if(actionMap.actionType == "report" || actionMap.actionType == "doffing" ||actionMap.actionType == "folding"){
|
179
|
+
actionMap.idForReport = actionRef.id;
|
180
|
+
}
|
181
|
+
await actionRef.set({ ...actionMap });
|
182
|
+
return actionMap;
|
183
|
+
}
|
184
|
+
else {
|
185
|
+
return action.docs[0].data();
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
static async convertingActionDataType(data:any){
|
190
|
+
if(data['order']){
|
191
|
+
data.order = Number(data.order)
|
192
|
+
}
|
193
|
+
if(data['require_location']){
|
194
|
+
data['require_location'] = await Action.booleanConvertion(data['require_location']);
|
195
|
+
}
|
196
|
+
if(data['require_selfie']){
|
197
|
+
data['require_selfie'] = await Action.booleanConvertion(data['require_selfie']);
|
198
|
+
}
|
199
|
+
if(data['forApproval']){
|
200
|
+
data['forApproval'] = await Action.booleanConvertion(data['forApproval']);
|
201
|
+
}
|
202
|
+
if(data['isFaceDetected']){
|
203
|
+
data['isFaceDetected'] = await Action.booleanConvertion(data['isFaceDetected']);
|
204
|
+
}
|
205
|
+
return data
|
206
|
+
}
|
207
|
+
|
208
|
+
static async booleanConvertion(value:any){
|
209
|
+
if(value){
|
210
|
+
value = (value.toLowerCase() == "true");
|
211
|
+
}else{
|
212
|
+
value = ""
|
213
|
+
}
|
214
|
+
return value
|
215
|
+
}
|
216
|
+
|
217
|
+
static async updateActions(firestore:admin.firestore.Firestore,arrayUnion:any,nickName:string,actionName:string,newDetails:any){
|
218
|
+
let companyId = await Company.getCompanyIdbyNickname(firestore,nickName);
|
219
|
+
let actionId = await Action.getActionId(firestore,companyId,actionName)
|
220
|
+
let snapshot = await firestore.collection("Companies").doc(companyId).collection('Actions').doc(actionId)
|
221
|
+
//newDetails = await Action.convertingActionDataType(newDetails)
|
222
|
+
if(newDetails.users){
|
223
|
+
for(let user of newDetails.users){
|
224
|
+
console.log(user)
|
225
|
+
snapshot.update({
|
226
|
+
users:arrayUnion(user)
|
227
|
+
})
|
228
|
+
}
|
229
|
+
|
230
|
+
delete newDetails.users
|
231
|
+
}
|
232
|
+
snapshot.update(newDetails)
|
233
|
+
return 'Updated successfully'
|
234
|
+
}
|
235
|
+
|
236
|
+
static async actionStep(firestore:admin.firestore.Firestore,nickName:string,actionName:string,actionStep:any){
|
237
|
+
// actionStep = await Action.convertingActionStepsDataType(actionStep)
|
238
|
+
let companyId = await Company.getCompanyIdbyNickname(firestore,nickName)
|
239
|
+
let action = await Action.getActionByName(firestore,actionName,nickName)
|
240
|
+
const result = await Action.getOrCreateStep(firestore,actionStep,companyId,action)
|
241
|
+
return result;
|
242
|
+
}
|
243
|
+
|
244
|
+
static async convertingActionStepsDataType(data:any){
|
245
|
+
if(data.order){
|
246
|
+
data.order = Number(data.order)
|
247
|
+
}
|
248
|
+
if(data.field){
|
249
|
+
if(data.field.isRequired){
|
250
|
+
data.field.isRequired = await Action.booleanConvertion(data.field.isRequired)
|
251
|
+
}
|
252
|
+
if(data.field.isMultiline){
|
253
|
+
data.field.isMultiline = await Action.booleanConvertion(data.field.isMultiline)
|
254
|
+
}
|
255
|
+
if(data.field.autoChangePage){
|
256
|
+
data.field.autoChangePage = await Action.booleanConvertion(data.field.autoChangePage)
|
257
|
+
}
|
258
|
+
if(data.field.isAPICalled){
|
259
|
+
data.field.isAPICalled = await Action.booleanConvertion(data.field.isAPICalled)
|
260
|
+
}
|
261
|
+
if(data.field.isImagePickerNeeded){
|
262
|
+
data.field.isImagePickerNeeded = await Action.booleanConvertion(data.field.isImagePickerNeeded)
|
263
|
+
}
|
264
|
+
}
|
265
|
+
return data;
|
266
|
+
}
|
267
|
+
|
268
|
+
|
269
|
+
static async getOrCreateStep(firestore:admin.firestore.Firestore,step:any,companyId:string, action:any) {
|
270
|
+
let docRef = firestore
|
271
|
+
.collection("Companies")
|
272
|
+
.doc(companyId)
|
273
|
+
.collection("Actions")
|
274
|
+
.doc(action.id)
|
275
|
+
.collection(action.startCollectionName)
|
276
|
+
let snapshot = await docRef.where('label','==',step.label).get()
|
277
|
+
if(snapshot.empty){
|
278
|
+
let addStep_snapshot = docRef.doc()
|
279
|
+
step.id = addStep_snapshot.id;
|
280
|
+
addStep_snapshot.set({ ...step });
|
281
|
+
return step
|
282
|
+
}else{
|
283
|
+
return snapshot.docs[0].data()
|
284
|
+
}
|
285
|
+
}
|
286
|
+
|
287
|
+
static async updateActionsStep(firestore:admin.firestore.Firestore,nickName:string,actionName:string,actionSteps:any){
|
288
|
+
let companyId = await Company.getCompanyIdbyNickname(firestore,nickName)
|
289
|
+
let action = await Action.getActionByName(firestore,actionName,nickName)
|
290
|
+
let snapshot = await firestore.collection('Companies').doc(companyId).collection('Actions').doc(action.id).collection(action.startCollectionName).where('label','==',actionSteps.label).get()
|
291
|
+
if(snapshot.empty){
|
292
|
+
return `Given data invalid`
|
293
|
+
}else{
|
294
|
+
snapshot.docs[0].ref.update(actionSteps)
|
295
|
+
return snapshot.docs[0].data().id
|
296
|
+
}
|
297
|
+
}
|
298
|
+
|
299
|
+
static actionTemplate = {
|
300
|
+
actionType: "",
|
301
|
+
companyId: "",
|
302
|
+
displayName: "",
|
303
|
+
end_label: "",
|
304
|
+
icon: "",
|
305
|
+
id: "",
|
306
|
+
idForReport: "",
|
307
|
+
name: "",
|
308
|
+
order: 3,
|
309
|
+
require_location: false,
|
310
|
+
require_selfie: false,
|
311
|
+
startCollectionName: "",
|
312
|
+
start_label: "",
|
313
|
+
users: [],
|
314
|
+
};
|
315
|
+
|
316
|
+
static async deleteActionSteps(firestore:admin.firestore.Firestore,nickName:string,actionName:string,label:string){
|
317
|
+
let companyId = await Company.getCompanyIdbyNickname(firestore,nickName)
|
318
|
+
let action = await Action.getActionByName(firestore,actionName,nickName)
|
319
|
+
let snapshot = await firestore.collection("Companies").doc(companyId).collection("Actions").doc(action.id).collection(action.startCollectionName).where('label','==',label).get()
|
320
|
+
|
321
|
+
if(snapshot.empty){
|
322
|
+
return `Given data invalid`
|
323
|
+
}else{
|
324
|
+
snapshot.docs[0].ref.delete()
|
325
|
+
return "Deleted successfully"
|
326
|
+
}
|
327
|
+
}
|
328
|
+
|
329
|
+
static async updateMeetingStatus(firestore:admin.firestore.Firestore,companyId:string,userId:string,eventId:string,time:number){
|
330
|
+
let actionId = await Action.getActionId(firestore,companyId,"meeting")
|
331
|
+
const meetingDocRef = await firestore.collection("Companies")
|
332
|
+
.doc(companyId)
|
333
|
+
.collection("Actions")
|
334
|
+
.doc(actionId)
|
335
|
+
.collection("meetings")
|
336
|
+
.where("userId","==",userId)
|
337
|
+
.where("eventId","==",eventId)
|
338
|
+
.get()
|
339
|
+
if (meetingDocRef.docs.length) {
|
340
|
+
let extraData = meetingDocRef.docs[0].data().extraData
|
341
|
+
extraData = {
|
342
|
+
...extraData,
|
343
|
+
"End Time":time
|
344
|
+
}
|
345
|
+
console.log(extraData)
|
346
|
+
meetingDocRef.forEach((doc)=>{
|
347
|
+
doc.ref.update({
|
348
|
+
extraData:extraData
|
349
|
+
})
|
350
|
+
})
|
351
|
+
}
|
352
|
+
}
|
353
|
+
}
|
354
|
+
|
355
|
+
export { Action };
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { Firestore } from "@google-cloud/firestore";
|
2
|
+
import * as admin from "firebase-admin";
|
3
|
+
import { Offline } from "../offline.model";
|
4
|
+
import { Post } from "../post.model";
|
5
|
+
import { User } from "../user.model";
|
6
|
+
|
7
|
+
class Doffing {
|
8
|
+
static async doffing(firestore: admin.firestore.Firestore,
|
9
|
+
doffingInfo: any,
|
10
|
+
submitObject: any,
|
11
|
+
status: string,
|
12
|
+
infoForExtraData: any) {
|
13
|
+
try {
|
14
|
+
const companyId = doffingInfo.companyId;
|
15
|
+
const userId = doffingInfo.userId;
|
16
|
+
const userInfo = await User.getUserInfoById(firestore, userId,
|
17
|
+
companyId);
|
18
|
+
console.log("going to create doffing card object");
|
19
|
+
const doffingCardObj = await this.createDoffingCard(doffingInfo, userInfo, submitObject, status, infoForExtraData);
|
20
|
+
let eventId = await Post.createNewPost(firestore, doffingCardObj);
|
21
|
+
// const userRef = await Offline.createRefForUser(firestore, companyId, userId);
|
22
|
+
// console.log("sending doffing card to user");
|
23
|
+
// await userRef.set(doffingCardObj);
|
24
|
+
// console.log("sending doffing card to managers");
|
25
|
+
// await Offline.sendFeedToManagers(firestore, companyId, userId, doffingCardObj);
|
26
|
+
// await Offline.deleteInfoFromIncoming(firestore, doffingInfo.id);
|
27
|
+
// console.log("deleted doc from incoming");
|
28
|
+
return eventId;
|
29
|
+
} catch (error: any) {
|
30
|
+
throw new Error(error.message)
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
static async createDoffingCard(doffingInfo: any, userInfo: any, submitObject: any, status: string, infoForExtraData: any) {
|
35
|
+
let extraData = doffingInfo.extra.extraData;
|
36
|
+
extraData.time = doffingInfo.createdAt;
|
37
|
+
extraData.userName = userInfo.name;
|
38
|
+
extraData.designNo = submitObject.designNo;
|
39
|
+
extraData.rollNo = submitObject.rollNo;
|
40
|
+
let rollNoList = submitObject.rollNo.split(",");
|
41
|
+
extraData.status = status;
|
42
|
+
extraData.lotNo = "";
|
43
|
+
extraData.date = new Date(doffingInfo.createdAt).toLocaleDateString("en-GB");
|
44
|
+
extraData.time = doffingInfo.createdAt;
|
45
|
+
const printInfo = []
|
46
|
+
for (let rollNo of rollNoList) {
|
47
|
+
let obj = {
|
48
|
+
barcodeVal: rollNo,
|
49
|
+
design: submitObject.designNo,
|
50
|
+
isQrCode: true,
|
51
|
+
machine: submitObject.machineNo,
|
52
|
+
meter: submitObject.rollMeter,
|
53
|
+
roll: rollNo,
|
54
|
+
rpm: submitObject.rpm,
|
55
|
+
lot_no: ""
|
56
|
+
}
|
57
|
+
printInfo.push(obj)
|
58
|
+
}
|
59
|
+
extraData.toBePrinted = printInfo;
|
60
|
+
extraData = { ...extraData, ...infoForExtraData }
|
61
|
+
const doffingCard = { ...doffingInfo };
|
62
|
+
doffingCard.actionType = doffingInfo.extra.actionType;
|
63
|
+
doffingCard.actionId = doffingInfo.extra.actionId;
|
64
|
+
doffingCard.description = submitObject.machineNo;
|
65
|
+
delete doffingCard.extra;
|
66
|
+
doffingCard.extraData = extraData;
|
67
|
+
return doffingCard;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
export { Doffing };
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import * as admin from "firebase-admin";
|
2
|
+
import { Offline } from "../offline.model";
|
3
|
+
import { HttpResponseAndErrorHandling } from "../response.model";
|
4
|
+
import { User } from "../user.model";
|
5
|
+
|
6
|
+
class Folding {
|
7
|
+
static async folding(firestore: admin.firestore.Firestore,
|
8
|
+
foldingInfo: any) {
|
9
|
+
try {
|
10
|
+
const companyId = foldingInfo.companyId;
|
11
|
+
const userId = foldingInfo.userId;
|
12
|
+
const userInfo = await User.getUserInfoById(firestore, userId,
|
13
|
+
companyId);
|
14
|
+
console.log("going to create folding card obj");
|
15
|
+
const foldingCardObj = await this.createFoldingCard(foldingInfo, userInfo);
|
16
|
+
const userRef = await Offline.createRefForUser(firestore, companyId, userId);
|
17
|
+
console.log("Sending folding card to user");
|
18
|
+
await userRef.set(foldingCardObj);
|
19
|
+
console.log("sending folding card to managers");
|
20
|
+
await Offline.sendFeedToManagers(firestore, companyId, userId, foldingCardObj);
|
21
|
+
await Offline.deleteInfoFromIncoming(firestore, foldingInfo.id);
|
22
|
+
return new HttpResponseAndErrorHandling(200, "Done", "Successfully sent feeds", null);
|
23
|
+
} catch(error: any) {
|
24
|
+
return new HttpResponseAndErrorHandling(400, "Failed", null, 400);
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
static async createFoldingCard(foldingInfo: any, userInfo: any) {
|
29
|
+
const extraData = foldingInfo.extra.extraData;
|
30
|
+
extraData.time = foldingInfo.createdAt;
|
31
|
+
extraData.userName = userInfo.name;
|
32
|
+
const foldingCard = {...foldingInfo};
|
33
|
+
delete foldingCard.extra;
|
34
|
+
foldingCard.extraData = extraData;
|
35
|
+
return foldingCard;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
export { Folding };
|