mobioffice-cli 1.0.0 → 1.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.
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
@@ -1,93 +0,0 @@
1
- import { createInterface } from "readline";
2
- import { Utilities } from "../../src/models/utility.model";
3
- import admin from "../db";
4
- import { Company } from "../../src/models/company.model";
5
- import { Action } from "../../src/models/action.model";
6
- import { User } from "../../src/models/user.model";
7
- import { Attendance } from "../../src/models/attendance.model";
8
- import CurdService from "../../src/models/crud/crud";
9
- import { ProdAttendancePool } from "../dbMySql";
10
-
11
- const readLineInterface = createInterface({
12
- input: process.stdin,
13
- output: process.stdout
14
- })
15
-
16
- const firestore = admin.firestore();
17
-
18
- const readLine = Utilities.readLineAsync;
19
- const readLineClose = Utilities.readLineClose;
20
-
21
- async function syncReportDBFirebaseUserEntries(userPhone: string, companyId: string) {
22
- const curdService = new CurdService(ProdAttendancePool)
23
- try {
24
- const userId = await User.getUserIdByPhone(firestore, userPhone);
25
- const userInfo: any = await User.getUserInfoById(firestore, userId, companyId);
26
- const userName = userInfo.name;
27
- const actionName = "check_in_out";
28
- const actionId = await Action.getActionId(firestore, companyId, actionName);
29
- const companyActionInfo = await firestore.collection("Companies")
30
- .doc(companyId)
31
- .collection("Actions")
32
- .doc(actionId)
33
- .collection(actionName)
34
- .where("userId", "==", userId)
35
- .get();
36
- let matched = 0;
37
- let docsCount = 0;
38
- for(let doc of companyActionInfo.docs){
39
- docsCount++;
40
- let epochTime = doc.data().startAt ?? doc.data().endAt;
41
- const docInfo = doc.data();
42
- const eventType = docInfo.startAt ? "checkIn" : "checkOut";
43
- const actionName = docInfo.missedEvent ? "approveMP" : "check_in_out";
44
- let dateTime = await Utilities.epochToMySqlDateTime(epochTime);
45
- const phone = await User.getUserPhonebyUserId(firestore, doc.data().userId);
46
- const qryString = `SELECT * FROM attendanceEntries
47
- WHERE time='${dateTime}' AND phoneNo='${phone}'
48
- AND companyId='${companyId}'`;
49
- const storedInfo: any = await curdService.query(qryString);
50
- if (storedInfo.length) {
51
- matched++;
52
- console.log("matched", storedInfo[0].time, matched)
53
- } else {
54
- console.log("need to create an entry in reportDB for ", dateTime)
55
- const reportData = {
56
- companyId: companyId,
57
- employeeName: userName,
58
- eventType: eventType,
59
- time: epochTime,
60
- phoneNo: userInfo.phone,
61
- actionName: actionName
62
- }
63
- console.log(reportData);
64
- await Attendance.uploadEntryToReportDB(ProdAttendancePool, reportData);
65
- console.log("uploaded entry for ", dateTime);
66
- }
67
- }
68
- console.log(docsCount);
69
- } catch(error) {
70
- console.log(error);
71
- } finally {
72
- readLineClose(readLineInterface);
73
- }
74
- }
75
-
76
- async function syncMySqlAttendanceDbWithFirebase() {
77
- const companyNickName: any = await readLine("Enter company Name: ", readLineInterface);
78
- console.log("companyNickName", companyNickName);
79
- const companyId = await Company.getCompanyIdByNickName(firestore, companyNickName);
80
- // const userPhone: any = await readLine("Enter user phone: ", readLineInterface);
81
- const companyUsersList = await Company.getUsersListbyCompany(firestore, companyNickName);
82
- const usersPhoneList = companyUsersList.map(obj => obj.phone);
83
- console.log(usersPhoneList);
84
- for (let phone of usersPhoneList) {
85
- await syncReportDBFirebaseUserEntries(phone, companyId);
86
- }
87
- }
88
-
89
- async function main() {
90
- await syncMySqlAttendanceDbWithFirebase();
91
- }
92
-
93
- main();
@@ -1,103 +0,0 @@
1
- import { createInterface } from "readline";
2
- import { Utilities } from "../../src/models/utility.model";
3
- import admin from "../db";
4
- import { Company } from "../../src/models/company.model";
5
- import { Action } from "../../src/models/action.model";
6
- import { User } from "../../src/models/user.model";
7
- import { MeetingSummary } from "../../src/models/meeting.model";
8
- import { MeetingsPool } from "../dbMySql";
9
- import CurdService from "../../src/models/crud/crud";
10
-
11
-
12
- const readLineInterface = createInterface({
13
- input: process.stdin,
14
- output: process.stdout
15
- })
16
-
17
- const firestore = admin.firestore();
18
-
19
- const readLine = Utilities.readLineAsync;
20
- const readLineClose = Utilities.readLineClose;
21
-
22
-
23
-
24
- async function syncReportDBFirebaseUserEntries(doc:any,employeeName:string) {
25
- try {
26
- const reportData = {
27
- companyId: doc.companyId ?? "",
28
- employeeName: employeeName ?? "",
29
- eventId: doc.eventId ?? "",
30
- userId: doc.userId ?? "",
31
- phone: doc.phone ?? "",
32
- meetingDate: doc.extraData.date ?? "",
33
- meetingStartTime: doc.extraData["Start Time"] ?? "",
34
- meetingEndTime: doc.extraData["End Time"] ?? "",
35
- meetingImage: doc.extraData["meetingImage"] ?? "",
36
- contactName: doc.extraData.contactName ?? "",
37
- customerName: doc.extraData.customerName ?? "",
38
- companyNickName: "benara",
39
- time: doc.date
40
- }
41
- // console.log(reportData)
42
- await MeetingSummary.uploadEntryToReportDB(MeetingsPool, reportData);
43
- } catch(error) {
44
- console.log(error);
45
- } finally {
46
- readLineClose(readLineInterface);
47
- }
48
- }
49
-
50
- async function syncMySqlAttendanceDbWithFirebase() {
51
- const curdService = new CurdService(MeetingsPool)
52
- const companyNickName: any = await readLine("Enter company Name: ", readLineInterface);
53
- console.log("companyNickName", companyNickName);
54
- const actionName: any = await readLine("Enter action Name: ", readLineInterface);
55
- console.log("actionName", actionName);
56
- const companyId = await Company.getCompanyIdByNickName(firestore, companyNickName);
57
- console.log(companyId)
58
- const actionId = await Action.getActionId(firestore, companyId, actionName);
59
- const companyActionInfo = await firestore.collection("Companies")
60
- .doc(companyId)
61
- .collection("Actions")
62
- .doc(actionId)
63
- .collection("meetings")
64
- .orderBy("id")
65
- .get();
66
- // console.log(companyActionInfo.docs[0].data())
67
- const companyActionDocList = companyActionInfo.docs.map(obj => obj.data());
68
- let userNameMap = new Map()
69
- console.log(companyActionDocList.length)
70
- let matchedcount = 0
71
- let unmatchedcount = 0
72
- for (let doc of companyActionDocList) {
73
-
74
- if(!userNameMap.has(doc.userId)){
75
- let snapShot = await firestore.collection("Companies")
76
- .doc(companyId)
77
- .collection("Users")
78
- .doc(doc.userId)
79
- .get()
80
- let userName = snapShot.data()?.name
81
- userNameMap.set(doc.userId,userName)
82
- }
83
- const qryString = `SELECT * FROM mobioffice_meetings.meeting_reports
84
- WHERE eventId = '${doc.eventId}'`;
85
- const storedInfo:any = await curdService.query(qryString)
86
- if(storedInfo.length){
87
- matchedcount++;
88
- console.log("matched", matchedcount, storedInfo[0].id)
89
- }else{
90
- unmatchedcount++
91
- console.log(doc.id)
92
- let employeeName = userNameMap.get(doc.userId)
93
- await syncReportDBFirebaseUserEntries(doc,employeeName);
94
- console.log(unmatchedcount, `doc id ${doc.id} added`)
95
- }
96
- }
97
- }
98
-
99
- async function main() {
100
- await syncMySqlAttendanceDbWithFirebase();
101
- }
102
-
103
- main();
@@ -1,29 +0,0 @@
1
- import { Utilities } from "../../src/models/utility.model";
2
- import { createInterface } from "readline";
3
- import { getCompanyUsersDetails } from "./getCompanyUserDetails";
4
-
5
- const readLine = Utilities.readLineAsync;
6
- const readLineClose = Utilities.readLineClose;
7
-
8
- const readLineInterface = createInterface({
9
- input: process.stdin,
10
- output: process.stdout
11
- })
12
-
13
- async function fetchCompanyUserDetails() {
14
- try {
15
- const nickname = await readLine("Provide company nickname: ", readLineInterface);
16
- const userDetails = await getCompanyUsersDetails(nickname);
17
- console.log(userDetails);
18
- readLineClose(readLineInterface);
19
- }catch(error) {
20
- console.log(error.message);
21
- readLineClose(readLineInterface);
22
- }
23
- }
24
-
25
- async function main() {
26
- await fetchCompanyUserDetails();
27
- }
28
-
29
- main();
@@ -1,40 +0,0 @@
1
- import { createInterface } from "readline";
2
- import { Utilities } from "../../src/models/utility.model";
3
- import { Company } from "../../src/models/company.model";
4
- import admin from "../db";
5
- import { User } from "../../src/models/user.model";
6
-
7
- const readLineAsync = Utilities.readLineAsync;
8
- const readLineClose = Utilities.readLineClose;
9
-
10
- const readLineInterface = createInterface({
11
- input: process.stdin,
12
- output: process.stdout
13
- })
14
-
15
- async function transferFeedsFromOldToNewId() {
16
- const firestore = admin.firestore();
17
- try {
18
- const oldUserId: any = await readLineAsync("Provide user's old Id => ", readLineInterface);
19
- console.log(oldUserId);
20
- const companyNickName: any = await readLineAsync("Provide company nickname => ", readLineInterface);
21
- const companyId = await Company.getCompanyIdByNickName(firestore, companyNickName);
22
- console.log("got companyId:", companyId)
23
- // const oldFeedsDocsList = await firestore.collection("Feeds").doc(oldUserId)
24
- // .collection(companyId).get();
25
- const userNewId: any = await readLineAsync("Provide user's new Id => ", readLineInterface);
26
- const userPhone = await User.getUserPhonebyUserId(firestore, userNewId);
27
- console.log("got user phone:", userPhone);
28
- // console.log("number of old feeds:", oldFeedsDocsList.docs.length);
29
- readLineClose(readLineInterface);
30
- } catch(error) {
31
- console.log(error.message);
32
- readLineClose(readLineInterface);
33
- }
34
- }
35
-
36
- function main() {
37
- transferFeedsFromOldToNewId();
38
- }
39
-
40
- main();
@@ -1,89 +0,0 @@
1
- import { createInterface } from "readline";
2
- import { Utilities } from "../../src/models/utility.model";
3
- import { Company } from "../../src/models/company.model";
4
- import admin from "../db";
5
- import { User } from "../../src/models/user.model";
6
-
7
- const readLineInterface = createInterface({
8
- input: process.stdin,
9
- output: process.stdout
10
- })
11
-
12
- const readLine = Utilities.readLineAsync;
13
- const readLineClose = Utilities.readLineClose;
14
-
15
- async function transformUserIntoManager() {
16
- const firestore = admin.firestore();
17
- try {
18
- const nickName: any = await readLine("Enter company nickname: ", readLineInterface);
19
- const companyId = await Company.getCompanyIdByNickName(firestore, nickName);
20
- if (companyId) {
21
- console.log("Company Id:", companyId);
22
- } else {
23
- throw {
24
- message: "Invalid company nickname."
25
- }
26
- }
27
-
28
- const phonesCSV: any = await readLine("Provide 10-digits comma separated phone numbers of user which are to become managers: ", readLineInterface);
29
- const phonesArr = phonesCSV.split(",").map((phone) => phone.trim());
30
- if (phonesArr.length === 0) {
31
- throw {
32
- message: "Please provide the phone numbers of users"
33
- }
34
- }
35
- for (let i = 0; i < phonesArr.length; i++) {
36
- const toBeManagerUserId = await User.getUserIdByPhone(firestore, `+91${phonesArr[i]}`);
37
- if (toBeManagerUserId) {
38
- console.log("User id:", toBeManagerUserId);
39
- } else {
40
- throw {
41
- message: `No user found with the provided number (${phonesArr[i]})`
42
- }
43
- }
44
- const toBeManagerInfo = await User.getUserInfoById(firestore, toBeManagerUserId, companyId);
45
- const toBeManagerName = toBeManagerInfo?.name;
46
- const companyUsers = await firestore.collection("Companies").doc(companyId)
47
- .collection("Users").get();
48
- const proceedConfmn: any = await readLine(`${toBeManagerName} is going to be everyone's manager, Do you want to Proceed(Yes/No)? `, readLineInterface);
49
- if (proceedConfmn.trim().toLowerCase() === 'yes') {
50
- console.log("Proceeding...")
51
- } else {
52
- console.log("Stopping");
53
- return;
54
- }
55
- await Promise.all(companyUsers.docs.map(async (userDoc) => {
56
- const usersManagersList = userDoc.data()?.reportingTo;
57
- const usersManagersNames = userDoc.data()?.managers;
58
- const updatedManagersList = Array.from(new Set([
59
- ...usersManagersList,
60
- toBeManagerUserId
61
- ]));
62
- const updatedManagersNames = Array.from(new Set([
63
- ...usersManagersNames,
64
- toBeManagerName
65
- ]))
66
-
67
- if (userDoc.id !== toBeManagerUserId) {
68
- await userDoc.ref.update({
69
- reportingTo: updatedManagersList
70
- })
71
- await userDoc.ref.update({
72
- managers: updatedManagersNames
73
- })
74
- }
75
- }))
76
- console.log(`the userId of (${phonesArr[i]}) is now present in every one's reporting to list`)
77
- }
78
- readLineClose(readLineInterface);
79
- } catch(error) {
80
- readLineClose(readLineInterface);
81
- console.log(error.message);
82
- }
83
- }
84
-
85
- async function main() {
86
- await transformUserIntoManager();
87
- }
88
-
89
- main();
@@ -1,9 +0,0 @@
1
- import commandLineArgs from 'command-line-args'
2
-
3
- const optionDefinitions = [
4
- { name: 'verbose', alias: 'v', type: Boolean },
5
- { name: 'args', type: String, multiple: true, defaultOption: true },
6
- { name: 'timeout', alias: 't', type: Number }
7
- ]
8
-
9
- export const options = commandLineArgs(optionDefinitions)
@@ -1,131 +0,0 @@
1
- import fetch from 'node-fetch';
2
- import admin from "../db.js";
3
- // import * as fs from 'fs/promises';
4
-
5
- // interface RoleData {
6
- // [key: string]: any[];
7
- // }
8
-
9
- // interface ObjectData {
10
- // [key: string]: any;
11
- // }
12
-
13
- // async function fetchData(url: string): Promise<any[]> {
14
- // const callResponse = await fetch(url, {
15
- // method: 'GET',
16
- // headers: {
17
- // 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVSUQiOjMyLCJDSUQiOjEwMDAsIkFJRCI6MSwiYXBwTmFtZSI6ImNoaWxkc2FmZXR5IiwiY29tcGFueU5hbWUiOiJmb3VudGFpbmhlYWQiLCJVc2VybmFtZVBob25lRW1haWwiOiJyYW1AZ21haWwuY29tIiwiaWF0IjoxNzA3NzM1MzQyLCJleHAiOjE3MDgzNDAxNDJ9.m5fYA6l9fm2UTlmQ5v-pI7R9L5l05rmxIaClRu8pIPM',
18
- // 'Content-Type': 'application/json',
19
- // },
20
- // });
21
-
22
- // const data = await callResponse.json();
23
- // return data['Table'];
24
- // }
25
-
26
- // async function processObject(object: ObjectData): Promise<ObjectData> {
27
- // const newObj: ObjectData = { ...object };
28
-
29
- // try {
30
- // const employeesArray = object.employeeMobiles;
31
- // const executionarData = await fetchData(`https://api.mobi-um.mobioffice.io/api/account/GetUsersByRID?RID=${object.checkListItemData.roleId}`);
32
- // newObj['Incharge'] = await fetchData(`https://api.mobi-um.mobioffice.io/api/account/GetUsersByRID?RID=${object.standardRoleId}`);
33
- // newObj[object.checkListItemData.roleName] = executionarData.filter(employee => !employeesArray.includes(employee.Phone))
34
- // newObj['watchers'] = [...newObj[object.checkListItemData.roleName], ...newObj['Incharge']];
35
- // newObj['dueDate'] = convertDate(newObj['dueDate']);
36
-
37
- // } catch (error) {
38
- // console.error('Error fetching API data:', error);
39
- // }
40
-
41
- // return newObj;
42
- // }
43
-
44
- // async function main() {
45
- // try {
46
- // // Read JSON data and parse
47
- // const jsonData = await fs.readFile('payload.json', 'utf-8');
48
- // const dataArray: { data: ObjectData[] } = JSON.parse(jsonData);
49
-
50
- // // Create an empty array for final data
51
- // const finalData: ObjectData[] = await Promise.all(dataArray.data.map(processObject));
52
-
53
- // console.log(finalData.length)
54
-
55
- // // Write finalData to a new file
56
- // await fs.writeFile(`${new Date().getTime()} Latest finalData.json`, JSON.stringify(finalData, null, 2));
57
-
58
- // console.log('Final data saved successfully!');
59
- // } catch (error) {
60
- // console.error('Error reading JSON file:', error);
61
- // }
62
- // }
63
-
64
- // function convertDate(timestamp) {
65
- // let date = new Date(timestamp);
66
-
67
- // let day = date.getDate().toString().padStart(2, '0');
68
- // let month = (date.getMonth() + 1).toString().padStart(2, '0');
69
- // let year = date.getFullYear();
70
-
71
- // let formattedDate = `${day}-${month}-${year}`;
72
- // return formattedDate;
73
- // }
74
-
75
- // main();
76
-
77
- // import fs from 'fs';
78
- // async function main() {
79
- // try {
80
- // const jsonData = fs.readFileSync('1707735426147 Latest finalData.json', 'utf-8');
81
- // const objectsArray = JSON.parse(jsonData);
82
-
83
- // for (const obj of objectsArray) {
84
- // try {
85
- // const apiUrl = 'https://api.cs-mobiapp.mobioffice.io/api/child-safety/pushTasksToApp';
86
- // const payload = JSON.stringify(obj)
87
- // const apiResponse = await fetch(apiUrl, {
88
- // method: 'POST',
89
- // headers: {
90
- // 'Content-Type': 'application/json',
91
- // },
92
- // body: JSON.stringify(payload),
93
- // });
94
-
95
- // const apiData = await apiResponse.json();
96
- // console.log('API Response:', apiData);
97
-
98
- // } catch (apiError) {
99
- // console.error('Error calling API:', apiError);
100
- // }
101
- // }
102
-
103
- // console.log({ success: true, message: 'Objects processed successfully' });
104
- // } catch (error) {
105
- // console.error('Error processing objects:', error);
106
- // console.log({ success: false, error: 'Internal Server Error' });
107
- // }
108
- // };
109
-
110
- // import fs from 'fs';
111
- // async function main() {
112
- // try {
113
- // const jsonData = fs.readFileSync('1707555398005 backUpTask-GroupData.json', 'utf-8');
114
- // const objectsArray = JSON.parse(jsonData);
115
-
116
- // for (const obj of objectsArray) {
117
- // try {
118
- // const firestore = admin.firestore();
119
- // const docRef = await firestore.collection('Companies').doc('PVUhOWtzgw2V6omtD5Ra').collection('Task-Group').doc(obj.id).set(obj);
120
-
121
- // } catch (Error) {
122
- // console.error('Error calling API:', Error);
123
- // }
124
- // }
125
-
126
- // console.log({ success: true, message: 'Objects processed successfully' });
127
- // } catch (error) {
128
- // console.error('Error processing objects:', error);
129
- // console.log({ success: false, error: 'Internal Server Error' });
130
- // }
131
- // };
@@ -1,46 +0,0 @@
1
-
2
- import fs from "fs";
3
- import admin from ".././db";
4
- import {Company} from '../../src/models/company.model'
5
- import * as csvToJson from 'convert-csv-to-json'
6
- import { options } from ".././argvConfig.js";
7
-
8
- let argv = options.args[0].split(',')
9
- let firestore = admin.firestore();
10
-
11
- let arrayUnion = admin.firestore.FieldValue.arrayUnion
12
- let usersList = csvToJson.fieldDelimiter(',').getJsonFromCsv(argv[0]);
13
- // console.log(usersList)
14
- let userArray:any = []
15
- for(let user of usersList){
16
- let workAreas = user.Area.split("/").map(area => area.trim())
17
- console.log("city",workAreas)
18
- let userDetailsInFireStore = await firestore.collection("Companies")
19
- .doc("GC5BOfo2Ibma9CJ4NRpM")
20
- .collection("Users")
21
- .where("phone","==","+91"+user.phoneNumber)
22
- .get()
23
- if(userDetailsInFireStore.empty){
24
- let name = user.first_name+" "+user.last_name
25
- userArray.push(name)
26
- console.log(name)
27
- }else{
28
-
29
- let userId = userDetailsInFireStore.docs[0].data().id
30
- console.log(userId)
31
- let snapshot = await firestore.collection("CustomCollections")
32
- .doc("GC5BOfo2Ibma9CJ4NRpM")
33
- .collection("Users")
34
- .doc(userId).get()
35
- await firestore.collection("CustomCollections")
36
- .doc("GC5BOfo2Ibma9CJ4NRpM")
37
- .collection("Users")
38
- .doc(userId).set({
39
- id:userId,
40
- workAreas: admin.firestore.FieldValue.arrayUnion(...workAreas)
41
- })
42
- }
43
- }
44
- console.log(userArray.length)
45
- const usersInfoToWrite = JSON.stringify(userArray);
46
- fs.writeFileSync("./usersList.json", usersInfoToWrite, { flag: "w" });
@@ -1,26 +0,0 @@
1
- import admin from "../db.js";
2
- import {Company} from '../../src/models/company.model'
3
- import * as csvToJson from 'convert-csv-to-json'
4
- import { options } from "../argvConfig.js";
5
- import { CustomerServices } from "../../src/services/customer"
6
-
7
- let argv = options.args;
8
- let firestore = admin.firestore();
9
- let nickName = argv[0]
10
- let customersList = csvToJson.fieldDelimiter(',').getJsonFromCsv(argv[1]);
11
- let count = 0
12
-
13
- for(let user of customersList){
14
- if(user.address){
15
- user.address = user.address.replaceAll("&",",")
16
- }
17
- let status:any = await CustomerServices.addCustomers(firestore,nickName,user)
18
- count += 1
19
- console.log(count)
20
- }
21
- console.log("done");
22
-
23
-
24
-
25
-
26
-
@@ -1,27 +0,0 @@
1
- import admin from "../db.js";
2
- import {Company} from '../../src/models/company.model'
3
- // import * as csvToJson from 'convert-csv-to-json'
4
- import { options } from "../argvConfig.js";
5
- import { CustomerServices } from "../../src/services/customer"
6
- import fs from "fs";
7
-
8
- let argv = options.args;
9
- let firestore = admin.firestore();
10
- let nickName = argv[0]
11
- let filePath = argv[1];
12
- const file = fs.readFileSync(filePath, "utf-8");
13
- const contactsList = JSON.parse(file);
14
- // let customerContactsList = csvToJson.fieldDelimiter(',').getJsonFromCsv(argv[1]);
15
-
16
-
17
-
18
- for(let i = 0; i < contactsList.length; i++){
19
- // let status:any = await CustomerServices.deleteCustomerContact(firestore,nickName,customerContact)
20
- let status:any = await CustomerServices.addCustomerContactsViaJSON(firestore,nickName,contactsList[i]);
21
- console.log(status)
22
- }
23
-
24
-
25
-
26
-
27
-
@@ -1,17 +0,0 @@
1
- import admin from "../db";
2
-
3
- const firestore = admin.firestore();
4
- const arr = ["9BF7phZxYYSOuSjMkag1X5rgUhB3","qHvxp9Wts1NeSuDK6IQgiY7dWEq2","ZHucAZh0VFOzqt1BDLmn5NvckZn2","PlcmNHwHmvSH0VlCZ5DN1CwXgYn1"]
5
- for(let id of arr){
6
- const previousUsers = await firestore.collection("CustomCollections")
7
- .doc("GC5BOfo2Ibma9CJ4NRpM")
8
- .collection("Users")
9
- .doc(id)
10
- .set({
11
- id:id,
12
- workAreas:[]
13
- })
14
- }
15
-
16
-
17
-
@@ -1,35 +0,0 @@
1
- import admin from ".././db";
2
- let firestore = admin.firestore();
3
- let userDetailsInFireStore = await firestore.collection("Companies")
4
- .doc("GC5BOfo2Ibma9CJ4NRpM")
5
- .collection("Users")
6
- .get()
7
- let userList:any = userDetailsInFireStore.docs.map(async(user)=>{
8
- let managerNameList = user.data().managers
9
- // console.log(managerNameList)
10
- if(managerNameList.length){
11
- let managerId: any = []
12
- // console.log(user.data().name)
13
- for(let manager of managerNameList){
14
- let userSnapshot = await firestore.collection("Companies")
15
- .doc("GC5BOfo2Ibma9CJ4NRpM")
16
- .collection("Users")
17
- .where("name",'==',manager)
18
- .get()
19
- // console.log(userSnapshot.docs.length)
20
- if(userSnapshot.docs.length > 0){
21
- managerId.push(userSnapshot.docs[0].data().id)
22
- }
23
- }
24
- await user.ref.update({
25
- reportingTo: []
26
- })
27
- await user.ref.update({
28
- reportingTo: admin.firestore.FieldValue.arrayUnion(...managerId)
29
- })
30
- console.log(managerId)
31
- console.log(user.data().name)
32
- }else{
33
- // console.log(user.data().name)
34
- }
35
- })