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.
Files changed (253) hide show
  1. package/{src/index.ts → lib/index.d.ts} +1 -45
  2. package/lib/models/Feed-Details-Screen.model.d.ts +6 -0
  3. package/lib/models/Feed-Details-Screen.model.js +27 -0
  4. package/lib/models/action.model.d.ts +58 -0
  5. package/lib/models/action.model.js +315 -0
  6. package/lib/models/actions/doffing.d.ts +6 -0
  7. package/lib/models/actions/doffing.js +64 -0
  8. package/lib/models/actions/folding.d.ts +7 -0
  9. package/lib/models/actions/folding.js +37 -0
  10. package/lib/models/attendance.model.d.ts +44 -0
  11. package/lib/models/attendance.model.js +446 -0
  12. package/lib/models/cicoPost.model.d.ts +9 -0
  13. package/lib/models/cicoPost.model.js +19 -0
  14. package/lib/models/company.model.d.ts +67 -0
  15. package/lib/models/company.model.js +725 -0
  16. package/lib/models/contact-us/resquest.model.d.ts +30 -0
  17. package/lib/models/contact-us/resquest.model.js +73 -0
  18. package/lib/models/crud/crud.d.ts +7 -0
  19. package/lib/models/crud/crud.js +27 -0
  20. package/lib/models/customCollection.model.d.ts +9 -0
  21. package/lib/models/customCollection.model.js +40 -0
  22. package/lib/models/customer/customer.model.d.ts +32 -0
  23. package/lib/models/customer/customer.model.js +62 -0
  24. package/lib/models/deviceChangeReq.d.ts +10 -0
  25. package/lib/models/deviceChangeReq.js +138 -0
  26. package/lib/models/dispatch.model.d.ts +14 -0
  27. package/lib/models/dispatch.model.js +93 -0
  28. package/lib/models/feed.models.d.ts +8 -0
  29. package/lib/models/feed.models.js +97 -0
  30. package/lib/models/geofence.model.d.ts +7 -0
  31. package/lib/models/geofence.model.js +61 -0
  32. package/lib/models/leaveApplicationPost.model.d.ts +12 -0
  33. package/lib/models/leaveApplicationPost.model.js +72 -0
  34. package/lib/models/license.model.d.ts +25 -0
  35. package/lib/models/license.model.js +198 -0
  36. package/lib/models/log.model.d.ts +6 -0
  37. package/{src/models/log.model.ts → lib/models/log.model.js} +11 -11
  38. package/lib/models/meeting.model.d.ts +11 -0
  39. package/lib/models/meeting.model.js +79 -0
  40. package/lib/models/meter.model.d.ts +18 -0
  41. package/lib/models/meter.model.js +54 -0
  42. package/lib/models/missingPunchPost.model.d.ts +15 -0
  43. package/lib/models/missingPunchPost.model.js +69 -0
  44. package/lib/models/offline.model.d.ts +70 -0
  45. package/lib/models/offline.model.js +831 -0
  46. package/lib/models/post.model.d.ts +38 -0
  47. package/lib/models/post.model.js +94 -0
  48. package/lib/models/printDetailsScreen.model.d.ts +6 -0
  49. package/lib/models/printDetailsScreen.model.js +27 -0
  50. package/lib/models/pushNotifications/pushNotification.model.d.ts +4 -0
  51. package/lib/models/pushNotifications/pushNotification.model.js +17 -0
  52. package/lib/models/report-actions.model.d.ts +26 -0
  53. package/lib/models/report-actions.model.js +56 -0
  54. package/lib/models/report-definition-details.model.d.ts +13 -0
  55. package/lib/models/report-definition-details.model.js +85 -0
  56. package/lib/models/report-definition.model.d.ts +23 -0
  57. package/lib/models/report-definition.model.js +26 -0
  58. package/lib/models/report-definitions-summary.model.d.ts +8 -0
  59. package/lib/models/report-definitions-summary.model.js +59 -0
  60. package/lib/models/report-detail-data.model.d.ts +46 -0
  61. package/lib/models/report-detail-data.model.js +49 -0
  62. package/lib/models/report-visibility.model.d.ts +7 -0
  63. package/lib/models/report-visibility.model.js +42 -0
  64. package/lib/models/report.model.d.ts +19 -0
  65. package/lib/models/report.model.js +138 -0
  66. package/lib/models/reportGenerator.model.d.ts +164 -0
  67. package/lib/models/reportGenerator.model.js +642 -0
  68. package/lib/models/response.model.d.ts +18 -0
  69. package/lib/models/response.model.js +30 -0
  70. package/lib/models/steps.factory.model.d.ts +172 -0
  71. package/lib/models/steps.factory.model.js +187 -0
  72. package/lib/models/storeGupShupLog.model.d.ts +6 -0
  73. package/lib/models/storeGupShupLog.model.js +51 -0
  74. package/lib/models/summary.model.d.ts +10 -0
  75. package/{src/models/summary.model.ts → lib/models/summary.model.js} +28 -27
  76. package/lib/models/tasks/sub-task-group.model.d.ts +42 -0
  77. package/lib/models/tasks/sub-task-group.model.js +154 -0
  78. package/lib/models/tasks/tags.model.d.ts +29 -0
  79. package/lib/models/tasks/tags.model.js +70 -0
  80. package/lib/models/tasks/task-group.model.d.ts +53 -0
  81. package/lib/models/tasks/task-group.model.js +156 -0
  82. package/lib/models/tasks/task.model.d.ts +163 -0
  83. package/lib/models/tasks/task.model.js +603 -0
  84. package/lib/models/tempCollection.model.d.ts +40 -0
  85. package/{src/models/tempCollection.model.ts → lib/models/tempCollection.model.js} +114 -130
  86. package/lib/models/user.model.d.ts +42 -0
  87. package/lib/models/user.model.js +272 -0
  88. package/lib/models/utility.model.d.ts +13 -0
  89. package/lib/models/utility.model.js +93 -0
  90. package/lib/models/visitorManagement/acknowledgement.model.d.ts +9 -0
  91. package/lib/models/visitorManagement/acknowledgement.model.js +55 -0
  92. package/lib/models/visitorManagement/invite.model.d.ts +32 -0
  93. package/lib/models/visitorManagement/invite.model.js +326 -0
  94. package/lib/models/visitorManagement/newIn.model.d.ts +19 -0
  95. package/lib/models/visitorManagement/newIn.model.js +67 -0
  96. package/lib/models/visitorManagement/selfServe.model.d.ts +13 -0
  97. package/lib/models/visitorManagement/selfServe.model.js +46 -0
  98. package/lib/models/worklogPost.model.d.ts +6 -0
  99. package/lib/models/worklogPost.model.js +9 -0
  100. package/lib/services/customer.d.ts +30 -0
  101. package/lib/services/customer.js +354 -0
  102. package/lib/services/meeting.d.ts +19 -0
  103. package/lib/services/meeting.js +109 -0
  104. package/package.json +4 -1
  105. package/.prettierrc +0 -4
  106. package/a.js +0 -3
  107. package/scripts/1.ts +0 -1300
  108. package/scripts/GCloudPubSub/pub-sub-config.json +0 -12
  109. package/scripts/GCloudPubSub/visitorAutoRejection.ts +0 -86
  110. package/scripts/actions/assignUsersFromOneActionToOther.ts +0 -64
  111. package/scripts/actions/assignUsersListToAction.ts +0 -81
  112. package/scripts/actions/getActionsListOfUser.ts +0 -42
  113. package/scripts/actions/getCompanyUserDetails.ts +0 -49
  114. package/scripts/actions/giveActionToUser.ts +0 -41
  115. package/scripts/actions/giveUsersToActivitySelector.ts +0 -56
  116. package/scripts/actions/groupActionsInActivitySelector.ts +0 -101
  117. package/scripts/actions/modifySummaryReportDB.ts +0 -42
  118. package/scripts/actions/setUrlToActionStep.ts +0 -18
  119. package/scripts/actions/syncMySqlAttendanceDBWithFirebase.ts +0 -93
  120. package/scripts/actions/syncMySqlMeetingsDBWithFirebase.ts +0 -103
  121. package/scripts/actions/test.ts +0 -29
  122. package/scripts/actions/transferFeedsOldIdToNew.ts +0 -40
  123. package/scripts/actions/transformUserIntoManager.ts +0 -89
  124. package/scripts/argvConfig.js +0 -9
  125. package/scripts/backUpData/testCode.ts +0 -131
  126. package/scripts/benaraScripts/addWorkAreaMap.ts +0 -46
  127. package/scripts/benaraScripts/add_customers.ts +0 -26
  128. package/scripts/benaraScripts/add_customers_contact.ts +0 -27
  129. package/scripts/benaraScripts/add_empty_work_area.ts +0 -17
  130. package/scripts/benaraScripts/assignManagers.ts +0 -35
  131. package/scripts/benaraScripts/changeCheckInFlag.ts +0 -45
  132. package/scripts/benaraScripts/createCustomerContactsList.ts +0 -170
  133. package/scripts/benaraScripts/createUserByDeletingOldUser.ts +0 -70
  134. package/scripts/benaraScripts/createUsersAreaMapCollection.ts +0 -23
  135. package/scripts/benaraScripts/createWorkAreaMap.ts +0 -24
  136. package/scripts/benaraScripts/mapWorkAreasToUsers.ts +0 -112
  137. package/scripts/companies_data.json +0 -2496
  138. package/scripts/create_or_update_users.ts +0 -31
  139. package/scripts/csvToJson/csvToJson.ts +0 -90
  140. package/scripts/csvToJson/users.json +0 -3896
  141. package/scripts/db.js +0 -27
  142. package/scripts/db.json +0 -13
  143. package/scripts/dbMySql.ts +0 -63
  144. package/scripts/delete_action_steps.ts +0 -11
  145. package/scripts/delete_user.ts +0 -71
  146. package/scripts/dev_companies_data.json +0 -613
  147. package/scripts/enroll.xlsx +0 -0
  148. package/scripts/export_users.ts +0 -72
  149. package/scripts/files/visitorManagementFiles/displayScreen.json +0 -70
  150. package/scripts/files/visitorManagementFiles/init_report_visibility.ts +0 -79
  151. package/scripts/firebaseConfig.js +0 -12
  152. package/scripts/firebaseDocs/deleteIncommingCollection.ts +0 -47
  153. package/scripts/firebaseDocs/updateDoc.ts +0 -43
  154. package/scripts/getActionDataIntoJSON/getActionData.ts +0 -68
  155. package/scripts/get_attendance_by_any_date.ts +0 -14
  156. package/scripts/get_attendance_by_month.ts +0 -12
  157. package/scripts/get_attendance_monthly_by_team.ts +0 -11
  158. package/scripts/get_daily_report.ts +0 -10
  159. package/scripts/get_mangers.ts +0 -13
  160. package/scripts/grant_user_license.ts +0 -18
  161. package/scripts/init_CustomCollection.ts +0 -16
  162. package/scripts/init_action_steps.ts +0 -28
  163. package/scripts/init_actions.ts +0 -31
  164. package/scripts/init_company.ts +0 -18
  165. package/scripts/init_customer_mysql.ts +0 -12
  166. package/scripts/init_feed.ts +0 -4
  167. package/scripts/init_feed_details_screen.ts +0 -14
  168. package/scripts/init_geofence.ts +0 -26
  169. package/scripts/init_print_details_screen.ts +0 -14
  170. package/scripts/init_report_actions.ts +0 -24
  171. package/scripts/init_report_definition_detail.ts +0 -26
  172. package/scripts/init_report_definition_summary.ts +0 -16
  173. package/scripts/init_report_visibility.ts +0 -46
  174. package/scripts/init_user_customcollection.ts +0 -16
  175. package/scripts/json/action.json +0 -21
  176. package/scripts/json/company.json +0 -24
  177. package/scripts/json/report-action.json +0 -13
  178. package/scripts/json/report-def-deet.json +0 -43
  179. package/scripts/json/resp.json +0 -784
  180. package/scripts/json/steps.json +0 -24
  181. package/scripts/json/test.ts +0 -49
  182. package/scripts/mysqlConfig.ts +0 -9
  183. package/scripts/revoke_or_extend_license.ts +0 -14
  184. package/scripts/stream.js +0 -4
  185. package/scripts/testing1.ts +0 -35
  186. package/scripts/update/doc.json +0 -20
  187. package/scripts/update/getDocByPath.ts +0 -34
  188. package/scripts/update/updateDocByPath.ts +0 -47
  189. package/scripts/update/updateUsersOfCompanies.ts +0 -58
  190. package/scripts/update_actions.ts +0 -19
  191. package/scripts/update_actions_steps.ts +0 -19
  192. package/scripts/update_company.ts +0 -19
  193. package/scripts/update_geofence.ts +0 -20
  194. package/scripts/update_managers.ts +0 -16
  195. package/scripts/visitorMgmt/createArea.ts +0 -68
  196. package/scripts/visitorMgmt/createArea.txt +0 -3
  197. package/scripts/visitorMgmt/createVisitorPathInstructionDocs.ts +0 -130
  198. package/scripts/visitorMgmt/createVisitorPathInstructionDocs.txt +0 -18
  199. package/scripts/visitorMgmt/encryptDateString.ts +0 -71
  200. package/scripts/visitorMgmt/makeHostsManagersOfEachOther.ts +0 -117
  201. package/scripts/whatsapp_gupshup/sendMessage.ts +0 -97
  202. package/src/models/Feed-Details-Screen.model.ts +0 -29
  203. package/src/models/action.model.ts +0 -355
  204. package/src/models/actions/doffing.ts +0 -71
  205. package/src/models/actions/folding.ts +0 -39
  206. package/src/models/attendance.model.ts +0 -615
  207. package/src/models/cicoPost.model.ts +0 -20
  208. package/src/models/company.model.ts +0 -975
  209. package/src/models/contact-us/resquest.model.ts +0 -87
  210. package/src/models/crud/crud.ts +0 -30
  211. package/src/models/customCollection.model.ts +0 -47
  212. package/src/models/customer/customer.model.ts +0 -85
  213. package/src/models/deviceChangeReq.ts +0 -150
  214. package/src/models/dispatch.model.ts +0 -99
  215. package/src/models/feed.models.ts +0 -104
  216. package/src/models/geofence.model.ts +0 -61
  217. package/src/models/leaveApplicationPost.model.ts +0 -79
  218. package/src/models/license.model.ts +0 -215
  219. package/src/models/meeting.model.ts +0 -80
  220. package/src/models/meter.model.ts +0 -62
  221. package/src/models/missingPunchPost.model.ts +0 -84
  222. package/src/models/offline.model.ts +0 -1133
  223. package/src/models/post.model.ts +0 -105
  224. package/src/models/printDetailsScreen.model.ts +0 -30
  225. package/src/models/pushNotifications/pushNotification.model.ts +0 -17
  226. package/src/models/report-actions.model.ts +0 -57
  227. package/src/models/report-definition-details.model.ts +0 -89
  228. package/src/models/report-definition.model.ts +0 -26
  229. package/src/models/report-definitions-summary.model.ts +0 -59
  230. package/src/models/report-detail-data.model.ts +0 -49
  231. package/src/models/report-visibility.model.ts +0 -44
  232. package/src/models/report.model.ts +0 -179
  233. package/src/models/reportGenerator.model.ts +0 -883
  234. package/src/models/response.model.ts +0 -31
  235. package/src/models/steps.factory.model.ts +0 -195
  236. package/src/models/storeGupShupLog.model.ts +0 -49
  237. package/src/models/tasks/sub-task-group.model.ts +0 -173
  238. package/src/models/tasks/tags.model.ts +0 -113
  239. package/src/models/tasks/task-group.model.ts +0 -172
  240. package/src/models/tasks/task.model.ts +0 -681
  241. package/src/models/user.model.ts +0 -319
  242. package/src/models/utility.model.ts +0 -100
  243. package/src/models/visitorManagement/acknowledgement.model.ts +0 -71
  244. package/src/models/visitorManagement/invite.model.ts +0 -406
  245. package/src/models/visitorManagement/newIn.model.ts +0 -82
  246. package/src/models/visitorManagement/selfServe.model.ts +0 -58
  247. package/src/models/worklogPost.model.ts +0 -8
  248. package/src/services/customer.ts +0 -382
  249. package/src/services/meeting.ts +0 -123
  250. package/test/1.ts +0 -13
  251. package/test/db.js +0 -19
  252. package/test/firebaseConfig.js +0 -1
  253. package/tsconfig.json +0 -16
