cc-core-cli 1.0.0

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 (291) hide show
  1. package/README.md +107 -0
  2. package/admin/.env +10 -0
  3. package/admin/docker-compose.yml +9 -0
  4. package/bin/index.js +113 -0
  5. package/genpkg/core-lib/package.json +49 -0
  6. package/package.json +28 -0
  7. package/template/media/system/icons/company.svg +1 -0
  8. package/template/media/system/icons/deploy.svg +2 -0
  9. package/template/media/system/icons/entities.svg +55 -0
  10. package/template/media/system/icons/gateway.svg +1 -0
  11. package/template/media/system/icons/import-export.svg +41 -0
  12. package/template/media/system/icons/integration.svg +1 -0
  13. package/template/media/system/icons/master_data.svg +53 -0
  14. package/template/media/system/icons/monitoring.svg +114 -0
  15. package/template/media/system/icons/provider.svg +1 -0
  16. package/template/media/system/icons/report.svg +69 -0
  17. package/template/media/system/icons/schedule.svg +1 -0
  18. package/template/media/system/icons/security.svg +1 -0
  19. package/template/media/system/icons/storage.svg +1 -0
  20. package/template/media/system/icons/template.svg +44 -0
  21. package/template/media/system/icons/theme-layout.svg +1 -0
  22. package/template/newrelic.sh +15 -0
  23. package/template/package-lock.json +13944 -0
  24. package/template/package.json +165 -0
  25. package/template/src/app.controller.ts +33 -0
  26. package/template/src/app.module.ts +163 -0
  27. package/template/src/app.service.ts +21 -0
  28. package/template/src/app_cluster.service.ts +58 -0
  29. package/template/src/core/core.controller.ts +410 -0
  30. package/template/src/core/core.module.ts +86 -0
  31. package/template/src/core/core.service.ts +715 -0
  32. package/template/src/core/setting/_settings/about.layout.json +49 -0
  33. package/template/src/core/setting/_settings/cache.layout.json +309 -0
  34. package/template/src/core/setting/_settings/schedule.layout.json +132 -0
  35. package/template/src/core/setting/_settings/security.layout.json +1622 -0
  36. package/template/src/core/setting/_settings/storage.layout.json +520 -0
  37. package/template/src/core/setting/_settings/swagger.layout.json +128 -0
  38. package/template/src/core/setting/_settings/theme_layout.layout.json +1195 -0
  39. package/template/src/main.ts +299 -0
  40. package/template/src/modules/modules.ts +16 -0
  41. package/template/tsconfig.build.json +4 -0
  42. package/template/tsconfig.json +22 -0
  43. package/template/version.json +5 -0
  44. package/template_admin/.env +10 -0
  45. package/template_admin/README.md +29 -0
  46. package/template_admin/config/service-account.json +1 -0
  47. package/template_admin/index.js +63 -0
  48. package/template_admin/newrelic.js +78 -0
  49. package/template_admin/next.config.js +76 -0
  50. package/template_admin/package-lock.json +7379 -0
  51. package/template_admin/package.json +23 -0
  52. package/template_admin/pages/404.js +13 -0
  53. package/template_admin/pages/[...url_key].js +21 -0
  54. package/template_admin/pages/_app.js +10 -0
  55. package/template_admin/pages/_document.js +43 -0
  56. package/template_admin/pages/callback.js +13 -0
  57. package/template_admin/pages/cognito.js +13 -0
  58. package/template_admin/pages/confirmpassword.js +12 -0
  59. package/template_admin/pages/forgotpassword.js +12 -0
  60. package/template_admin/pages/index.js +13 -0
  61. package/template_admin/pages/login.js +13 -0
  62. package/template_admin/pages/maintenance.js +12 -0
  63. package/template_admin/pages/newrelic.js +78 -0
  64. package/template_admin/pages/password_expired.js +13 -0
  65. package/template_admin/pages/permission_denied.js +13 -0
  66. package/template_admin/pages/profile.js +14 -0
  67. package/template_admin/pages/setting/[...setting_url_key].js +13 -0
  68. package/template_admin/pages/setting/entities/[subList]/detail.js +14 -0
  69. package/template_admin/pages/setting/entities/[subList]/detail_compare.js +8 -0
  70. package/template_admin/pages/setting/entities/[subList]/index.js +7 -0
  71. package/template_admin/pages/setting/entities/detail/index.js +14 -0
  72. package/template_admin/pages/setting/entities/index.js +14 -0
  73. package/template_admin/pages/social.js +13 -0
  74. package/template_admin/pages/token_expired.js +12 -0
  75. package/template_admin/public/icon-192x192.png +0 -0
  76. package/template_admin/public/icon-256x256.png +0 -0
  77. package/template_admin/public/icon-384x384.png +0 -0
  78. package/template_admin/public/icon-512x512.png +0 -0
  79. package/template_admin/public/manifest.json +32 -0
  80. package/template_admin/public/static/images/aws-cognito.png +0 -0
  81. package/template_admin/public/static/images/bin_icon.svg +1 -0
  82. package/template_admin/public/static/images/color-picker.png +0 -0
  83. package/template_admin/public/static/images/csv_icon.svg +1 -0
  84. package/template_admin/public/static/images/default-file.png +0 -0
  85. package/template_admin/public/static/images/default-img.png +0 -0
  86. package/template_admin/public/static/images/default-map.png +0 -0
  87. package/template_admin/public/static/images/default-profile.png +0 -0
  88. package/template_admin/public/static/images/doc_icon.svg +1 -0
  89. package/template_admin/public/static/images/exe_icon.svg +1 -0
  90. package/template_admin/public/static/images/gif_icon.svg +1 -0
  91. package/template_admin/public/static/images/google.png +0 -0
  92. package/template_admin/public/static/images/id-connect.png +0 -0
  93. package/template_admin/public/static/images/iso_icon.svg +1 -0
  94. package/template_admin/public/static/images/json_icon.png +0 -0
  95. package/template_admin/public/static/images/lang/af-ZA.svg +41 -0
  96. package/template_admin/public/static/images/lang/ar-AE.svg +38 -0
  97. package/template_admin/public/static/images/lang/ar-BH.svg +36 -0
  98. package/template_admin/public/static/images/lang/ar-DZ.svg +40 -0
  99. package/template_admin/public/static/images/lang/ar-EG.svg +38 -0
  100. package/template_admin/public/static/images/lang/ar-IQ.svg +46 -0
  101. package/template_admin/public/static/images/lang/ar-JO.svg +39 -0
  102. package/template_admin/public/static/images/lang/ar-KW.svg +38 -0
  103. package/template_admin/public/static/images/lang/ar-LB.svg +40 -0
  104. package/template_admin/public/static/images/lang/ar-LY.svg +41 -0
  105. package/template_admin/public/static/images/lang/ar-MA.svg +36 -0
  106. package/template_admin/public/static/images/lang/ar-OM.svg +70 -0
  107. package/template_admin/public/static/images/lang/ar-QA.svg +36 -0
  108. package/template_admin/public/static/images/lang/ar-SA.svg +62 -0
  109. package/template_admin/public/static/images/lang/ar-TN.svg +40 -0
  110. package/template_admin/public/static/images/lang/ar-YE.svg +37 -0
  111. package/template_admin/public/static/images/lang/az-AZ.svg +41 -0
  112. package/template_admin/public/static/images/lang/be-BY.svg +38 -0
  113. package/template_admin/public/static/images/lang/bg-BG.svg +37 -0
  114. package/template_admin/public/static/images/lang/bs-BA.svg +48 -0
  115. package/template_admin/public/static/images/lang/ca-ES.svg +89 -0
  116. package/template_admin/public/static/images/lang/cs-CZ.svg +37 -0
  117. package/template_admin/public/static/images/lang/cy-GB.svg +43 -0
  118. package/template_admin/public/static/images/lang/da-DK.svg +36 -0
  119. package/template_admin/public/static/images/lang/de-AT.svg +39 -0
  120. package/template_admin/public/static/images/lang/de-CH.svg +36 -0
  121. package/template_admin/public/static/images/lang/de-DE.svg +37 -0
  122. package/template_admin/public/static/images/lang/de-LI.svg +45 -0
  123. package/template_admin/public/static/images/lang/de-LU.svg +37 -0
  124. package/template_admin/public/static/images/lang/dv-MV.svg +37 -0
  125. package/template_admin/public/static/images/lang/el-GR.svg +46 -0
  126. package/template_admin/public/static/images/lang/en-AU.svg +51 -0
  127. package/template_admin/public/static/images/lang/en-BZ.svg +196 -0
  128. package/template_admin/public/static/images/lang/en-CA.svg +43 -0
  129. package/template_admin/public/static/images/lang/en-GB.svg +43 -0
  130. package/template_admin/public/static/images/lang/en-IE.svg +37 -0
  131. package/template_admin/public/static/images/lang/en-JM.svg +40 -0
  132. package/template_admin/public/static/images/lang/en-NZ.svg +51 -0
  133. package/template_admin/public/static/images/lang/en-PH.svg +51 -0
  134. package/template_admin/public/static/images/lang/en-SG.svg +44 -0
  135. package/template_admin/public/static/images/lang/en-TT.svg +40 -0
  136. package/template_admin/public/static/images/lang/en-US.svg +88 -0
  137. package/template_admin/public/static/images/lang/en-ZA.svg +41 -0
  138. package/template_admin/public/static/images/lang/en-ZW.svg +50 -0
  139. package/template_admin/public/static/images/lang/es-AR.svg +41 -0
  140. package/template_admin/public/static/images/lang/es-BO.svg +101 -0
  141. package/template_admin/public/static/images/lang/es-CL.svg +38 -0
  142. package/template_admin/public/static/images/lang/es-CO.svg +37 -0
  143. package/template_admin/public/static/images/lang/es-CR.svg +111 -0
  144. package/template_admin/public/static/images/lang/es-DO.svg +103 -0
  145. package/template_admin/public/static/images/lang/es-EC.svg +87 -0
  146. package/template_admin/public/static/images/lang/es-ES.svg +89 -0
  147. package/template_admin/public/static/images/lang/es-GT.svg +109 -0
  148. package/template_admin/public/static/images/lang/es-HN.svg +46 -0
  149. package/template_admin/public/static/images/lang/es-MX.svg +60 -0
  150. package/template_admin/public/static/images/lang/es-NI.svg +82 -0
  151. package/template_admin/public/static/images/lang/es-PA.svg +41 -0
  152. package/template_admin/public/static/images/lang/es-PE.svg +37 -0
  153. package/template_admin/public/static/images/lang/es-PR.svg +43 -0
  154. package/template_admin/public/static/images/lang/es-PY.svg +41 -0
  155. package/template_admin/public/static/images/lang/es-SV.svg +115 -0
  156. package/template_admin/public/static/images/lang/es-UY.svg +75 -0
  157. package/template_admin/public/static/images/lang/es-VE.svg +49 -0
  158. package/template_admin/public/static/images/lang/et-EE.svg +37 -0
  159. package/template_admin/public/static/images/lang/eu-ES.svg +89 -0
  160. package/template_admin/public/static/images/lang/fa-IR.svg +81 -0
  161. package/template_admin/public/static/images/lang/fi-FI.svg +36 -0
  162. package/template_admin/public/static/images/lang/fr-BE.svg +37 -0
  163. package/template_admin/public/static/images/lang/fr-CA.svg +43 -0
  164. package/template_admin/public/static/images/lang/fr-CH.svg +36 -0
  165. package/template_admin/public/static/images/lang/fr-FR.svg +37 -0
  166. package/template_admin/public/static/images/lang/fr-LU.svg +37 -0
  167. package/template_admin/public/static/images/lang/fr-MC.svg +36 -0
  168. package/template_admin/public/static/images/lang/gl-ES.svg +89 -0
  169. package/template_admin/public/static/images/lang/gu-IN.svg +59 -0
  170. package/template_admin/public/static/images/lang/he-IL.svg +37 -0
  171. package/template_admin/public/static/images/lang/hi-IN.svg +59 -0
  172. package/template_admin/public/static/images/lang/hr-BA.svg +48 -0
  173. package/template_admin/public/static/images/lang/hr-HR.svg +101 -0
  174. package/template_admin/public/static/images/lang/hu-HU.svg +37 -0
  175. package/template_admin/public/static/images/lang/hy-AM.svg +37 -0
  176. package/template_admin/public/static/images/lang/id-ID.svg +36 -0
  177. package/template_admin/public/static/images/lang/is-IS.svg +37 -0
  178. package/template_admin/public/static/images/lang/it-CH.svg +36 -0
  179. package/template_admin/public/static/images/lang/it-IT.svg +37 -0
  180. package/template_admin/public/static/images/lang/ja-JP.svg +36 -0
  181. package/template_admin/public/static/images/lang/ka-GE.svg +42 -0
  182. package/template_admin/public/static/images/lang/kk-KZ.svg +72 -0
  183. package/template_admin/public/static/images/lang/kn-IN.svg +59 -0
  184. package/template_admin/public/static/images/lang/ko-KR.svg +57 -0
  185. package/template_admin/public/static/images/lang/kok-IN.svg +59 -0
  186. package/template_admin/public/static/images/lang/ky-KG.svg +54 -0
  187. package/template_admin/public/static/images/lang/lt-LT.svg +37 -0
  188. package/template_admin/public/static/images/lang/lv-LV.svg +36 -0
  189. package/template_admin/public/static/images/lang/mi-NZ.svg +51 -0
  190. package/template_admin/public/static/images/lang/mk-MK.svg +46 -0
  191. package/template_admin/public/static/images/lang/mn-MN.svg +50 -0
  192. package/template_admin/public/static/images/lang/mr-IN.svg +59 -0
  193. package/template_admin/public/static/images/lang/ms-BN.svg +47 -0
  194. package/template_admin/public/static/images/lang/ms-MY.svg +53 -0
  195. package/template_admin/public/static/images/lang/mt-MT.svg +50 -0
  196. package/template_admin/public/static/images/lang/nb-NO.svg +37 -0
  197. package/template_admin/public/static/images/lang/nl-BE.svg +37 -0
  198. package/template_admin/public/static/images/lang/nl-NL.svg +37 -0
  199. package/template_admin/public/static/images/lang/nn-NO.svg +37 -0
  200. package/template_admin/public/static/images/lang/ns-ZA.svg +41 -0
  201. package/template_admin/public/static/images/lang/pa-IN.svg +59 -0
  202. package/template_admin/public/static/images/lang/pl-PL.svg +36 -0
  203. package/template_admin/public/static/images/lang/ps-AR.svg +68 -0
  204. package/template_admin/public/static/images/lang/pt-BR.svg +51 -0
  205. package/template_admin/public/static/images/lang/pt-PT.svg +55 -0
  206. package/template_admin/public/static/images/lang/qu-BO.svg +101 -0
  207. package/template_admin/public/static/images/lang/qu-EC.svg +87 -0
  208. package/template_admin/public/static/images/lang/qu-PE.svg +37 -0
  209. package/template_admin/public/static/images/lang/ro-RO.svg +37 -0
  210. package/template_admin/public/static/images/lang/ru-RU.svg +37 -0
  211. package/template_admin/public/static/images/lang/sa-IN.svg +59 -0
  212. package/template_admin/public/static/images/lang/se-FI.svg +36 -0
  213. package/template_admin/public/static/images/lang/se-NO.svg +37 -0
  214. package/template_admin/public/static/images/lang/se-SE.svg +36 -0
  215. package/template_admin/public/static/images/lang/sk-SK.svg +41 -0
  216. package/template_admin/public/static/images/lang/sl-SI.svg +51 -0
  217. package/template_admin/public/static/images/lang/sq-AL.svg +36 -0
  218. package/template_admin/public/static/images/lang/sr-BA.svg +48 -0
  219. package/template_admin/public/static/images/lang/sr-SP.svg +79 -0
  220. package/template_admin/public/static/images/lang/sv-FI.svg +36 -0
  221. package/template_admin/public/static/images/lang/sv-SE.svg +36 -0
  222. package/template_admin/public/static/images/lang/sw-KE.svg +55 -0
  223. package/template_admin/public/static/images/lang/syr-SY.svg +41 -0
  224. package/template_admin/public/static/images/lang/ta-IN.svg +59 -0
  225. package/template_admin/public/static/images/lang/te-IN.svg +59 -0
  226. package/template_admin/public/static/images/lang/th-TH.svg +40 -0
  227. package/template_admin/public/static/images/lang/tl-PH.svg +51 -0
  228. package/template_admin/public/static/images/lang/tn-ZA.svg +41 -0
  229. package/template_admin/public/static/images/lang/tr-TR.svg +39 -0
  230. package/template_admin/public/static/images/lang/tt-RU.svg +37 -0
  231. package/template_admin/public/static/images/lang/uk-UA.svg +36 -0
  232. package/template_admin/public/static/images/lang/ur-PK.svg +40 -0
  233. package/template_admin/public/static/images/lang/vi-VN.svg +36 -0
  234. package/template_admin/public/static/images/lang/xh-ZA.svg +41 -0
  235. package/template_admin/public/static/images/lang/zh-CN.svg +42 -0
  236. package/template_admin/public/static/images/lang/zh-HK.svg +42 -0
  237. package/template_admin/public/static/images/lang/zh-SG.svg +44 -0
  238. package/template_admin/public/static/images/lang/zh-TW.svg +43 -0
  239. package/template_admin/public/static/images/lang/zu-ZA.svg +41 -0
  240. package/template_admin/public/static/images/logo-company-default.svg +1 -0
  241. package/template_admin/public/static/images/logo.png +0 -0
  242. package/template_admin/public/static/images/m_logo.png +0 -0
  243. package/template_admin/public/static/images/maintenance-icon.png +0 -0
  244. package/template_admin/public/static/images/member_logo.png +0 -0
  245. package/template_admin/public/static/images/pdf_icon.svg +1 -0
  246. package/template_admin/public/static/images/png_icon.svg +1 -0
  247. package/template_admin/public/static/images/security.png +0 -0
  248. package/template_admin/public/static/images/translation.svg +82 -0
  249. package/template_admin/public/static/images/txt_icon.svg +1 -0
  250. package/template_admin/public/static/images/widget-bubble.png +0 -0
  251. package/template_admin/public/static/images/widget-column.png +0 -0
  252. package/template_admin/public/static/images/widget-combo.png +0 -0
  253. package/template_admin/public/static/images/widget-doughnut.png +0 -0
  254. package/template_admin/public/static/images/widget-line.png +0 -0
  255. package/template_admin/public/static/images/widget-pie.png +0 -0
  256. package/template_admin/public/static/images/widget-scatter.png +0 -0
  257. package/template_admin/public/static/images/widget-summary_box.png +0 -0
  258. package/template_admin/public/static/images/widget-treemap.png +0 -0
  259. package/template_admin/public/static/images/xls_icon.svg +1 -0
  260. package/template_admin/public/static/images/xml_icon.svg +1 -0
  261. package/template_admin/public/static/images/zip_icon.svg +1 -0
  262. package/template_admin/public/static/styles/activity_log.less +157 -0
  263. package/template_admin/public/static/styles/calendar.less +132 -0
  264. package/template_admin/public/static/styles/collections.less +123 -0
  265. package/template_admin/public/static/styles/compute_field.less +250 -0
  266. package/template_admin/public/static/styles/custom-antd.less +78 -0
  267. package/template_admin/public/static/styles/custom.less +0 -0
  268. package/template_admin/public/static/styles/custom_icon.less +556 -0
  269. package/template_admin/public/static/styles/date_search.less +53 -0
  270. package/template_admin/public/static/styles/detail.less +2670 -0
  271. package/template_admin/public/static/styles/entities.less +891 -0
  272. package/template_admin/public/static/styles/filter.less +24 -0
  273. package/template_admin/public/static/styles/filter_new.less +154 -0
  274. package/template_admin/public/static/styles/hook.less +136 -0
  275. package/template_admin/public/static/styles/import_export.less +62 -0
  276. package/template_admin/public/static/styles/input.less +386 -0
  277. package/template_admin/public/static/styles/layout.less +1211 -0
  278. package/template_admin/public/static/styles/login.less +222 -0
  279. package/template_admin/public/static/styles/mainheader.less +32 -0
  280. package/template_admin/public/static/styles/permission_denied.less +13 -0
  281. package/template_admin/public/static/styles/print_template.less +36 -0
  282. package/template_admin/public/static/styles/rabbitmq.less +3 -0
  283. package/template_admin/public/static/styles/restful.less +22 -0
  284. package/template_admin/public/static/styles/setting.less +409 -0
  285. package/template_admin/public/static/styles/style.less +1736 -0
  286. package/template_admin/public/static/styles/system.less +11 -0
  287. package/template_admin/public/static/styles/versioning_control.less +24 -0
  288. package/template_admin/public/static/styles/wysiwyg.less +8 -0
  289. package/template_admin/theme/main.less +1 -0
  290. package/template_admin/theme/vars.less +34 -0
  291. package/template_admin/version.json +1 -0
