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,410 @@
1
+ import * as _ from "lodash";
2
+
3
+ import {
4
+ Get,
5
+ Post,
6
+ Put,
7
+ Patch,
8
+ Body,
9
+ Param,
10
+ Delete,
11
+ Query,
12
+ Controller
13
+ } from "@nestjs/common";
14
+ import {
15
+ CoreLogService,
16
+ CoreService,
17
+ CoreSettingService
18
+ } from "./core.service";
19
+ import {
20
+ Basic,
21
+ SearchResultDto,
22
+ convertFilter
23
+ } from 'cc-core-lib/core'
24
+
25
+ @Controller()
26
+ export class CoreController {
27
+ constructor(
28
+ private readonly service: CoreService,
29
+ private readonly serviceLog: CoreLogService,
30
+ private readonly serviceSetting: CoreSettingService
31
+ ) { }
32
+
33
+ private _convertFields(fields: string) {
34
+ return _.isEmpty(fields) ? undefined : fields.split(",");
35
+ }
36
+
37
+ @Get("/:entity/init")
38
+ async init(@Param() params: any): Promise<string> {
39
+ if (
40
+ !["mail_setting", "sftp_setting"].includes(params.entity) &&
41
+ params.entity.indexOf("_setting") !== -1
42
+ ) {
43
+ return "Not implement yet.";
44
+ }
45
+ return this.service.init(params.entity);
46
+ }
47
+
48
+ @Basic()
49
+ @Get("/:entity")
50
+ async search(
51
+ @Param() params: any,
52
+ @Query() query: any
53
+ ): Promise<SearchResultDto> {
54
+ if (
55
+ !["mail_setting", "sftp_setting"].includes(params.entity) &&
56
+ params.entity.indexOf("_setting") !== -1
57
+ ) {
58
+ return this.serviceSetting.getSetting(params.entity);
59
+ } else {
60
+ const { keywords, filters, page, page_size, sort, fields } = query;
61
+ return this.service.search(
62
+ params.entity,
63
+ keywords,
64
+ convertFilter(filters),
65
+ page ? parseInt(page, 10) : 1,
66
+ page_size ? parseInt(page_size, 10) : 10,
67
+ sort,
68
+ false,
69
+ this._convertFields(fields)
70
+ );
71
+ }
72
+ }
73
+
74
+ @Basic()
75
+ @Get("/:entity/find")
76
+ async find(@Param() params: any, @Query() query: any): Promise<any> {
77
+ const { keywords, filters, sort, fields } = query;
78
+ return this.service.find(
79
+ params.entity,
80
+ keywords,
81
+ convertFilter(filters),
82
+ sort,
83
+ false,
84
+ this._convertFields(fields)
85
+ );
86
+ }
87
+
88
+ @Basic()
89
+ @Get("/:entity/workflow/:id")
90
+ workflowActions(@Param() params: any): Promise<any> {
91
+ return this.service.workflowActions(params.entity, params.id);
92
+ }
93
+
94
+ @Basic()
95
+ @Get("/:entity/aggregate")
96
+ aggregate(@Param() params: any, @Query() query: any): any {
97
+ return this.service.aggregate(params.entity, query.query);
98
+ }
99
+
100
+ @Basic()
101
+ @Patch("/:entity/aggregate")
102
+ aggregateBody(@Param() params: any, @Body() body: any): any {
103
+ return this.service.aggregate(
104
+ params.entity,
105
+ JSON.stringify({ query: body })
106
+ );
107
+ }
108
+
109
+ @Basic()
110
+ @Get("/:entity/count")
111
+ async count(@Param() params: any, @Query() query: any): Promise<any> {
112
+ const { filters, keywords } = query;
113
+ return this.service.count(params.entity, convertFilter(filters), keywords);
114
+ }
115
+
116
+ @Get("/:entity/:layout/find")
117
+ async findWithLayout(
118
+ @Query() query: any,
119
+ @Param() params: any
120
+ ): Promise<any> {
121
+ const { keywords, filters, sort } = query;
122
+ return this.service.findWithLayout(
123
+ params.entity,
124
+ params.layout,
125
+ keywords,
126
+ convertFilter(filters),
127
+ sort
128
+ );
129
+ }
130
+
131
+ @Get("/:entity/:layout/aggregate")
132
+ aggregateWithLayout(@Param() params: any, @Query() query: any): any {
133
+ return this.service.aggregate(params.entity, query.query);
134
+ }
135
+
136
+ @Get("/:entity/:layout/count")
137
+ async countWithLayout(
138
+ @Param() params: any,
139
+ @Query() query: any
140
+ ): Promise<any> {
141
+ const { filters, keywords } = query;
142
+ return this.service.count(params.entity, convertFilter(filters), keywords);
143
+ }
144
+
145
+ @Basic()
146
+ @Get("/:entity/:key")
147
+ async findOneOrSearchWithLayout(
148
+ @Param() params: any,
149
+ @Query() query: any
150
+ ): Promise<any> {
151
+ if (
152
+ !["mail_setting", "sftp_setting"].includes(params.entity) &&
153
+ params.entity.indexOf("_setting") !== -1
154
+ ) {
155
+ return this.serviceSetting.getSetting(params.entity, params.key);
156
+ } else {
157
+ if (/^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i.test(params.key)) {
158
+ return this.service.findOne(
159
+ params.entity,
160
+ params.key,
161
+ this._convertFields(query.fields)
162
+ );
163
+ }
164
+ const { keywords, filters, page, page_size, sort } = query;
165
+ return this.service.searchWithLayout(
166
+ params.entity,
167
+ params.key,
168
+ keywords,
169
+ convertFilter(filters),
170
+ page ? parseInt(page, 10) : 1,
171
+ page_size ? parseInt(page_size, 10) : 10,
172
+ sort
173
+ );
174
+ }
175
+ }
176
+
177
+ @Basic()
178
+ @Get("/:entity/ids")
179
+ dataIdsSearch(@Param() params: any, @Query() query: any): any {
180
+ const { keywords, filters, page, page_size, sort } = query;
181
+ return this.service.searchIds(
182
+ params.entity,
183
+ keywords,
184
+ convertFilter(filters),
185
+ page ? parseInt(page, 10) : 1,
186
+ page_size ? parseInt(page_size, 10) : 10,
187
+ sort
188
+ );
189
+ }
190
+
191
+ @Get("/:entity/:layout/:id")
192
+ async searchWithLayout(@Param() params: any): Promise<any> {
193
+ return this.service.findOneWithLayout(
194
+ params.entity,
195
+ params.layout,
196
+ params.id
197
+ );
198
+ }
199
+
200
+ @Basic()
201
+ @Get("/:entity/find/translate/:locale")
202
+ async findWithLocale(
203
+ @Param() params: any,
204
+ @Query() query: any
205
+ ): Promise<any> {
206
+ const { keywords, filters, sort } = query;
207
+ return this.service.findWithLocale(
208
+ params.entity,
209
+ params.locale,
210
+ keywords,
211
+ convertFilter(filters),
212
+ sort
213
+ );
214
+ }
215
+
216
+ @Get("/:entity/:layout/:id/translate/:locale")
217
+ async dataWithLocale(@Param() params: any): Promise<any> {
218
+ return this.service.dataWithLocale(
219
+ params.entity,
220
+ params.layout,
221
+ params.id,
222
+ params.locale
223
+ );
224
+ }
225
+
226
+ @Basic()
227
+ @Post("/:entity")
228
+ async create(@Param() params: any, @Body() data: any): Promise<any> {
229
+ return this.service.create(params.entity, data);
230
+ }
231
+
232
+ @Basic()
233
+ @Put("/:entity")
234
+ async setSetting(@Param() params: any, @Body() body: any): Promise<any> {
235
+ return this.serviceSetting.setSetting(params.entity, body);
236
+ }
237
+
238
+ @Basic()
239
+ @Put("/:entity/:id")
240
+ async update(@Param() params: any, @Body() data: any): Promise<any> {
241
+ return this.service.update(params.entity, params.id, data);
242
+ }
243
+
244
+ @Basic()
245
+ @Put("/:entity/:id/approve")
246
+ async approve(@Param() params: any, @Body() data: any): Promise<any> {
247
+ return this.service.approve(params.entity, params.id, data);
248
+ }
249
+
250
+ @Put("/:entity/:layout/:id/approve")
251
+ async approveWithLayout(
252
+ @Param() params: any,
253
+ @Body() data: any
254
+ ): Promise<any> {
255
+ return this.service.approve(params.entity, params.id, data);
256
+ }
257
+
258
+ @Put("/:entity/:layout/:id")
259
+ async updateWithLayout(
260
+ @Param() params: any,
261
+ @Body() data: any
262
+ ): Promise<any> {
263
+ return this.service.update(params.entity, params.id, data);
264
+ }
265
+
266
+ @Basic()
267
+ @Put("/:entity/:id/translate/:locale")
268
+ async setDataLocale(@Param() params: any, @Body() data: any): Promise<any> {
269
+ return this.service.setDataLocale(
270
+ params.entity,
271
+ params.id,
272
+ params.locale,
273
+ data
274
+ );
275
+ }
276
+
277
+ @Basic()
278
+ @Delete("/:entity/:id")
279
+ async delete(@Param() params: any): Promise<any> {
280
+ return this.service.delete(params.entity, params.id);
281
+ }
282
+
283
+ @Delete("/:entity/:layout/:id")
284
+ async deleteWithLayout(@Param() params: any): Promise<any> {
285
+ return this.service.delete(params.entity, params.id);
286
+ }
287
+
288
+ @Basic()
289
+ @Post("/:entity/bulk_create")
290
+ async bulkCreate(@Param() params: any, @Body() body: any): Promise<any> {
291
+ return this.service.bulkCreate(params.entity, body.data);
292
+ }
293
+
294
+ @Basic()
295
+ @Post("/:entity/bulk_update")
296
+ async bulkUpdate(@Param() params: any, @Body() body: any): Promise<any> {
297
+ return this.service.bulkUpdate(params.entity, body.data);
298
+ }
299
+
300
+ @Basic()
301
+ @Post("/:entity/bulk_delete")
302
+ async bulkDelete(@Param() params: any, @Body() data: any): Promise<any> {
303
+ return this.service.bulkDelete(params.entity, data.ids);
304
+ }
305
+
306
+ @Post("/:entity/:layout/bulk_update")
307
+ async bulkUpdateWithLayout(
308
+ @Param() params: any,
309
+ @Body() body: any
310
+ ): Promise<any> {
311
+ return this.service.bulkUpdate(params.entity, body.data);
312
+ }
313
+
314
+ @Post("/:entity/:layout/bulk_delete")
315
+ async bulkDeleteWithLayout(
316
+ @Param() params: any,
317
+ @Body() data: any
318
+ ): Promise<any> {
319
+ return this.service.bulkDelete(params.entity, data.ids);
320
+ }
321
+
322
+ @Post("/:entity/:layout")
323
+ async createWithLayout(
324
+ @Param() params: any,
325
+ @Body() data: any
326
+ ): Promise<any> {
327
+ return this.service.create(params.entity, data);
328
+ }
329
+
330
+ @Basic()
331
+ @Patch("/:entity/prepare_generate_data")
332
+ async prepareGenerateData(
333
+ @Param() params: any,
334
+ @Body() data: any
335
+ ): Promise<any> {
336
+ return this.service.prepareGenerateData(params.entity, data);
337
+ }
338
+
339
+ @Basic()
340
+ @Patch("/:entity/generate_data")
341
+ async generateData(
342
+ @Param() params: any,
343
+ @Body() data: any
344
+ ): Promise<boolean> {
345
+ return this.service.generateData(params.entity, data);
346
+ }
347
+
348
+ @Basic()
349
+ @Patch("/:entity/progress_generate_data")
350
+ async progressGenerateData(
351
+ @Param() params: any,
352
+ @Body() data: any
353
+ ): Promise<any> {
354
+ return this.service.progressGenerateData(params.entity, data.ref_id);
355
+ }
356
+
357
+ @Basic()
358
+ @Patch("/:entity/workflow/:id")
359
+ async executeWorkflowAction(
360
+ @Param() params: any,
361
+ @Body() body: any
362
+ ): Promise<boolean> {
363
+ return this.service.executeWorkflowAction(params.entity, params.id, body);
364
+ }
365
+
366
+ @Patch("/:entity/:layout/generate_data")
367
+ async generateDataWithLayout(@Param() params: any): Promise<boolean> {
368
+ return this.service.generateData(params.entity);
369
+ }
370
+
371
+ @Basic()
372
+ @Patch("/:entity/example_output_mapping")
373
+ async exampleOutputMapping(
374
+ @Param() params: any,
375
+ @Body() data: any
376
+ ): Promise<any> {
377
+ return this.service.exampleOutputMapping(params.entity, data);
378
+ }
379
+
380
+ @Basic()
381
+ @Patch("/:entity/search")
382
+ async searchText(
383
+ @Param() params: any,
384
+ @Body() data: any
385
+ ): Promise<any> {
386
+ return this.service.searchText(params.entity, data);
387
+ }
388
+
389
+ @Basic()
390
+ @Patch("/:entity/purge_log")
391
+ async purgeLog(@Param() params: any, @Body() body): Promise<boolean> {
392
+ return this.serviceLog.purgeLog(params.entity, body);
393
+ }
394
+
395
+ @Basic()
396
+ @Get("/:entity/permission/default")
397
+ async defaultPermission(@Param() params: any): Promise<string> {
398
+ return this.serviceSetting.defaultPermission(params.entity);
399
+ }
400
+
401
+ @Basic()
402
+ @Put("/:entity/permission")
403
+ async setPermission(
404
+ @Param() params: any,
405
+ @Body() body: any
406
+ ): Promise<string> {
407
+ const result = await this.serviceSetting.setPermission(params.entity, body);
408
+ return result;
409
+ }
410
+ }
@@ -0,0 +1,86 @@
1
+ import * as _ from "lodash";
2
+
3
+ import { Module } from "@nestjs/common";
4
+ import { CUSTOM_MODULES } from "src/modules/modules";
5
+ import { CoreController } from "./core.controller";
6
+ import {
7
+ CoreLogService,
8
+ CoreService,
9
+ CoreSettingService
10
+ } from "./core.service";
11
+ import {
12
+ EntitiesModule,
13
+ ActivityLogModule,
14
+ AddressModule,
15
+ ApiKeyModule,
16
+ AttachmentModule,
17
+ CommentDataModule,
18
+ CustomFunctionModule,
19
+ DeployModule,
20
+ ExecutionLogModule,
21
+ ImportExportModule,
22
+ LanguageModule,
23
+ MailSettingModule,
24
+ MapLocationModule,
25
+ ReportModule,
26
+ ReasonModule,
27
+ ScheduleActionModule,
28
+ SFTPSettingModule,
29
+ SmsModule,
30
+ TemplateModule,
31
+ TranslateModule,
32
+ UserModule,
33
+ VersionDataModule,
34
+ NotificationModule,
35
+ ShortlyModule,
36
+ WidgetModule,
37
+ LayoutModule,
38
+ } from 'cc-core-lib/core'
39
+
40
+ const SPECIFY_CUSTOM_MODULES =
41
+ process.env.CUSTOM_MODULES === "" || process.env.CUSTOM_MODULES === undefined
42
+ ? []
43
+ : process.env.CUSTOM_MODULES.split(",");
44
+
45
+ const RUN_CUSTOM_MODULES =
46
+ SPECIFY_CUSTOM_MODULES.length === 0
47
+ ? CUSTOM_MODULES.map(c => c.module)
48
+ : CUSTOM_MODULES.filter(c =>
49
+ SPECIFY_CUSTOM_MODULES.includes(c.module.name)
50
+ ).map(c => c.module);
51
+
52
+ @Module({
53
+ imports: [
54
+ EntitiesModule,
55
+ ActivityLogModule,
56
+ AddressModule,
57
+ ApiKeyModule,
58
+ AttachmentModule,
59
+ CommentDataModule,
60
+ CustomFunctionModule,
61
+ DeployModule,
62
+ ExecutionLogModule,
63
+ ImportExportModule,
64
+ LanguageModule,
65
+ MailSettingModule,
66
+ MapLocationModule,
67
+ ReportModule,
68
+ ReasonModule,
69
+ ScheduleActionModule,
70
+ SFTPSettingModule,
71
+ SmsModule,
72
+ TemplateModule,
73
+ TranslateModule,
74
+ UserModule,
75
+ VersionDataModule,
76
+ NotificationModule,
77
+ ShortlyModule,
78
+ WidgetModule,
79
+ LayoutModule,
80
+
81
+ ...RUN_CUSTOM_MODULES
82
+ ],
83
+ controllers: [CoreController],
84
+ providers: [CoreService, CoreLogService, CoreSettingService]
85
+ })
86
+ export class CoreModule { }