@@ -0,0 +1,38 @@
1
+ import * as admin from "firebase-admin";
2
+ declare class Post {
3
+ actionEvent: string;
4
+ actionId: string;
5
+ actionName: string;
6
+ actionType: string;
7
+ companyId: string;
8
+ createdAt: string;
9
+ refId: string;
10
+ description: string;
11
+ eventId: string;
12
+ isGeofence: boolean;
13
+ userId: string;
14
+ id: string;
15
+ forApproval: boolean;
16
+ forApprovalText: string;
17
+ object: any;
18
+ origin: any;
19
+ seen: boolean;
20
+ startAt: string;
21
+ startLat: string;
22
+ startLong: string;
23
+ endAt: string;
24
+ endLat: string;
25
+ endLong: string;
26
+ stepValues: any[];
27
+ target: string;
28
+ time: string;
29
+ extraData: any;
30
+ checkInternet: boolean;
31
+ image: string;
32
+ eventDetails: string;
33
+ isProcessed: boolean;
34
+ missedEvent: string;
35
+ static createNewPost(firestore: admin.firestore.Firestore, postInfo: any): Promise<unknown>;
36
+ static sendDCRPost(firestore: admin.firestore.Firestore, postToSave: any): Promise<void>;
37
+ }
38
+ export { Post };
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Post = void 0;
4
+ const offline_model_1 = require("./offline.model");
5
+ const company_model_1 = require("./company.model");
6
+ const action_model_1 = require("./action.model");
7
+ class Post {
8
+ actionEvent = "";
9
+ actionId = "";
10
+ actionName = "";
11
+ actionType = "";
12
+ companyId = "";
13
+ createdAt = "";
14
+ refId = "";
15
+ description = "";
16
+ eventId = "";
17
+ isGeofence = false;
18
+ userId = "";
19
+ id = "";
20
+ forApproval = false;
21
+ forApprovalText = "";
22
+ object = null;
23
+ origin = null;
24
+ seen = false;
25
+ startAt = "";
26
+ startLat = "";
27
+ startLong = "";
28
+ endAt = "";
29
+ endLat = "";
30
+ endLong = "";
31
+ stepValues = [];
32
+ target = "";
33
+ time = "";
34
+ extraData = {};
35
+ checkInternet = false;
36
+ image = "";
37
+ eventDetails = "";
38
+ isProcessed = false;
39
+ missedEvent = "";
40
+ static async createNewPost(firestore, postInfo) {
41
+ let incomingDocId = postInfo.id;
42
+ try {
43
+ let userRef = await offline_model_1.Offline.createRefForUser(firestore, postInfo.companyId, postInfo.userId);
44
+ postInfo.id = userRef.id;
45
+ const postToSave = JSON.parse(JSON.stringify(postInfo));
46
+ console.log("------before saving in company");
47
+ let postEventId = await offline_model_1.Offline.addDetailsToCompanyActions(firestore, postInfo.companyId, postInfo.actionId, postToSave, postInfo.actionName);
48
+ postToSave.eventId = postEventId;
49
+ await userRef.set(postToSave);
50
+ console.log("post sent to user feed");
51
+ await offline_model_1.Offline.sendFeedToManagers(firestore, postInfo.companyId, postInfo.userId, postToSave);
52
+ console.log("post sent to managers' feed", postToSave.startAt);
53
+ await offline_model_1.Offline.deleteInfoFromIncoming(firestore, incomingDocId);
54
+ console.log("document deleted from incoming");
55
+ return postEventId;
56
+ }
57
+ catch (error) {
58
+ await firestore.collection("Incoming").doc(incomingDocId).update({
59
+ message: "Error",
60
+ errorDetail: error,
61
+ errorId: "err101",
62
+ });
63
+ console.log(error);
64
+ return error;
65
+ }
66
+ }
67
+ static async sendDCRPost(firestore, postToSave) {
68
+ const nickName = "mobiOffice";
69
+ const companyId = await company_model_1.Company.getCompanyIdByNickName(firestore, nickName);
70
+ const actionId = await action_model_1.Action.getActionId(firestore, companyId, postToSave.actionName);
71
+ const supportUsers = await company_model_1.Company.getUsersListbyCompany(firestore, nickName);
72
+ console.log(actionId, companyId);
73
+ const postEventDocRef = firestore.collection("Companies")
74
+ .doc(companyId)
75
+ .collection("Actions")
76
+ .doc(actionId)
77
+ .collection(postToSave.actionName)
78
+ .doc(postToSave.id);
79
+ postToSave.eventId = postToSave.id;
80
+ await postEventDocRef.set(postToSave);
81
+ const feedIdObj = {};
82
+ for (let user of supportUsers) {
83
+ let userRef = firestore.collection("Feeds")
84
+ .doc(user.id)
85
+ .collection(companyId)
86
+ .doc(postToSave.id);
87
+ // postToSave.id = userRef.id;
88
+ await userRef.set(postToSave);
89
+ // feedIdObj[user.id] = userRef.id;
90
+ }
91
+ // return feedIdObj;
92
+ }
93
+ }
94
+ exports.Post = Post;
@@ -0,0 +1,6 @@
1
+ import * as admin from 'firebase-admin';
2
+ declare class PrintDetailsScreen {
3
+ static createPrintDetailsScreen(firestore: admin.firestore.Firestore, nickName: string, data: any): Promise<any>;
4
+ static updatePrintDetailsScreen(firestore: admin.firestore.Firestore, nickName: string, data: any): Promise<void>;
5
+ }
6
+ export { PrintDetailsScreen };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrintDetailsScreen = void 0;
4
+ const company_model_1 = require("./company.model");
5
+ class PrintDetailsScreen {
6
+ static async createPrintDetailsScreen(firestore, nickName, data) {
7
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
8
+ let snapshot = firestore
9
+ .collection("Companies")
10
+ .doc(companyId)
11
+ .collection("Print-Details-Screen").doc();
12
+ data.id = snapshot.id;
13
+ await snapshot.set(data);
14
+ return data;
15
+ }
16
+ static async updatePrintDetailsScreen(firestore, nickName, data) {
17
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
18
+ let snapshot = await firestore
19
+ .collection("Companies")
20
+ .doc(companyId)
21
+ .collection("Print-Details-Screen").where("actionName", "==", data.actionName).get();
22
+ snapshot.forEach((doc) => {
23
+ doc.ref.update(data);
24
+ });
25
+ }
26
+ }
27
+ exports.PrintDetailsScreen = PrintDetailsScreen;
@@ -0,0 +1,4 @@
1
+ declare class PushNotifications {
2
+ static sendPushNotification(admin: any, fcmTokens: string[], message: any): Promise<string>;
3
+ }
4
+ export { PushNotifications };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PushNotifications = void 0;
4
+ class PushNotifications {
5
+ static async sendPushNotification(admin, fcmTokens, message) {
6
+ try {
7
+ const response = await admin.messaging().sendToDevice(fcmTokens, message);
8
+ console.log(response.results);
9
+ // console.log(response[0].error)
10
+ return "Notification Sent Successfully";
11
+ }
12
+ catch (error) {
13
+ throw new Error(error.message);
14
+ }
15
+ }
16
+ }
17
+ exports.PushNotifications = PushNotifications;
@@ -0,0 +1,26 @@
1
+ import * as admin from 'firebase-admin';
2
+ declare class ReportActions {
3
+ darkColor: string;
4
+ lightColor: string;
5
+ description: string;
6
+ icon: string;
7
+ title: string;
8
+ url: string;
9
+ id: string;
10
+ order: string;
11
+ keys: string;
12
+ static getOrCreateReportActions(firestore: admin.firestore.Firestore, nickName: string, reportAction: any): Promise<admin.firestore.DocumentData | "Please provide title" | undefined>;
13
+ static convertReportActionsDataType(data: any): Promise<any>;
14
+ static reportActionsTemplate: {
15
+ darkColor: null;
16
+ lightColor: null;
17
+ description: null;
18
+ icon: null;
19
+ title: null;
20
+ url: null;
21
+ id: null;
22
+ order: null;
23
+ keys: null;
24
+ };
25
+ }
26
+ export { ReportActions };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportActions = void 0;
4
+ const action_model_1 = require("./action.model");
5
+ const company_model_1 = require("./company.model");
6
+ class ReportActions {
7
+ darkColor = "";
8
+ lightColor = "";
9
+ description = "";
10
+ icon = "";
11
+ title = "";
12
+ url = "";
13
+ id = "";
14
+ order = "";
15
+ keys = "";
16
+ static async getOrCreateReportActions(firestore, nickName, reportAction) {
17
+ if (!reportAction.title) {
18
+ return "Please provide title";
19
+ }
20
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
21
+ let snapshot = firestore.collection('Companies').doc(companyId).collection('Report-Actions');
22
+ let reportAction_data = await snapshot.where('title', '==', reportAction.title).get();
23
+ if (reportAction_data.empty) {
24
+ let actionId = await action_model_1.Action.getActionIdByDisplayName(firestore, companyId, reportAction.title);
25
+ //reportAction = await ReportActions.convertReportActionsDataType(reportAction)
26
+ reportAction.id = actionId;
27
+ let reportaction_snapshot_newData = snapshot.doc(actionId);
28
+ await reportaction_snapshot_newData.set(reportAction);
29
+ return (await reportaction_snapshot_newData.get()).data();
30
+ }
31
+ else {
32
+ return reportAction_data.docs[0].data();
33
+ }
34
+ }
35
+ static async convertReportActionsDataType(data) {
36
+ if (data.keys) {
37
+ data.keys = data.keys.split('&');
38
+ }
39
+ if (data.order) {
40
+ data.order = Number(data.order);
41
+ }
42
+ return data;
43
+ }
44
+ static reportActionsTemplate = {
45
+ darkColor: null,
46
+ lightColor: null,
47
+ description: null,
48
+ icon: null,
49
+ title: null,
50
+ url: null,
51
+ id: null,
52
+ order: null,
53
+ keys: null,
54
+ };
55
+ }
56
+ exports.ReportActions = ReportActions;
@@ -0,0 +1,13 @@
1
+ import * as admin from 'firebase-admin';
2
+ declare class ReportDefinitionDetail {
3
+ color: string;
4
+ data: any[];
5
+ detailOf: string;
6
+ name: string;
7
+ toHome: boolean;
8
+ id: string;
9
+ nickname?: string;
10
+ static getOrCreateReportDefinitionDetail(firestore: admin.firestore.Firestore, nickName: string, reportDefinitionDetail: ReportDefinitionDetail): Promise<admin.firestore.DocumentData | undefined>;
11
+ static convertReportDefinitionDetail(data: any): Promise<any>;
12
+ }
13
+ export { ReportDefinitionDetail };
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportDefinitionDetail = void 0;
4
+ const action_model_1 = require("./action.model");
5
+ const company_model_1 = require("./company.model");
6
+ const report_definitions_summary_model_1 = require("./report-definitions-summary.model");
7
+ class ReportDefinitionDetail {
8
+ color = "";
9
+ data = [];
10
+ detailOf = "";
11
+ name = "";
12
+ toHome = false;
13
+ id = "";
14
+ nickname = "";
15
+ static async getOrCreateReportDefinitionDetail(firestore, nickName, reportDefinitionDetail) {
16
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
17
+ let snapshot = firestore
18
+ .collection("Companies")
19
+ .doc(companyId)
20
+ .collection("Report-Definition-Detail");
21
+ let reportDefinitionDetials_snapshot = await snapshot.where('name', '==', reportDefinitionDetail.name).get();
22
+ if (reportDefinitionDetials_snapshot.empty) {
23
+ //reportDefinitionDetail = await ReportDefinitionDetail.convertReportDefinitionDetail(reportDefinitionDetail)
24
+ let docRef = snapshot.doc();
25
+ let id = await report_definitions_summary_model_1.ReportDefinitionSummary.getReportDefinitionSummaryId(firestore, nickName, reportDefinitionDetail.name);
26
+ if (!id.length) {
27
+ id = await action_model_1.Action.getActionIdByDisplayName(firestore, companyId, reportDefinitionDetail.name);
28
+ }
29
+ reportDefinitionDetail.detailOf = id;
30
+ reportDefinitionDetail.id = docRef.id;
31
+ await docRef.set(reportDefinitionDetail);
32
+ return (await docRef.get()).data();
33
+ }
34
+ else {
35
+ return reportDefinitionDetials_snapshot.docs[0].data();
36
+ }
37
+ }
38
+ static async convertReportDefinitionDetail(data) {
39
+ if (data.toHome) {
40
+ data.toHome = await action_model_1.Action.booleanConvertion(data.toHome.toLowerCase());
41
+ }
42
+ if (data.share) {
43
+ data.share = await action_model_1.Action.booleanConvertion(data.share.toLowerCase());
44
+ }
45
+ if (data.keys) {
46
+ data.keys = await data.keys.split("&");
47
+ }
48
+ if (data.data) {
49
+ for (let subData of data.data) {
50
+ if (subData.autoAPICalled) {
51
+ subData.autoAPICalled = await action_model_1.Action.booleanConvertion(subData.autoAPICalled);
52
+ }
53
+ if (subData.isSSL) {
54
+ subData.isSSL = await action_model_1.Action.booleanConvertion(subData.isSSL);
55
+ }
56
+ if (subData.halfPage) {
57
+ subData.halfPage = await action_model_1.Action.booleanConvertion(subData.halfPage);
58
+ }
59
+ if (subData.fullPage) {
60
+ subData.fullPage = await action_model_1.Action.booleanConvertion(subData.fullPage);
61
+ }
62
+ if (subData.keys) {
63
+ subData.keys = subData.keys.split('&');
64
+ }
65
+ if (subData.nextPage) {
66
+ subData.nextPage = Number(subData.nextPage);
67
+ }
68
+ if (subData.pageSize) {
69
+ subData.pageSize = Number(subData.pageSize);
70
+ }
71
+ if (subData.rowHeight) {
72
+ subData.rowHeight = Number(subData.rowHeight);
73
+ }
74
+ if (subData.order) {
75
+ subData.order = Number(subData.order);
76
+ }
77
+ if (subData.totalItems) {
78
+ subData.totalItems = Number(subData.totalItems);
79
+ }
80
+ }
81
+ }
82
+ return data;
83
+ }
84
+ }
85
+ exports.ReportDefinitionDetail = ReportDefinitionDetail;
@@ -0,0 +1,23 @@
1
+ declare class ReportDefinition {
2
+ id: string;
3
+ name: string;
4
+ detailOf: string;
5
+ toHome: boolean;
6
+ share: boolean;
7
+ keys: [];
8
+ color: string;
9
+ downloadUrl: string;
10
+ data: [];
11
+ static reportDefTemplate: {
12
+ id: string;
13
+ name: string;
14
+ detailOf: string;
15
+ toHome: boolean;
16
+ share: boolean;
17
+ keys: never[];
18
+ color: string;
19
+ downloadUrl: string;
20
+ data: never[];
21
+ };
22
+ }
23
+ export { ReportDefinition };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportDefinition = void 0;
4
+ class ReportDefinition {
5
+ id = "";
6
+ name = "";
7
+ detailOf = "";
8
+ toHome = true;
9
+ share = false;
10
+ keys = [];
11
+ color = "";
12
+ downloadUrl = "";
13
+ data = [];
14
+ static reportDefTemplate = {
15
+ id: "",
16
+ name: "",
17
+ detailOf: "",
18
+ toHome: true,
19
+ share: false,
20
+ keys: [],
21
+ color: "",
22
+ downloadUrl: "",
23
+ data: [],
24
+ };
25
+ }
26
+ exports.ReportDefinition = ReportDefinition;
@@ -0,0 +1,8 @@
1
+ import * as admin from 'firebase-admin';
2
+ declare class ReportDefinitionSummary {
3
+ static getOrCreateReportDefinitionSummary(firestore: admin.firestore.Firestore, nickName: string, reportSummary: any): Promise<admin.firestore.DocumentData | undefined>;
4
+ static convertReportDefinitionSummary(data: any): Promise<any>;
5
+ static getReportDefinitionSummaryId(firestore: admin.firestore.Firestore, nickName: string, reportDefinitionSummaryName: string): Promise<string>;
6
+ static getReportDefinitionSummaryDocById(firestore: admin.firestore.Firestore, companyId: string, docId: string): Promise<admin.firestore.DocumentData | undefined>;
7
+ }
8
+ export { ReportDefinitionSummary };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportDefinitionSummary = void 0;
4
+ const action_model_1 = require("./action.model");
5
+ const company_model_1 = require("./company.model");
6
+ class ReportDefinitionSummary {
7
+ static async getOrCreateReportDefinitionSummary(firestore, nickName, reportSummary) {
8
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
9
+ let snapshot = await firestore
10
+ .collection("Companies")
11
+ .doc(companyId)
12
+ .collection("Report-Definition-Summary");
13
+ let ReportDefinitionSummary_data = await snapshot.where("name", "==", reportSummary.name).get();
14
+ if (ReportDefinitionSummary_data.empty) {
15
+ reportSummary = await ReportDefinitionSummary.convertReportDefinitionSummary(reportSummary);
16
+ let docRef = snapshot.doc();
17
+ reportSummary.id = docRef.id;
18
+ await docRef.set(reportSummary);
19
+ return (await docRef.get()).data();
20
+ }
21
+ else {
22
+ return ReportDefinitionSummary_data.docs[0].data();
23
+ }
24
+ }
25
+ static async convertReportDefinitionSummary(data) {
26
+ if (data.autoAPICall) {
27
+ data.autoAPICall = await action_model_1.Action.booleanConvertion(data.autoAPICall.toLowerCase());
28
+ }
29
+ return data;
30
+ }
31
+ static async getReportDefinitionSummaryId(firestore, nickName, reportDefinitionSummaryName) {
32
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
33
+ let docRef = await firestore
34
+ .collection("Companies")
35
+ .doc(companyId)
36
+ .collection("Report-Definition-Summary")
37
+ .where('name', '==', reportDefinitionSummaryName)
38
+ .get();
39
+ let id = "";
40
+ docRef.forEach((doc) => {
41
+ id = doc.data().id;
42
+ });
43
+ return id;
44
+ }
45
+ static async getReportDefinitionSummaryDocById(firestore, companyId, docId) {
46
+ try {
47
+ let snapshot = await firestore.collection("Companies")
48
+ .doc(companyId)
49
+ .collection("Report-Definition-Summary")
50
+ .doc(docId)
51
+ .get();
52
+ return snapshot.data();
53
+ }
54
+ catch (error) {
55
+ throw new Error(error.message);
56
+ }
57
+ }
58
+ }
59
+ exports.ReportDefinitionSummary = ReportDefinitionSummary;
@@ -0,0 +1,46 @@
1
+ declare class ReportDetailData {
2
+ id: string;
3
+ url: string;
4
+ reportType: string;
5
+ halfPage: boolean;
6
+ fullPage: boolean;
7
+ pageSize: number;
8
+ nextPage: number;
9
+ totalItems: number;
10
+ data: [];
11
+ autoAPICalled: boolean;
12
+ showPrint: boolean;
13
+ showBarcode: boolean;
14
+ isSSL: boolean;
15
+ saveInPublicStorage: boolean;
16
+ keys: [];
17
+ order: number;
18
+ type: string;
19
+ static reportDataType: {
20
+ TILE: string;
21
+ TABLE: string;
22
+ PDF: string;
23
+ TEXT: string;
24
+ };
25
+ static reportDetailDataTemplate: {
26
+ id: string;
27
+ url: string;
28
+ loadingText: string;
29
+ reportType: string;
30
+ halfPage: boolean;
31
+ fullPage: boolean;
32
+ pageSize: number;
33
+ nextPage: number;
34
+ totalItems: number;
35
+ data: never[];
36
+ type: string;
37
+ autoAPICalled: boolean;
38
+ showPrint: boolean;
39
+ showBarcode: boolean;
40
+ isSSL: boolean;
41
+ saveInPublicStorage: boolean;
42
+ keys: never[];
43
+ order: number;
44
+ };
45
+ }
46
+ export { ReportDetailData };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportDetailData = void 0;
4
+ class ReportDetailData {
5
+ id = "";
6
+ url = "";
7
+ reportType = "";
8
+ halfPage = true;
9
+ fullPage = false;
10
+ pageSize = 10;
11
+ nextPage = 1;
12
+ totalItems = 30;
13
+ data = [];
14
+ autoAPICalled = false;
15
+ showPrint = false;
16
+ showBarcode = false;
17
+ isSSL = true;
18
+ saveInPublicStorage = true;
19
+ keys = [];
20
+ order = 0;
21
+ type = "";
22
+ static reportDataType = {
23
+ TILE: "tile",
24
+ TABLE: "table",
25
+ PDF: "pdf",
26
+ TEXT: "text",
27
+ };
28
+ static reportDetailDataTemplate = {
29
+ id: "",
30
+ url: "",
31
+ loadingText: "",
32
+ reportType: "",
33
+ halfPage: true,
34
+ fullPage: false,
35
+ pageSize: 10,
36
+ nextPage: 1,
37
+ totalItems: 30,
38
+ data: [],
39
+ type: "tile",
40
+ autoAPICalled: false,
41
+ showPrint: false,
42
+ showBarcode: false,
43
+ isSSL: true,
44
+ saveInPublicStorage: true,
45
+ keys: [],
46
+ order: 0,
47
+ };
48
+ }
49
+ exports.ReportDetailData = ReportDetailData;
@@ -0,0 +1,7 @@
1
+ import * as admin from 'firebase-admin';
2
+ declare class ReportVisibility {
3
+ static setReportVisibility(firestore: admin.firestore.Firestore, nickName: string, reportVisibilityData: any): Promise<string>;
4
+ static updateReportVisibility(firestore: admin.firestore.Firestore, arrayUnion: any, nickName: string, userId: string, reportVisibilityData: any): Promise<any>;
5
+ static getUserReportList(firestore: admin.firestore.Firestore, companyId: string, userId: string): Promise<admin.firestore.DocumentData | undefined>;
6
+ }
7
+ export { ReportVisibility };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportVisibility = void 0;
4
+ const company_model_1 = require("./company.model");
5
+ class ReportVisibility {
6
+ static async setReportVisibility(firestore, nickName, reportVisibilityData) {
7
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
8
+ let docRef = firestore
9
+ .collection("Companies")
10
+ .doc(companyId)
11
+ .collection("Report-Visibility")
12
+ .doc(reportVisibilityData.id);
13
+ docRef.set(reportVisibilityData);
14
+ return docRef.id;
15
+ }
16
+ static async updateReportVisibility(firestore, arrayUnion, nickName, userId, reportVisibilityData) {
17
+ let companyId = await company_model_1.Company.getCompanyIdbyNickname(firestore, nickName);
18
+ let docRef = await firestore.collection("Companies")
19
+ .doc(companyId)
20
+ .collection("Report-Visibility")
21
+ .doc(userId).get();
22
+ await docRef.ref.update({
23
+ "report-sections": arrayUnion(reportVisibilityData)
24
+ });
25
+ return docRef.data()?.id;
26
+ }
27
+ static async getUserReportList(firestore, companyId, userId) {
28
+ try {
29
+ let userReportSnapshot = await firestore.collection("Companies")
30
+ .doc(companyId)
31
+ .collection("Report-Visibility")
32
+ .doc(userId)
33
+ .get();
34
+ let userReportsList = userReportSnapshot.data();
35
+ return userReportsList;
36
+ }
37
+ catch (error) {
38
+ throw new Error(error.message);
39
+ }
40
+ }
41
+ }
42
+ exports.ReportVisibility = ReportVisibility;
@@ -0,0 +1,19 @@
1
+ import { ReportDefinition } from "./report-definition.model";
2
+ import * as admin from "firebase-admin";
3
+ import { ReportActions } from "./report-actions.model";
4
+ import { Pool } from "mysql2";
5
+ declare class Report {
6
+ static addReport(firebase: admin.firestore.Firestore, companyId: string, report: ReportDefinition): Promise<ReportDefinition>;
7
+ static addReportAction(firestore: admin.firestore.Firestore, companyId: string, reportActionMap: ReportActions): Promise<ReportActions>;
8
+ static getReport(firestore: admin.firestore.Firestore, actionDBMap: Record<string, {
9
+ connection: Pool;
10
+ tableName: string;
11
+ }>, nickName: string, action: string, timeStamps: any, phone: string): Promise<any>;
12
+ static getCicoInfoForDay(firestore: admin.firestore.Firestore, userId: string, companyId: string, startTime: number): Promise<{
13
+ checkIn: string;
14
+ checkOut: string;
15
+ }>;
16
+ static getReportObjForUser(firestore: admin.firestore.Firestore, userId: any, companyId: string, action: string, timeStamps: any): Promise<any>;
17
+ static getReportObjForDay(reportObjects: any, startTime: number): Promise<any>;
18
+ }
19
+ export { Report };