@@ -0,0 +1,715 @@
1
+ import * as _ from "lodash";
2
+
3
+ import {
4
+ Inject,
5
+ Injectable,
6
+ OnModuleInit,
7
+ } from "@nestjs/common";
8
+ import { ModuleRef } from "@nestjs/core";
9
+
10
+
11
+ import { CUSTOM_MODULES } from "src/modules/modules";
12
+
13
+ import {
14
+ ActivityLogService,
15
+ ApiKeyService,
16
+ AttachmentService,
17
+ CommentDataService,
18
+ CustomFunctionService,
19
+ AddressService,
20
+ CountryService,
21
+ ProvinceService,
22
+ DistrictService,
23
+ SubdistrictService,
24
+ TimeZoneService,
25
+ DeployDestinationService,
26
+ DeployPackageService,
27
+ DeployLogService,
28
+ ExecutionLogService,
29
+ ImportExportService,
30
+ ImportExportLogService,
31
+ LanguageService,
32
+ MailSettingService,
33
+ MailLogService,
34
+ MapLocationService,
35
+ ReportReportService,
36
+ ReasonMasterService,
37
+ ReasonOptionService,
38
+ ReasonDataService,
39
+ ScheduleActionService,
40
+ ScheduleLogService,
41
+ SFTPSettingService,
42
+ SftpLogService,
43
+ SmsService,
44
+ SmsLogService,
45
+ TemplateService,
46
+ TranslateService,
47
+ NotificationLogService,
48
+ ShortlyUrlService,
49
+ LayoutShareWidgetService,
50
+ SearchResultDto,
51
+ UserService,
52
+ UserRoleService,
53
+ UserRolePermissonService,
54
+ UserFilterService,
55
+ VersionDataService,
56
+ WidgetService,
57
+ IBaseModuleSettingService,
58
+ NotificationSubscriptionService,
59
+ NotificationMessageService,
60
+ NotificationMessageQueueService,
61
+ } from 'cc-core-lib/core'
62
+
63
+ const SPECIFY_CUSTOM_MODULES =
64
+ process.env.CUSTOM_MODULES === "" || process.env.CUSTOM_MODULES === undefined
65
+ ? []
66
+ : process.env.CUSTOM_MODULES.split(",");
67
+
68
+ const RUN_CUSTOM_MODULES =
69
+ SPECIFY_CUSTOM_MODULES.length === 0
70
+ ? CUSTOM_MODULES
71
+ : CUSTOM_MODULES.filter(c =>
72
+ SPECIFY_CUSTOM_MODULES.includes(c.module.name)
73
+ );
74
+
75
+ const CUSTOM_SERVICES = _.reduce(
76
+ RUN_CUSTOM_MODULES,
77
+ (r, v) => {
78
+ const moduleName = _.snakeCase(
79
+ `${v.module.name.slice(0, 2).toLowerCase()}${v.module.name.slice(2)}`
80
+ )
81
+ .toLowerCase()
82
+ .replace("_module", "");
83
+ for (const service of v.services || []) {
84
+ const serviceName = `${service.name
85
+ .slice(0, 2)
86
+ .toLowerCase()}${service.name.slice(2)}`;
87
+ let key = `${moduleName}_${_.snakeCase(serviceName)
88
+ .toLowerCase()
89
+ .replace("_service", "")
90
+ .replace(`${moduleName}_`, "")}`;
91
+ if (key === "sellers_seller_user") {
92
+ key = "sellers_user";
93
+ }
94
+ r[key] = service;
95
+ }
96
+ return r;
97
+ },
98
+ {}
99
+ );
100
+
101
+ const CUSTOM_LOG_SERVICES = _.reduce(
102
+ RUN_CUSTOM_MODULES,
103
+ (r, v) => {
104
+ const moduleName = _.snakeCase(
105
+ `${v.module.name.slice(0, 2).toLowerCase()}${v.module.name.slice(2)}`
106
+ )
107
+ .toLowerCase()
108
+ .replace("_module", "");
109
+ for (const service of v.services || []) {
110
+ const serviceName = _.snakeCase(
111
+ `${service.name.slice(0, 2).toLowerCase()}${service.name.slice(2)}`
112
+ )
113
+ .toLowerCase()
114
+ .replace("_service", "")
115
+ .replace(`${moduleName}_`, "");
116
+ if (serviceName === "log") {
117
+ const key = `${moduleName}_${serviceName}`;
118
+ r[key] = service;
119
+ }
120
+ }
121
+ return r;
122
+ },
123
+ {}
124
+ );
125
+
126
+ const CUSTOM_SETTING_SERVICES = _.reduce(
127
+ RUN_CUSTOM_MODULES,
128
+ (r, v) => {
129
+ const moduleName = _.snakeCase(
130
+ `${v.module.name.slice(0, 2).toLowerCase()}${v.module.name.slice(2)}`
131
+ )
132
+ .toLowerCase()
133
+ .replace("_module", "");
134
+ for (const service of v.services || []) {
135
+ const serviceName = _.snakeCase(
136
+ `${service.name.slice(0, 2).toLowerCase()}${service.name.slice(2)}`
137
+ )
138
+ .toLowerCase()
139
+ .replace("_service", "")
140
+ .replace(`${moduleName}_`, "");
141
+ if (serviceName === "setting") {
142
+ const key = `${moduleName}_${serviceName}`;
143
+ r[key] = service;
144
+ }
145
+ }
146
+ return r;
147
+ },
148
+ {}
149
+ );
150
+
151
+ @Injectable()
152
+ export class CoreService implements OnModuleInit {
153
+ @Inject(ActivityLogService)
154
+ private readonly _activityLogService: ActivityLogService;
155
+ @Inject(AddressService) private readonly _addressService: AddressService;
156
+ @Inject(ApiKeyService) private readonly _apiKeyService: ApiKeyService;
157
+ @Inject(AttachmentService)
158
+ private readonly _attachmentService: AttachmentService;
159
+ @Inject(CommentDataService)
160
+ private readonly _commentDataService: CommentDataService;
161
+ @Inject(CountryService) private readonly _countryService: CountryService;
162
+ @Inject(CustomFunctionService)
163
+ private readonly _customFunctionService: CustomFunctionService;
164
+ @Inject(DeployDestinationService)
165
+ private readonly _deployDestinationService: DeployDestinationService;
166
+ @Inject(DeployLogService)
167
+ private readonly _deployLogService: DeployLogService;
168
+ @Inject(DeployPackageService)
169
+ private readonly _deployPackageService: DeployPackageService;
170
+ @Inject(DistrictService) private readonly _districtService: DistrictService;
171
+ @Inject(ExecutionLogService)
172
+ private readonly _executionLogService: ExecutionLogService;
173
+ @Inject(ImportExportService)
174
+ private readonly _importExportService: ImportExportService;
175
+ @Inject(ImportExportLogService)
176
+ private readonly _importExportLogService: ImportExportLogService;
177
+ @Inject(LanguageService)
178
+ private readonly _languageService: LanguageService;
179
+ @Inject(LayoutShareWidgetService)
180
+ private readonly _layoutShareWidgetService: LayoutShareWidgetService;
181
+ @Inject(MailSettingService)
182
+ private readonly _mailService: MailSettingService;
183
+ @Inject(MailLogService)
184
+ private readonly _mailLogService: MailLogService;
185
+ @Inject(MapLocationService)
186
+ private readonly _mapLocationService: MapLocationService;
187
+ @Inject(NotificationSubscriptionService)
188
+ private readonly _notificationSubscriptionService: NotificationSubscriptionService;
189
+ @Inject(NotificationMessageService)
190
+ private readonly _notificationMessageService: NotificationMessageService;
191
+ @Inject(NotificationMessageQueueService)
192
+ private readonly _notificationMessageQueueService: NotificationMessageQueueService;
193
+ @Inject(NotificationLogService)
194
+ private readonly _notificationLogService: NotificationLogService;
195
+ @Inject(ProvinceService) private readonly _provinceService: ProvinceService;
196
+ @Inject(ReportReportService)
197
+ private readonly _reportReportService: ReportReportService;
198
+ @Inject(ReasonDataService)
199
+ private readonly _reasonDataService: ReasonDataService;
200
+ @Inject(ReasonMasterService)
201
+ private readonly _reasonMasterService: ReasonMasterService;
202
+ @Inject(ReasonOptionService)
203
+ private readonly _reasonOptionService: ReasonOptionService;
204
+ @Inject(ScheduleActionService)
205
+ private readonly _scheduleActionService: ScheduleActionService;
206
+ @Inject(ScheduleLogService)
207
+ private readonly _scheduleLogService: ScheduleLogService;
208
+ @Inject(SFTPSettingService)
209
+ private readonly _sftpService: SFTPSettingService;
210
+ @Inject(SftpLogService)
211
+ private readonly _sftpLogService: SftpLogService;
212
+ @Inject(ShortlyUrlService)
213
+ private readonly _shortlyUrlService: ShortlyUrlService;
214
+ @Inject(SmsService)
215
+ private readonly _smsService: SmsService;
216
+ @Inject(SmsLogService)
217
+ private readonly _smsLogService: SmsLogService;
218
+ @Inject(SubdistrictService)
219
+ private readonly _subdistrictService: SubdistrictService;
220
+ @Inject(TemplateService)
221
+ private readonly _templateService: TemplateService;
222
+ @Inject(TimeZoneService) private readonly _timeZoneService: TimeZoneService;
223
+ @Inject(TranslateService)
224
+ private readonly _translateService: TranslateService;
225
+ @Inject(UserFilterService)
226
+ private readonly _userFilterService: UserFilterService;
227
+ @Inject(UserRoleService)
228
+ private readonly _userRoleService: UserRoleService;
229
+ @Inject(UserRolePermissonService)
230
+ private readonly _userRolePermissonService: UserRolePermissonService;
231
+ @Inject(UserService)
232
+ private readonly _userService: UserService;
233
+ @Inject(VersionDataService)
234
+ private readonly _versionDataService: VersionDataService;
235
+ @Inject(WidgetService)
236
+ private readonly _widgetService: WidgetService;
237
+
238
+ private services: any = {};
239
+
240
+ constructor(private moduleRef: ModuleRef) { }
241
+
242
+ async onModuleInit() {
243
+ // console.log(CUSTOM_SERVICES);
244
+ for (const key of Object.keys(CUSTOM_SERVICES)) {
245
+ this.services[key] = await this.moduleRef.get(CUSTOM_SERVICES[key], {
246
+ strict: false
247
+ });
248
+ }
249
+ }
250
+
251
+ private async _getService(entityName: string): Promise<any> {
252
+ switch (entityName) {
253
+ case "activity_log":
254
+ return this._activityLogService;
255
+ case "address":
256
+ return this._addressService;
257
+ case "api_key":
258
+ return this._apiKeyService;
259
+ case "attachment":
260
+ return this._attachmentService;
261
+ case "comment_data":
262
+ return this._commentDataService;
263
+ case "country":
264
+ return this._countryService;
265
+ case "custom_function":
266
+ return this._customFunctionService;
267
+ case "deploy_destination":
268
+ return this._deployDestinationService;
269
+ case "deploy_package":
270
+ return this._deployPackageService;
271
+ case "deploy_log":
272
+ return this._deployLogService;
273
+ case "district":
274
+ return this._districtService;
275
+ case "execution_log":
276
+ return this._executionLogService;
277
+ case "import_export":
278
+ return this._importExportService;
279
+ case "import_export_log":
280
+ return this._importExportLogService;
281
+ case "language":
282
+ return this._languageService;
283
+ case "layout_share_widget":
284
+ return this._layoutShareWidgetService;
285
+ case "mail_setting":
286
+ return this._mailService;
287
+ case "mail_log":
288
+ return this._mailLogService;
289
+ case "map_location":
290
+ return this._mapLocationService;
291
+ case "notification_subscription":
292
+ return this._notificationSubscriptionService;
293
+ case "notification_message":
294
+ return this._notificationMessageService;
295
+ case "notification_message_queue":
296
+ return this._notificationMessageQueueService;
297
+ case "notification_log":
298
+ return this._notificationLogService;
299
+ case "province":
300
+ return this._provinceService;
301
+ case "report_report":
302
+ return this._reportReportService;
303
+ case "reason_data":
304
+ return this._reasonDataService;
305
+ case "reason_master":
306
+ return this._reasonMasterService;
307
+ case "reason_option":
308
+ return this._reasonOptionService;
309
+ case "schedule_action":
310
+ return this._scheduleActionService;
311
+ case "schedule_log":
312
+ return this._scheduleLogService;
313
+ case "sftp_setting":
314
+ return this._sftpService;
315
+ case "sftp_log":
316
+ return this._sftpLogService;
317
+ case "shortly_url":
318
+ return this._shortlyUrlService;
319
+ case "sms":
320
+ return this._smsService;
321
+ case "sms_log":
322
+ return this._smsLogService;
323
+ case "subdistrict":
324
+ return this._subdistrictService;
325
+ case "template":
326
+ return this._templateService;
327
+ case "time_zone":
328
+ return this._timeZoneService;
329
+ case "translate":
330
+ return this._translateService;
331
+ case "user":
332
+ return this._userService;
333
+ case "user_role":
334
+ return this._userRoleService;
335
+ case "user_role_permission":
336
+ return this._userRolePermissonService;
337
+ case "user_filter":
338
+ return this._userFilterService;
339
+ case "version_data":
340
+ return this._versionDataService;
341
+ case "widget":
342
+ return this._widgetService;
343
+
344
+ default:
345
+ const customService = this.services[entityName];
346
+ if (_.isEmpty(customService)) {
347
+ throw new Error(`Invalid entity ${entityName}.`);
348
+ }
349
+ return customService;
350
+ }
351
+ }
352
+
353
+ public async init(entityName: string): Promise<string> {
354
+ const service = await this._getService(entityName);
355
+ return service.init();
356
+ }
357
+
358
+ public async search(
359
+ entityName: string,
360
+ keywords: string,
361
+ filters?: any,
362
+ page: number = 1,
363
+ pageSize: number = 10,
364
+ sort: string = "",
365
+ noTranslate?: boolean,
366
+ fields?: Array<string>
367
+ ): Promise<SearchResultDto> {
368
+ const service = await this._getService(entityName);
369
+ return service.search(
370
+ keywords,
371
+ filters,
372
+ page,
373
+ pageSize,
374
+ sort,
375
+ noTranslate,
376
+ fields
377
+ );
378
+ }
379
+
380
+ public async searchIds(
381
+ entityName: string,
382
+ keywords: string,
383
+ filters?: any,
384
+ page?: number,
385
+ pagesize?: number,
386
+ sort?: Object
387
+ ): Promise<Array<string>> {
388
+ const service = await this._getService(entityName);
389
+ return service.searchIds(keywords, filters, page, pagesize, sort);
390
+ }
391
+
392
+ public async searchWithLayout(
393
+ entityName: string,
394
+ layoutCode: string,
395
+ keywords: string,
396
+ filters?: any,
397
+ page?: number,
398
+ pageSize?: number,
399
+ sort?: any,
400
+ isDetail?: boolean
401
+ ): Promise<SearchResultDto> {
402
+ const service = await this._getService(entityName);
403
+ return service.searchWithLayout(
404
+ layoutCode,
405
+ keywords,
406
+ filters,
407
+ page,
408
+ pageSize,
409
+ sort,
410
+ isDetail
411
+ );
412
+ }
413
+
414
+ public async find(
415
+ entityName: string,
416
+ keywords: string,
417
+ filters?: any,
418
+ sort: string = "",
419
+ noTranslate?: boolean,
420
+ fields?: Array<string>
421
+ ): Promise<any> {
422
+ const service = await this._getService(entityName);
423
+ return service.find(keywords, filters, sort, noTranslate, fields);
424
+ }
425
+
426
+ public async findWithLayout(
427
+ entityName: string,
428
+ layoutCode: string,
429
+ keywords: string,
430
+ filters?: any,
431
+ sort?: Object
432
+ ): Promise<any> {
433
+ const service = await this._getService(entityName);
434
+ return service.findWithLayout(layoutCode, keywords, filters, sort);
435
+ }
436
+
437
+ public async findOne(
438
+ entityName: string,
439
+ id: string,
440
+ fields?: Array<string>
441
+ ): Promise<any> {
442
+ const service = await this._getService(entityName);
443
+ return service.findOne(id, fields);
444
+ }
445
+
446
+ public async findOneWithLayout(
447
+ entityName: string,
448
+ layoutCode: string,
449
+ id: string
450
+ ): Promise<any> {
451
+ const service = await this._getService(entityName);
452
+ return service.findOneWithLayout(layoutCode, id);
453
+ }
454
+
455
+ public async count(
456
+ entityName: string,
457
+ filters?: any,
458
+ keywords?: string
459
+ ): Promise<number> {
460
+ const service = await this._getService(entityName);
461
+ return service.count(filters, keywords);
462
+ }
463
+
464
+ public async aggregate(entityName: string, query: string): Promise<any> {
465
+ const service = await this._getService(entityName);
466
+ return service.aggregate(query);
467
+ }
468
+
469
+ public async create(entityName: string, data: any): Promise<any> {
470
+ const service = await this._getService(entityName);
471
+ return service.create(data);
472
+ }
473
+
474
+ public async update(entityName: string, id: string, data: any): Promise<any> {
475
+ const service = await this._getService(entityName);
476
+ return service.update(id, data);
477
+ }
478
+
479
+ public async delete(entityName: string, id: string): Promise<any> {
480
+ const service = await this._getService(entityName);
481
+ return service.delete(id);
482
+ }
483
+
484
+ public async deleteMany(entityName: string, filter: any): Promise<any> {
485
+ const service = await this._getService(entityName);
486
+ return service.deleteMany(filter);
487
+ }
488
+
489
+ public async bulkCreate(entityName: string, data: any[]): Promise<any> {
490
+ const service = await this._getService(entityName);
491
+ return service.bulkCreate(data);
492
+ }
493
+
494
+ public async bulkUpdate(entityName: string, data: any[]): Promise<any> {
495
+ const service = await this._getService(entityName);
496
+ return service.bulkUpdate(data);
497
+ }
498
+
499
+ public async bulkDelete(entityName: string, ids: string[]): Promise<any> {
500
+ const service = await this._getService(entityName);
501
+ return service.bulkDelete(ids);
502
+ }
503
+
504
+ public async prepareGenerateData(
505
+ entityName: string,
506
+ data?: any
507
+ ): Promise<any> {
508
+ const service = await this._getService(entityName);
509
+ return service.prepareGenerateData(data);
510
+ }
511
+
512
+ public async generateData(entityName: string, data?: any): Promise<boolean> {
513
+ const service = await this._getService(entityName);
514
+ return service.generateData(data);
515
+ }
516
+
517
+ public async progressGenerateData(
518
+ entityName: string,
519
+ ref_id: string
520
+ ): Promise<any> {
521
+ const service = await this._getService(entityName);
522
+ return service.progressGenerateData(ref_id);
523
+ }
524
+
525
+ public async approve(
526
+ entityName: string,
527
+ id: string,
528
+ data: any
529
+ ): Promise<any> {
530
+ const service = await this._getService(entityName);
531
+ return service.approve(id, data);
532
+ }
533
+
534
+ public async workflowActions(entityName: string, id: string): Promise<any> {
535
+ const service = await this._getService(entityName);
536
+ return service.workflowActions(id);
537
+ }
538
+
539
+ public async executeWorkflowAction(
540
+ entityName: string,
541
+ id: string,
542
+ body: any
543
+ ): Promise<any> {
544
+ const service = await this._getService(entityName);
545
+ return service.executeWorkflowAction(id, body);
546
+ }
547
+
548
+ public async dataWithLocale(
549
+ entityName: string,
550
+ layout: string,
551
+ id: string,
552
+ locale: string
553
+ ): Promise<any> {
554
+ const service = await this._getService(entityName);
555
+ return service.dataWithLocale(layout, id, locale);
556
+ }
557
+
558
+ public async findWithLocale(
559
+ entityName: string,
560
+ locale: string,
561
+ keywords: string,
562
+ filters?: any,
563
+ sort?: Object
564
+ ): Promise<any> {
565
+ const service = await this._getService(entityName);
566
+ return service.findWithLocale(locale, keywords, filters, sort);
567
+ }
568
+
569
+ public async setDataLocale(
570
+ entityName: string,
571
+ id: string,
572
+ locale: string,
573
+ data: any
574
+ ): Promise<any> {
575
+ const service = await this._getService(entityName);
576
+ return service.setDataLocale(id, locale, data);
577
+ }
578
+
579
+ public async exampleOutputMapping(
580
+ entityName: string,
581
+ data: any
582
+ ): Promise<any> {
583
+ const service = await this._getService(entityName);
584
+ return service.exampleOutputMapping(data);
585
+ }
586
+
587
+ public async searchText(entityName: string, data: any): Promise<any> {
588
+ const service = await this._getService(entityName);
589
+ return service.searchText(data);
590
+ }
591
+ }
592
+
593
+ @Injectable()
594
+ export class CoreLogService implements OnModuleInit {
595
+ @Inject(ActivityLogService)
596
+ private readonly _activityLogService: ActivityLogService;
597
+ @Inject(DeployLogService)
598
+ private readonly _deployLogService: DeployLogService;
599
+ @Inject(ExecutionLogService)
600
+ private readonly _executionLogService: ExecutionLogService;
601
+ @Inject(ImportExportLogService)
602
+ private readonly _importExportLogService: ImportExportLogService;
603
+ @Inject(MailLogService)
604
+ private readonly _mailLogService: MailLogService;
605
+ @Inject(NotificationLogService)
606
+ private readonly _notificationLogService: NotificationLogService;
607
+ @Inject(ScheduleLogService)
608
+ private readonly _scheduleLogService: ScheduleLogService;
609
+ @Inject(SftpLogService)
610
+ private readonly _sftpLogService: SftpLogService;
611
+ @Inject(SmsLogService)
612
+ private readonly _smsLogService: SmsLogService;
613
+
614
+ private services: any = {};
615
+
616
+ constructor(private moduleRef: ModuleRef) { }
617
+
618
+ private _getService(entityName: string): any {
619
+ switch (entityName) {
620
+ case "deploy_log":
621
+ return this._deployLogService;
622
+ case "schedule_log":
623
+ return this._scheduleLogService;
624
+ case "activity_log":
625
+ return this._activityLogService;
626
+ case "import_export_log":
627
+ return this._importExportLogService;
628
+ case "sftp_log":
629
+ return this._sftpLogService;
630
+ case "mail_log":
631
+ return this._mailLogService;
632
+ case "sms_log":
633
+ return this._smsLogService;
634
+ case "execution_log":
635
+ return this._executionLogService;
636
+ case "notification_log":
637
+ return this._notificationLogService;
638
+ default:
639
+ const customService = this.services[entityName];
640
+ if (_.isEmpty(customService)) {
641
+ throw new Error(`Invalid entity ${entityName}.`);
642
+ }
643
+ return customService;
644
+ }
645
+ }
646
+
647
+ async onModuleInit() {
648
+ // console.log(CUSTOM_LOG_SERVICES);
649
+ for (const key of Object.keys(CUSTOM_LOG_SERVICES)) {
650
+ this.services[key] = await this.moduleRef.get(CUSTOM_LOG_SERVICES[key], {
651
+ strict: false
652
+ });
653
+ }
654
+ }
655
+
656
+ public async purgeLog(entityName: string, setting: any) {
657
+ const service = await this._getService(entityName);
658
+ return service.purgeLog(setting);
659
+ }
660
+ }
661
+
662
+ @Injectable()
663
+ export class CoreSettingService implements OnModuleInit {
664
+ private services: any = {};
665
+
666
+ constructor(private moduleRef: ModuleRef) { }
667
+
668
+ private _getService(entityName: string): IBaseModuleSettingService {
669
+ switch (entityName) {
670
+ default:
671
+ const customService = this.services[entityName];
672
+ if (_.isEmpty(customService)) {
673
+ throw new Error(`Invalid entity ${entityName}.`);
674
+ }
675
+ return customService;
676
+ }
677
+ }
678
+
679
+ async onModuleInit() {
680
+ // console.log(CUSTOM_SETTING_SERVICES);
681
+ for (const key of Object.keys(CUSTOM_SETTING_SERVICES)) {
682
+ this.services[key] = await this.moduleRef.get(
683
+ CUSTOM_SETTING_SERVICES[key],
684
+ {
685
+ strict: false
686
+ }
687
+ );
688
+ }
689
+ }
690
+
691
+ public async getSetting(entityName: string, key?: string): Promise<any> {
692
+ const service = await this._getService(entityName);
693
+ return service.getSetting(key);
694
+ }
695
+ public async setSetting(
696
+ entityName: string,
697
+ data: any,
698
+ key?: string
699
+ ): Promise<any> {
700
+ const service = await this._getService(entityName);
701
+ return service.setSetting(data, key);
702
+ }
703
+
704
+ public async defaultPermission(entityName: string): Promise<any> {
705
+ const service = await this._getService(entityName);
706
+ return service.defaultPermission();
707
+ }
708
+ public async setPermission(
709
+ entityName: string,
710
+ permissoin: any
711
+ ): Promise<any> {
712
+ const service = await this._getService(entityName);
713
+ return service.setPermission(permissoin);
714
+ }
715
+ }