@opengis/fcore 0.0.1-beta.2 → 0.0.1-beta.20

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 (248) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +71 -71
  3. package/dist/config.d.ts +2 -10
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/context.js +1 -1
  7. package/dist/errors.js +1 -1
  8. package/dist/fastify.d.ts +2 -5
  9. package/dist/fastify.d.ts.map +1 -1
  10. package/dist/fastify.js +1 -1
  11. package/dist/fcore.js +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/migrations/cli.js +1 -1
  14. package/dist/migrations/runner.js +1 -1
  15. package/dist/modules/auth/adduser-cli.d.ts +3 -0
  16. package/dist/modules/auth/adduser-cli.d.ts.map +1 -0
  17. package/dist/modules/auth/adduser-cli.js +2 -0
  18. package/dist/modules/auth/passwd-cli.d.ts +3 -0
  19. package/dist/modules/auth/passwd-cli.d.ts.map +1 -0
  20. package/dist/modules/auth/passwd-cli.js +2 -0
  21. package/dist/modules/auth/permission-cli.d.ts +3 -0
  22. package/dist/modules/auth/permission-cli.d.ts.map +1 -0
  23. package/dist/modules/auth/permission-cli.js +2 -0
  24. package/dist/modules/auth/route.d.ts.map +1 -1
  25. package/dist/modules/auth/route.js +1 -1
  26. package/dist/modules/auth/schema.d.ts +10 -1
  27. package/dist/modules/auth/schema.d.ts.map +1 -1
  28. package/dist/modules/auth/schema.js +1 -1
  29. package/dist/modules/auth/services/change-password.d.ts +9 -0
  30. package/dist/modules/auth/services/change-password.d.ts.map +1 -0
  31. package/dist/modules/auth/services/change-password.js +1 -0
  32. package/dist/modules/auth/services/get-current-user.d.ts +1 -0
  33. package/dist/modules/auth/services/get-current-user.d.ts.map +1 -1
  34. package/dist/modules/auth/services/get-current-user.js +1 -1
  35. package/dist/modules/auth/services/registration.d.ts +14 -0
  36. package/dist/modules/auth/services/registration.d.ts.map +1 -0
  37. package/dist/modules/auth/services/registration.js +1 -0
  38. package/dist/modules/auth/services/verify-two-factor.js +1 -1
  39. package/dist/modules/file/mime.d.ts +3 -0
  40. package/dist/modules/file/mime.d.ts.map +1 -0
  41. package/dist/modules/file/mime.js +1 -0
  42. package/dist/modules/file/route.d.ts.map +1 -1
  43. package/dist/modules/file/route.js +1 -1
  44. package/dist/modules/file/schema.d.ts +3 -0
  45. package/dist/modules/file/schema.d.ts.map +1 -1
  46. package/dist/modules/file/schema.js +1 -1
  47. package/dist/modules/file/services/get-file.js +1 -1
  48. package/dist/modules/file/services/resize-file.d.ts.map +1 -1
  49. package/dist/modules/file/services/resize-file.js +1 -1
  50. package/dist/modules/file/services/upload-file.d.ts +4 -6
  51. package/dist/modules/file/services/upload-file.d.ts.map +1 -1
  52. package/dist/modules/file/services/upload-file.js +1 -1
  53. package/dist/modules/resource/route.d.ts +0 -3
  54. package/dist/modules/resource/route.d.ts.map +1 -1
  55. package/dist/modules/resource/route.js +1 -1
  56. package/dist/modules/resource/schema.d.ts +3 -0
  57. package/dist/modules/resource/schema.d.ts.map +1 -1
  58. package/dist/modules/resource/schema.js +1 -1
  59. package/dist/modules/resource/services/add-note.js +1 -1
  60. package/dist/modules/resource/services/add-resource-file.js +1 -1
  61. package/dist/modules/resource/services/create-resource-relation.d.ts +8 -2
  62. package/dist/modules/resource/services/create-resource-relation.d.ts.map +1 -1
  63. package/dist/modules/resource/services/create-resource-relation.js +1 -1
  64. package/dist/modules/resource/services/create-resource.js +1 -1
  65. package/dist/modules/resource/services/delete-resource-relation.d.ts +8 -1
  66. package/dist/modules/resource/services/delete-resource-relation.d.ts.map +1 -1
  67. package/dist/modules/resource/services/delete-resource-relation.js +1 -1
  68. package/dist/modules/resource/services/delete-resource.js +1 -1
  69. package/dist/modules/resource/services/export-resource.d.ts.map +1 -1
  70. package/dist/modules/resource/services/export-resource.js +1 -1
  71. package/dist/modules/resource/services/get-resource.d.ts.map +1 -1
  72. package/dist/modules/resource/services/get-resource.js +1 -1
  73. package/dist/modules/resource/services/list-resource-relation.d.ts +9 -2
  74. package/dist/modules/resource/services/list-resource-relation.d.ts.map +1 -1
  75. package/dist/modules/resource/services/list-resource-relation.js +1 -1
  76. package/dist/modules/resource/services/list-resources.d.ts.map +1 -1
  77. package/dist/modules/resource/services/list-resources.js +1 -1
  78. package/dist/modules/resource/services/search-resource.d.ts.map +1 -1
  79. package/dist/modules/resource/services/search-resource.js +1 -1
  80. package/dist/modules/resource/services/suggest-resource.d.ts +10 -4
  81. package/dist/modules/resource/services/suggest-resource.d.ts.map +1 -1
  82. package/dist/modules/resource/services/suggest-resource.js +1 -1
  83. package/dist/modules/resource/services/update-resource-relation.d.ts +10 -0
  84. package/dist/modules/resource/services/update-resource-relation.d.ts.map +1 -0
  85. package/dist/modules/resource/services/update-resource-relation.js +1 -0
  86. package/dist/modules/resource/services/update-resource.js +1 -1
  87. package/dist/modules/resource/services/upload-resource-file.js +1 -1
  88. package/dist/modules/system/route.d.ts +2 -1
  89. package/dist/modules/system/route.d.ts.map +1 -1
  90. package/dist/modules/system/route.js +1 -1
  91. package/dist/modules/system/schema.d.ts +23 -1
  92. package/dist/modules/system/schema.d.ts.map +1 -1
  93. package/dist/modules/system/schema.js +1 -1
  94. package/dist/modules/system/services/check-system.d.ts.map +1 -1
  95. package/dist/modules/system/services/check-system.js +1 -1
  96. package/dist/modules/system/services/get-access.d.ts +15 -0
  97. package/dist/modules/system/services/get-access.d.ts.map +1 -0
  98. package/dist/modules/system/services/get-access.js +1 -0
  99. package/dist/modules/system/services/get-api-list.d.ts +4 -1
  100. package/dist/modules/system/services/get-api-list.d.ts.map +1 -1
  101. package/dist/modules/system/services/get-api-list.js +1 -1
  102. package/dist/modules/system/services/get-audit-log.d.ts.map +1 -1
  103. package/dist/modules/system/services/get-audit-log.js +1 -1
  104. package/dist/modules/system/services/get-dictionary.js +1 -1
  105. package/dist/modules/system/services/get-system-log.d.ts +9 -5
  106. package/dist/modules/system/services/get-system-log.d.ts.map +1 -1
  107. package/dist/modules/system/services/get-system-log.js +1 -1
  108. package/dist/modules/system/services/get-system-settings.d.ts.map +1 -1
  109. package/dist/modules/system/services/get-system-settings.js +1 -1
  110. package/dist/modules/system/services/list-dictionaries.js +1 -1
  111. package/dist/modules/system/services/set-access.d.ts +17 -0
  112. package/dist/modules/system/services/set-access.d.ts.map +1 -0
  113. package/dist/modules/system/services/set-access.js +1 -0
  114. package/dist/modules/system/services/update-dictionary.d.ts +13 -0
  115. package/dist/modules/system/services/update-dictionary.d.ts.map +1 -0
  116. package/dist/modules/system/services/update-dictionary.js +1 -0
  117. package/dist/modules/system/services/update-system-settings.d.ts.map +1 -1
  118. package/dist/modules/system/services/update-system-settings.js +1 -1
  119. package/dist/modules/utils/require-admin.js +1 -1
  120. package/dist/modules/utils/safe-user.js +1 -1
  121. package/dist/modules/utils/unsupported.js +1 -1
  122. package/dist/plugins/audit/audit.js +1 -1
  123. package/dist/plugins/audit/audit.types.d.ts +1 -1
  124. package/dist/plugins/audit/audit.types.d.ts.map +1 -1
  125. package/dist/plugins/audit/index.js +1 -1
  126. package/dist/plugins/audit/services/write-audit.js +1 -1
  127. package/dist/plugins/auth/get-user-permissions.d.ts +3 -0
  128. package/dist/plugins/auth/get-user-permissions.d.ts.map +1 -0
  129. package/dist/plugins/auth/get-user-permissions.js +1 -0
  130. package/dist/plugins/auth/index.d.ts +4 -0
  131. package/dist/plugins/auth/index.d.ts.map +1 -1
  132. package/dist/plugins/auth/index.js +1 -1
  133. package/dist/plugins/auth/verifyUser.d.ts +9 -0
  134. package/dist/plugins/auth/verifyUser.d.ts.map +1 -0
  135. package/dist/plugins/auth/verifyUser.js +1 -0
  136. package/dist/plugins/dictionary.d.ts +3 -0
  137. package/dist/plugins/dictionary.d.ts.map +1 -1
  138. package/dist/plugins/dictionary.js +1 -1
  139. package/dist/plugins/file.d.ts +3 -6
  140. package/dist/plugins/file.d.ts.map +1 -1
  141. package/dist/plugins/file.js +1 -1
  142. package/dist/plugins/index.d.ts +2 -0
  143. package/dist/plugins/index.d.ts.map +1 -1
  144. package/dist/plugins/index.js +1 -1
  145. package/dist/plugins/jwt.d.ts +4 -0
  146. package/dist/plugins/jwt.d.ts.map +1 -0
  147. package/dist/plugins/jwt.js +1 -0
  148. package/dist/plugins/logger/index.js +1 -1
  149. package/dist/plugins/logger/transport.js +1 -1
  150. package/dist/plugins/pg.d.ts +4 -2
  151. package/dist/plugins/pg.d.ts.map +1 -1
  152. package/dist/plugins/pg.js +1 -1
  153. package/dist/plugins/redis.js +1 -1
  154. package/dist/plugins/resource/index.js +1 -1
  155. package/dist/plugins/resource/resource.d.ts.map +1 -1
  156. package/dist/plugins/resource/resource.js +1 -1
  157. package/dist/plugins/resource/resource.registry.js +1 -1
  158. package/dist/plugins/resource/resource.types.d.ts +71 -15
  159. package/dist/plugins/resource/resource.types.d.ts.map +1 -1
  160. package/dist/plugins/resource/services/add-dictionary-lookup-data.d.ts +3 -0
  161. package/dist/plugins/resource/services/add-dictionary-lookup-data.d.ts.map +1 -0
  162. package/dist/plugins/resource/services/add-dictionary-lookup-data.js +1 -0
  163. package/dist/plugins/resource/services/add-file-token.d.ts +3 -0
  164. package/dist/plugins/resource/services/add-file-token.d.ts.map +1 -0
  165. package/dist/plugins/resource/services/add-file-token.js +1 -0
  166. package/dist/plugins/resource/services/add-table-lookup-data.d.ts +4 -0
  167. package/dist/plugins/resource/services/add-table-lookup-data.d.ts.map +1 -0
  168. package/dist/plugins/resource/services/add-table-lookup-data.js +1 -0
  169. package/dist/plugins/resource/services/create-relation.d.ts +16 -0
  170. package/dist/plugins/resource/services/create-relation.d.ts.map +1 -0
  171. package/dist/plugins/resource/services/create-relation.js +1 -0
  172. package/dist/plugins/resource/services/create.d.ts +5 -2
  173. package/dist/plugins/resource/services/create.d.ts.map +1 -1
  174. package/dist/plugins/resource/services/create.js +1 -1
  175. package/dist/plugins/resource/services/delete-relation.d.ts +18 -0
  176. package/dist/plugins/resource/services/delete-relation.d.ts.map +1 -0
  177. package/dist/plugins/resource/services/delete-relation.js +1 -0
  178. package/dist/plugins/resource/services/delete.d.ts +9 -2
  179. package/dist/plugins/resource/services/delete.d.ts.map +1 -1
  180. package/dist/plugins/resource/services/delete.js +1 -1
  181. package/dist/plugins/resource/services/find-one.d.ts +3 -2
  182. package/dist/plugins/resource/services/find-one.d.ts.map +1 -1
  183. package/dist/plugins/resource/services/find-one.js +1 -1
  184. package/dist/plugins/resource/services/find-relation.d.ts +13 -0
  185. package/dist/plugins/resource/services/find-relation.d.ts.map +1 -0
  186. package/dist/plugins/resource/services/find-relation.js +1 -0
  187. package/dist/plugins/resource/services/find.d.ts.map +1 -1
  188. package/dist/plugins/resource/services/find.js +1 -1
  189. package/dist/plugins/resource/services/update-relation.d.ts +14 -0
  190. package/dist/plugins/resource/services/update-relation.d.ts.map +1 -0
  191. package/dist/plugins/resource/services/update-relation.js +1 -0
  192. package/dist/plugins/resource/services/update.d.ts +9 -2
  193. package/dist/plugins/resource/services/update.d.ts.map +1 -1
  194. package/dist/plugins/resource/services/update.js +1 -1
  195. package/dist/plugins/resource/utils/auto-index.d.ts +4 -0
  196. package/dist/plugins/resource/utils/auto-index.d.ts.map +1 -0
  197. package/dist/plugins/resource/utils/auto-index.js +1 -0
  198. package/dist/plugins/resource/utils/fields.d.ts +8 -1
  199. package/dist/plugins/resource/utils/fields.d.ts.map +1 -1
  200. package/dist/plugins/resource/utils/fields.js +1 -1
  201. package/dist/plugins/resource/utils/filters.d.ts +3 -2
  202. package/dist/plugins/resource/utils/filters.d.ts.map +1 -1
  203. package/dist/plugins/resource/utils/filters.js +1 -1
  204. package/dist/plugins/resource/utils/permissions.d.ts.map +1 -1
  205. package/dist/plugins/resource/utils/permissions.js +1 -1
  206. package/dist/plugins/resource/utils/sort.d.ts +1 -1
  207. package/dist/plugins/resource/utils/sort.d.ts.map +1 -1
  208. package/dist/plugins/resource/utils/sort.js +1 -1
  209. package/dist/plugins/resource/utils/sql.d.ts +1 -1
  210. package/dist/plugins/resource/utils/sql.d.ts.map +1 -1
  211. package/dist/plugins/resource/utils/sql.js +1 -1
  212. package/dist/shared/getIP.js +1 -1
  213. package/dist/type.d.ts +14 -0
  214. package/dist/type.d.ts.map +1 -1
  215. package/migrations/20260903120000_core_schema.sql +27 -21
  216. package/migrations/20260903130000_move_notes_files_to_admin.sql +17 -17
  217. package/migrations/20260903130001_add_file_fields.sql +5 -0
  218. package/migrations/20260903140000_settings_nulls_not_distinct.sql +18 -18
  219. package/migrations/20260905120000_add_user_foreign_keys.sql +43 -0
  220. package/migrations/20260907090000_core_schema.sql +32 -0
  221. package/package.json +93 -88
  222. package/dist/modules/auth/index.d.ts +0 -9
  223. package/dist/modules/auth/index.d.ts.map +0 -1
  224. package/dist/modules/auth/index.js +0 -1
  225. package/dist/modules/auth/services/login.d.ts +0 -10
  226. package/dist/modules/auth/services/login.d.ts.map +0 -1
  227. package/dist/modules/auth/services/login.js +0 -1
  228. package/dist/modules/auth/services/logout.d.ts +0 -9
  229. package/dist/modules/auth/services/logout.d.ts.map +0 -1
  230. package/dist/modules/auth/services/logout.js +0 -1
  231. package/dist/modules/auth/services/verifyPassword.d.ts +0 -11
  232. package/dist/modules/auth/services/verifyPassword.d.ts.map +0 -1
  233. package/dist/modules/auth/services/verifyPassword.js +0 -1
  234. package/dist/modules/file/index.d.ts +0 -8
  235. package/dist/modules/file/index.d.ts.map +0 -1
  236. package/dist/modules/file/index.js +0 -1
  237. package/dist/modules/resource/index.d.ts +0 -20
  238. package/dist/modules/resource/index.d.ts.map +0 -1
  239. package/dist/modules/resource/index.js +0 -1
  240. package/dist/modules/resource/services/list-children.d.ts +0 -6
  241. package/dist/modules/resource/services/list-children.d.ts.map +0 -1
  242. package/dist/modules/resource/services/list-children.js +0 -1
  243. package/dist/modules/system/index.d.ts +0 -13
  244. package/dist/modules/system/index.d.ts.map +0 -1
  245. package/dist/modules/system/index.js +0 -1
  246. package/dist/modules/utils/get-user-permissions.d.ts +0 -3
  247. package/dist/modules/utils/get-user-permissions.d.ts.map +0 -1
  248. package/dist/modules/utils/get-user-permissions.js +0 -1
@@ -1,6 +1,12 @@
1
- /**
2
- * Implements the suggest resource application service for its module.
3
- */
4
1
  import type { AppContext } from '../../../context.js';
5
- export declare function suggestResource(params: any, ctx: AppContext): Promise<any[]>;
2
+ type SuggestResourceResult = {
3
+ search: string;
4
+ time: number;
5
+ data: any[];
6
+ limit?: number;
7
+ count?: number;
8
+ total?: number;
9
+ };
10
+ export declare function suggestResource(params: any, ctx: AppContext): Promise<SuggestResourceResult>;
11
+ export {};
6
12
  //# sourceMappingURL=suggest-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggest-resource.d.ts","sourceRoot":"","sources":["../../../../src/modules/resource/services/suggest-resource.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,wBAAsB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAclF"}
1
+ {"version":3,"file":"suggest-resource.d.ts","sourceRoot":"","sources":["../../../../src/modules/resource/services/suggest-resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,KAAK,qBAAqB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB,CAAC;AAEF,wBAAsB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA4ClG"}
@@ -1 +1 @@
1
- (function(_0x366133,_0x49ea6a){const _0x1cb9f6=_0x1d62,_0x3ed73c=_0x366133();while(!![]){try{const _0x25585a=-parseInt(_0x1cb9f6(0xc7))/0x1*(-parseInt(_0x1cb9f6(0xc2))/0x2)+parseInt(_0x1cb9f6(0xb6))/0x3+-parseInt(_0x1cb9f6(0xc4))/0x4*(parseInt(_0x1cb9f6(0xc8))/0x5)+parseInt(_0x1cb9f6(0xbc))/0x6+parseInt(_0x1cb9f6(0xba))/0x7+parseInt(_0x1cb9f6(0xcb))/0x8+-parseInt(_0x1cb9f6(0xbd))/0x9;if(_0x25585a===_0x49ea6a)break;else _0x3ed73c['push'](_0x3ed73c['shift']());}catch(_0x98523e){_0x3ed73c['push'](_0x3ed73c['shift']());}}}(_0x20a4,0x2bd2d));import{ValidationError}from'../../../errors.js';export async function suggestResource(_0x5f452f,_0x23a778){const _0x190233=_0x1d62,_0x47518e=_0x23a778[_0x190233(0xcc)][_0x190233(0xc3)](_0x5f452f[_0x190233(0xcc)]),_0xee9f92=_0x47518e[_0x190233(0xbe)][_0x5f452f[_0x190233(0xbb)]],_0x3d8288=_0xee9f92?.[_0x190233(0xc0)]?.[_0x190233(0xc5)];if(!_0x3d8288)throw new ValidationError(_0x190233(0xcd)+_0x5f452f[_0x190233(0xbb)]);const _0x3ccc45=await _0x23a778[_0x190233(0xc5)][_0x190233(0xc3)](_0x3d8288),_0x285dee=String(_0x5f452f[_0x190233(0xc1)]??_0x5f452f['q']??'')[_0x190233(0xb8)](),_0x451957=Math[_0x190233(0xbf)](Math[_0x190233(0xc6)](Number(_0x5f452f[_0x190233(0xb5)]??0x14),0x1),0xc8);return _0x3ccc45[_0x190233(0xca)](_0x394e9f=>!_0x285dee||_0x394e9f[_0x190233(0xb4)][_0x190233(0xb8)]()[_0x190233(0xb9)](_0x285dee)||_0x394e9f[_0x190233(0xc9)][_0x190233(0xb8)]()[_0x190233(0xb9)](_0x285dee))[_0x190233(0xb7)](0x0,_0x451957);}function _0x1d62(_0x2eea78,_0x411e2d){_0x2eea78=_0x2eea78-0xb4;const _0x20a43a=_0x20a4();let _0x1d6237=_0x20a43a[_0x2eea78];return _0x1d6237;}function _0x20a4(){const _0x523ec0=['toLowerCase','includes','937482kucMkd','field','701580jXcdGA','4580613vvduXX','fields','min','lookup','search','10vbRWaD','get','4020QAjiEa','dictionary','max','14767PcRnuD','55mlQOwm','name','filter','1687152PjAava','resource','Field\x20has\x20no\x20lookup\x20dictionary:\x20','code','limit','491784jPLcup','slice'];_0x20a4=function(){return _0x523ec0;};return _0x20a4();}
1
+ function u(I,X){I=I-0x9c;const o=f();let b=o[I];return b;}import{ValidationError}from'../../../errors.js';import{autoIndex}from'../../../plugins/resource/utils/auto-index.js';export async function suggestResource(I,X){const Z=u,o=X[Z(0x9c)][Z(0x9d)](I['resource']),b=String(I['search']??I['q']??'')[Z(0x9e)](),A=Math[Z(0x9f)](Math['max'](Number(I['limit']??0x14),0x1),0xc8),t=Date['now'](),p=o['fields'][I['field']],V=p?.[Z(0xa0)],O=p?.[Z(0xa1)]?.['table'];if(O){const r=p['lookup']?.[Z(0xa2)]??Z(0xa3),B=p['lookup']?.[Z(0xa4)]??'id';autoIndex(O,r,'text',X['pg']);const s=await X['pg']['query']('SELECT\x20'+B+'\x20as\x20id,\x20'+r+'\x20as\x20text\x20FROM\x20'+O+Z(0xa5)+r+')\x20~\x20$1\x20LIMIT\x20$2',[''+b['toLowerCase'](),A])['then'](F=>F['rows']);return{'limit':A,'count':s['length'],'search':b,'time':Date[Z(0xa6)]()-t,'data':s};}if(!V)throw new ValidationError('Field\x20has\x20no\x20lookup\x20dictionary:\x20'+I[Z(0xa7)]);const P=await X['dictionary']['get'](V),M=P['filter'](F=>!b||F['code']['startsWith'](b)||F[Z(0xa3)]['startsWith'](b))['slice'](0x0,A)['map'](F=>({'id':F['code']||F['id'],'text':F['name']||F['text']}));return{'search':b,'limit':A,'count':M['length'],'time':Date['now']()-t,'data':M};}function f(){const W=['resource','get','toLowerCase','min','dictionary','lookup','text','name','value','\x20WHERE\x20lower(','now','field'];f=function(){return W;};return f();}
@@ -0,0 +1,10 @@
1
+ import type { AppContext, User } from "../../../context.js";
2
+ export declare function updateResourceRelation(params: {
3
+ resource: string;
4
+ id: string;
5
+ relation: string;
6
+ relationId: string;
7
+ data: Record<string, unknown>;
8
+ user?: User;
9
+ }, ctx: AppContext): Promise<Record<string, unknown>>;
10
+ //# sourceMappingURL=update-resource-relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-resource-relation.d.ts","sourceRoot":"","sources":["../../../../src/modules/resource/services/update-resource-relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,sBAAsB,CACxC,MAAM,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC;CACf,EACD,GAAG,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
@@ -0,0 +1 @@
1
+ function u(I,X){I=I-0x1d3;const o=f();let b=o[I];return b;}export async function updateResourceRelation(I,X){const O=u,{resource:o,id:b,relation:A,relationId:t,data:p,user:V}=I;return X[O(0x1d3)]['updateRelation']({'name':o,'id':b,'relation':A,'relationId':t,'data':p,'user':V});}function f(){const P=['resource'];f=function(){return P;};return f();}
@@ -1 +1 @@
1
- function _0x5e52(_0x27d901,_0x2ae0a5){_0x27d901=_0x27d901-0x17f;var _0x8ae73e=_0x8ae7();var _0x5e5255=_0x8ae73e[_0x27d901];return _0x5e5255;}(function(_0x29f812,_0x549253){var _0x2d3ee3=_0x5e52,_0x3456a5=_0x29f812();while(!![]){try{var _0x501426=parseInt(_0x2d3ee3(0x18b))/0x1*(parseInt(_0x2d3ee3(0x184))/0x2)+parseInt(_0x2d3ee3(0x17f))/0x3*(-parseInt(_0x2d3ee3(0x180))/0x4)+-parseInt(_0x2d3ee3(0x188))/0x5+parseInt(_0x2d3ee3(0x187))/0x6+-parseInt(_0x2d3ee3(0x181))/0x7+-parseInt(_0x2d3ee3(0x183))/0x8*(-parseInt(_0x2d3ee3(0x186))/0x9)+-parseInt(_0x2d3ee3(0x18e))/0xa;if(_0x501426===_0x549253)break;else _0x3456a5['push'](_0x3456a5['shift']());}catch(_0x5f489f){_0x3456a5['push'](_0x3456a5['shift']());}}}(_0x8ae7,0xca736));function _0x8ae7(){var _0x18ba64=['resource','5203630BbvExI','33657tDSZfG','308fNxSDn','4493664HCxOSZ','name','990952yPSrbb','2vPTnxz','user','90QaOWDX','7673994QNgUgs','421870mWJEac','patch','update','422101hQAVRl','data'];_0x8ae7=function(){return _0x18ba64;};return _0x8ae7();}export async function updateResource(_0x26a6ef,_0xb95494){var _0x4825e3=_0x5e52,_0x514b96={};return _0x514b96[_0x4825e3(0x182)]=_0x26a6ef[_0x4825e3(0x18d)],_0x514b96['id']=_0x26a6ef['id'],_0x514b96[_0x4825e3(0x18c)]=_0x26a6ef[_0x4825e3(0x189)],_0x514b96[_0x4825e3(0x185)]=_0x26a6ef[_0x4825e3(0x185)],_0xb95494[_0x4825e3(0x18d)][_0x4825e3(0x18a)](_0x514b96);}
1
+ export async function updateResource(I,X){return X['resource']['update']({'name':I['resource'],'id':I['id'],'data':I['patch'],'user':I['user']});}
@@ -1 +1 @@
1
- function _0x1f6e(_0x4f410f,_0x128660){_0x4f410f=_0x4f410f-0xeb;const _0x5abc95=_0x5abc();let _0x1f6ef7=_0x5abc95[_0x4f410f];return _0x1f6ef7;}(function(_0x388cd3,_0x2ec844){const _0x18ac7d=_0x1f6e,_0x511801=_0x388cd3();while(!![]){try{const _0x2d696f=-parseInt(_0x18ac7d(0x10a))/0x1+parseInt(_0x18ac7d(0xfc))/0x2+-parseInt(_0x18ac7d(0x110))/0x3+parseInt(_0x18ac7d(0xf4))/0x4*(parseInt(_0x18ac7d(0x108))/0x5)+-parseInt(_0x18ac7d(0xf3))/0x6*(-parseInt(_0x18ac7d(0xfe))/0x7)+-parseInt(_0x18ac7d(0x101))/0x8+parseInt(_0x18ac7d(0x114))/0x9;if(_0x2d696f===_0x2ec844)break;else _0x511801['push'](_0x511801['shift']());}catch(_0x41cbc0){_0x511801['push'](_0x511801['shift']());}}}(_0x5abc,0x78095));import{ForbiddenError,NotFoundError,ValidationError}from'../../../errors.js';export async function uploadResourceFile(_0x16b7ae,_0x119123){const _0xa94895=_0x1f6e,_0x59771f={'mkNuf':function(_0x241bc1,_0x5a27f6){return _0x241bc1===_0x5a27f6;},'Gvemk':_0xa94895(0x119),'YCRfi':function(_0x4a90c4,_0x5ddf6){return _0x4a90c4!==_0x5ddf6;},'GTHpy':_0xa94895(0x109),'SJfqU':function(_0x233f7d,_0x20ba29){return _0x233f7d!==_0x20ba29;},'CPSUP':_0xa94895(0xec),'YkbWX':function(_0x4e14b1,_0xbd892e){return _0x4e14b1===_0xbd892e;},'ilIeB':_0xa94895(0xf1),'cloYe':_0xa94895(0x115),'qgcJE':function(_0x14a4e4,_0x1f105f){return _0x14a4e4(_0x1f105f);},'dmZsZ':function(_0x16b1e6,_0x12e88a){return _0x16b1e6(_0x12e88a);}},_0x71445a=_0x119123[_0xa94895(0xff)][_0xa94895(0xee)](_0x16b7ae[_0xa94895(0xff)]);if(_0x59771f[_0xa94895(0x10b)](_0x71445a[_0xa94895(0x10e)],_0x59771f[_0xa94895(0x116)])&&_0x59771f[_0xa94895(0x106)](_0x16b7ae[_0xa94895(0xf2)]?.[_0xa94895(0x100)],_0x59771f[_0xa94895(0x116)]))throw new ForbiddenError(_0x59771f[_0xa94895(0x117)]);if(_0x59771f[_0xa94895(0x111)](_0x16b7ae[_0xa94895(0xf2)]?.[_0xa94895(0x100)],_0x59771f[_0xa94895(0x116)])&&!_0x16b7ae[_0xa94895(0xf2)]?.[_0xa94895(0x107)]?.[_0xa94895(0x10c)]((_0x71445a[_0xa94895(0xfb)]??_0x71445a[_0xa94895(0x105)])+_0xa94895(0xfd))){if(_0x59771f[_0xa94895(0x10b)](_0x59771f[_0xa94895(0xfa)],_0x59771f[_0xa94895(0xfa)]))throw new ForbiddenError(_0xa94895(0xf0)+(_0x71445a[_0xa94895(0xfb)]??_0x71445a[_0xa94895(0x105)])+_0xa94895(0xfd));else throw new _0x51e87e(_0xa94895(0xf0)+(_0x3e0f09[_0xa94895(0xfb)]??_0x229434[_0xa94895(0x105)])+_0xa94895(0xfd));}if(!Buffer[_0xa94895(0x10d)](_0x16b7ae[_0xa94895(0x113)])||_0x59771f[_0xa94895(0xf7)](_0x16b7ae[_0xa94895(0x113)][_0xa94895(0xeb)],0x0))throw new ValidationError(_0x59771f[_0xa94895(0xed)]);const _0x139e87=_0x16b7ae[_0xa94895(0x11a)][_0xa94895(0x10f)](/[^A-Za-z0-9._-]/g,'_');if(!_0x139e87){if(_0x59771f[_0xa94895(0x111)](_0xa94895(0x115),_0x59771f[_0xa94895(0x11b)]))throw new _0x3e81bd(_0xa94895(0x109));else throw new ValidationError(_0xa94895(0x118));}const _0x101d31=_0xa94895(0xf8)+_0x16b7ae[_0xa94895(0xff)]+'/'+_0x59771f[_0xa94895(0xef)](String,_0x16b7ae['id'])+'/'+_0x139e87;await _0x119123[_0xa94895(0x113)][_0xa94895(0x103)](_0x101d31,_0x16b7ae[_0xa94895(0x113)]);if(!await _0x119123[_0xa94895(0x113)][_0xa94895(0x102)](_0x101d31))throw new NotFoundError(_0xa94895(0xf6));const _0x2d055c=await _0x119123['pg'][_0xa94895(0x112)](_0xa94895(0xf9),[_0x16b7ae[_0xa94895(0xff)],_0x59771f[_0xa94895(0xf5)](String,_0x16b7ae['id']),_0x101d31,_0x16b7ae[_0xa94895(0x113)][_0xa94895(0xeb)]]);return _0x2d055c[_0xa94895(0x104)][0x0];}function _0x5abc(){const _0x347165=['SJfqU','query','file','4318677GdYjaM','rvDqP','Gvemk','GTHpy','File\x20name\x20is\x20required','admin','fileName','cloYe','length','RnbJi','ilIeB','get','qgcJE','Missing\x20permission:\x20','File\x20is\x20required','user','6JqLEvD','712972iFFtGk','dmZsZ','Uploaded\x20file\x20not\x20found','YkbWX','files/','\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20admin.files\x20(resource,\x20resource_id,\x20file_path,\x20size)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4)\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20*\x0a\x20\x20\x20\x20','CPSUP','permission','1900088xwYeHA',':update','6526065jdmSvE','resource','type','7750808LfSxWI','exists','put','rows','name','YCRfi','permissions','5BycKJN','Admin\x20access\x20required','483556ZbPoZe','mkNuf','includes','isBuffer','access','replace','1789077KLXdmB'];_0x5abc=function(){return _0x347165;};return _0x5abc();}
1
+ import{ForbiddenError,NotFoundError,ValidationError}from'../../../errors.js';function u(I,X){I=I-0x1b5;const o=f();let b=o[I];return b;}export async function uploadResourceFile(I,X){const p=u,o=X['resource']['get'](I[p(0x1b5)]);if(o[p(0x1b6)]===p(0x1b7)&&I[p(0x1b8)]?.[p(0x1b9)]!==p(0x1b7))throw new ForbiddenError(p(0x1ba));if(I['user']?.[p(0x1b9)]!=='admin'&&!I['user']?.[p(0x1bb)]?.[p(0x1bc)]((o['permission']??o[p(0x1bd)])+':update'))throw new ForbiddenError(p(0x1be)+(o['permission']??o['name'])+':update');if(!Buffer[p(0x1bf)](I[p(0x1c0)])||I[p(0x1c0)][p(0x1c1)]===0x0)throw new ValidationError('File\x20is\x20required');const b=I['fileName']['replace'](/[^A-Za-z0-9._-]/g,'_');if(!b)throw new ValidationError('File\x20name\x20is\x20required');const A='files/'+I['resource']+'/'+String(I['id'])+'/'+b;await X[p(0x1c0)]['put'](A,I['file']);if(!await X['file']['exists'](A))throw new NotFoundError('Uploaded\x20file\x20not\x20found');const t=await X['pg']['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20admin.files\x20(resource,\x20resource_id,\x20file_path,\x20size)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4)\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20*\x0a\x20\x20\x20\x20',[I['resource'],String(I['id']),A,I['file']['length']]);return t['rows'][0x0];}function f(){const V=['resource','access','admin','user','type','Admin\x20access\x20required','permissions','includes','name','Missing\x20permission:\x20','isBuffer','file','length'];f=function(){return V;};return f();}
@@ -3,5 +3,6 @@
3
3
  */
4
4
  import type { FastifyPluginAsync } from "fastify";
5
5
  import type { AppContext } from "../../context.js";
6
- export declare function systemRoutes(ctx: AppContext): FastifyPluginAsync;
6
+ import type { ApiRoute } from "../../type.js";
7
+ export declare function systemRoutes(ctx: AppContext, apiRoutes?: ReadonlyMap<string, ApiRoute>): FastifyPluginAsync;
7
8
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/modules/system/route.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAYnD,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,kBAAkB,CAkHhE"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/modules/system/route.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAanD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,SAAS,GAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAa,GACnD,kBAAkB,CA8JpB"}
@@ -1 +1 @@
1
- const _0x3989f8=_0x1ed5;function _0x2417(){const _0x1d88d8=['5906929hoKuKJ','summary','HOatp','body','gjCfQ','jnqZT','Returns\x20the\x20list\x20of\x20registered\x20platform\x20APIs.','12JbXbqm','ZYaOG','system:logs:read','dictionaryName','SWXCd','/api/system/audit/','SObmH','Updates\x20system\x20settings\x20using\x20flat\x20dot-notation\x20keys.','List\x20APIs','Returns\x20system\x20logger\x20entries\x20for\x20the\x20requested\x20path.','admin','schema','fbeTS','post','DvoWb','RXyyM','system:settings:read','Get\x20platform\x20dictionary','access','tags','/api/system/check','/api/dictionaries/:name','system:check','system:api:read','26270621zRoZPo','9SbLWhy','15982DVeaqK','/api/system/api-list','fcore','Get\x20system\x20settings','system:settings:update','iCQEE','ECkZs','88tvsuZA','6dmwXMW','zTEWC','FgrEu','XMAAh','Returns\x20system\x20settings\x20as\x20nested\x20JSON.','/api/system/settings','YPqxv','List\x20platform\x20dictionaries','settings','Check\x20system\x20health','JlPgQ','get','EGJZG','user','clnPE','ZibPd','Update\x20system\x20settings','/api/dictionaries','Returns\x20a\x20registered\x20platform\x20dictionary\x20by\x20name.','params','iTVlN','339110GAigZg','description','33ceUGXT','system','query','nZHaE','33DjmJch','zDRQB','497416UNxwVd','Returns\x20the\x20system\x20audit\x20log\x20entries.','Get\x20audit\x20log','NBXxQ','Returns\x20all\x20available\x20dictionaries\x20registered\x20by\x20the\x20platform.','801513qAKHJF','bXQcv','iEJmw','/api/system/logger/*','mPevZ','Checks\x20the\x20availability\x20of\x20system\x20dependencies.','audit:read','1999500mnLwcS','Get\x20system\x20log','logger','permissions'];_0x2417=function(){return _0x1d88d8;};return _0x2417();}function _0x1ed5(_0x3dcde4,_0x5619af){_0x3dcde4=_0x3dcde4-0xfd;const _0x24175f=_0x2417();let _0x1ed585=_0x24175f[_0x3dcde4];return _0x1ed585;}(function(_0x3c5d02,_0x2ae42a){const _0x4d1b8e=_0x1ed5,_0x36c6a5=_0x3c5d02();while(!![]){try{const _0x1054f6=parseInt(_0x4d1b8e(0x116))/0x1*(parseInt(_0x4d1b8e(0x14d))/0x2)+-parseInt(_0x4d1b8e(0x14c))/0x3*(parseInt(_0x4d1b8e(0x11c))/0x4)+parseInt(_0x4d1b8e(0x128))/0x5+parseInt(_0x4d1b8e(0xff))/0x6*(-parseInt(_0x4d1b8e(0x12c))/0x7)+-parseInt(_0x4d1b8e(0xfe))/0x8*(parseInt(_0x4d1b8e(0x121))/0x9)+parseInt(_0x4d1b8e(0x114))/0xa*(parseInt(_0x4d1b8e(0x11a))/0xb)+parseInt(_0x4d1b8e(0x133))/0xc*(parseInt(_0x4d1b8e(0x14b))/0xd);if(_0x1054f6===_0x2ae42a)break;else _0x36c6a5['push'](_0x36c6a5['shift']());}catch(_0x55b3cc){_0x36c6a5['push'](_0x36c6a5['shift']());}}}(_0x2417,0x8ff31));import{getSystemSettings}from'./services/get-system-settings.js';import{updateSystemSettings}from'./services/update-system-settings.js';import{getAuditLog}from'./services/get-audit-log.js';import{checkSystem}from'./services/check-system.js';import{getApiList}from'./services/get-api-list.js';import{getSystemLog}from'./services/get-system-log.js';import{listDictionaries}from'./services/list-dictionaries.js';import{getDictionary}from'./services/get-dictionary.js';import{systemSchemas}from'./schema.js';const u=_0x192ab9=>_0x192ab9[_0x3989f8(0x10c)];export function systemRoutes(_0x4e9cf5){const _0x19afec=_0x3989f8,_0x33d1f9={};_0x33d1f9[_0x19afec(0x142)]=_0x19afec(0x110),_0x33d1f9[_0x19afec(0x10e)]=_0x19afec(0x117),_0x33d1f9[_0x19afec(0x139)]=_0x19afec(0x106),_0x33d1f9[_0x19afec(0x152)]=_0x19afec(0x120),_0x33d1f9[_0x19afec(0x134)]=_0x19afec(0x13d),_0x33d1f9[_0x19afec(0x11f)]=_0x19afec(0x148),_0x33d1f9[_0x19afec(0x13f)]=_0x19afec(0x14f),_0x33d1f9[_0x19afec(0x105)]=_0x19afec(0x144),_0x33d1f9[_0x19afec(0xfd)]=_0x19afec(0x111),_0x33d1f9[_0x19afec(0x102)]=_0x19afec(0x103),_0x33d1f9[_0x19afec(0x141)]=_0x19afec(0x143),_0x33d1f9[_0x19afec(0x125)]=_0x19afec(0x104),_0x33d1f9[_0x19afec(0x123)]=_0x19afec(0x10f),_0x33d1f9[_0x19afec(0x10b)]=_0x19afec(0x13a),_0x33d1f9[_0x19afec(0x119)]=_0x19afec(0x151),_0x33d1f9[_0x19afec(0x109)]=_0x19afec(0x124),_0x33d1f9[_0x19afec(0x113)]=_0x19afec(0x13c),_0x33d1f9[_0x19afec(0x131)]=_0x19afec(0x138),_0x33d1f9[_0x19afec(0x10d)]=_0x19afec(0x11e),_0x33d1f9[_0x19afec(0x122)]=_0x19afec(0x11d),_0x33d1f9[_0x19afec(0x100)]=_0x19afec(0x127),_0x33d1f9[_0x19afec(0x130)]=_0x19afec(0x108),_0x33d1f9[_0x19afec(0x12e)]=_0x19afec(0x126),_0x33d1f9[_0x19afec(0x101)]=_0x19afec(0x149),_0x33d1f9[_0x19afec(0x137)]=_0x19afec(0x132),_0x33d1f9[_0x19afec(0x11b)]=_0x19afec(0x14a);const _0x503dee=_0x33d1f9;return async _0x2da0a4=>{const _0x19e2db=_0x19afec;_0x2da0a4[_0x19e2db(0x10a)](_0x503dee[_0x19e2db(0x142)],{'schema':{'tags':[_0x19e2db(0x14f),_0x503dee[_0x19e2db(0x10e)]],'summary':_0x503dee[_0x19e2db(0x139)],'description':_0x503dee[_0x19e2db(0x152)],'access':_0x503dee[_0x19e2db(0x134)],'permissions':[]}},async _0x4b7c1c=>listDictionaries({'user':u(_0x4b7c1c)},_0x4e9cf5)),_0x2da0a4[_0x19e2db(0x10a)](_0x503dee[_0x19e2db(0x11f)],{'schema':{'tags':[_0x503dee[_0x19e2db(0x13f)],_0x503dee[_0x19e2db(0x10e)]],'summary':_0x503dee[_0x19e2db(0x105)],'description':_0x503dee[_0x19e2db(0xfd)],'access':_0x503dee[_0x19e2db(0x134)],'permissions':[],'params':systemSchemas[_0x19e2db(0x136)]}},async _0x5a2927=>getDictionary({..._0x5a2927[_0x19e2db(0x112)],'user':u(_0x5a2927)},_0x4e9cf5));const _0x2d9896={};_0x2d9896[_0x19e2db(0x146)]=[_0x19e2db(0x14f),_0x503dee[_0x19e2db(0x10e)]],_0x2d9896[_0x19e2db(0x12d)]=_0x19e2db(0x150),_0x2d9896[_0x19e2db(0x115)]=_0x503dee[_0x19e2db(0x102)],_0x2d9896[_0x19e2db(0x145)]=_0x503dee[_0x19e2db(0x134)],_0x2d9896[_0x19e2db(0x12b)]=[_0x503dee[_0x19e2db(0x141)]];const _0x3f9e94={};_0x3f9e94[_0x19e2db(0x13e)]=_0x2d9896,_0x2da0a4[_0x19e2db(0x10a)](_0x19e2db(0x104),_0x3f9e94,async _0x317829=>getSystemSettings({..._0x317829[_0x19e2db(0x112)],'user':u(_0x317829)},_0x4e9cf5)),_0x2da0a4[_0x19e2db(0x140)](_0x503dee[_0x19e2db(0x125)],{'schema':{'tags':[_0x503dee[_0x19e2db(0x13f)],_0x503dee[_0x19e2db(0x10e)]],'summary':_0x503dee[_0x19e2db(0x123)],'description':_0x503dee[_0x19e2db(0x10b)],'access':_0x503dee[_0x19e2db(0x134)],'permissions':[_0x503dee[_0x19e2db(0x119)]],'body':systemSchemas[_0x19e2db(0x107)]}},async _0x4852b6=>updateSystemSettings({..._0x4852b6[_0x19e2db(0x112)],'patch':_0x4852b6[_0x19e2db(0x12f)],'user':u(_0x4852b6)},_0x4e9cf5)),_0x2da0a4[_0x19e2db(0x10a)](_0x503dee[_0x19e2db(0x109)],{'schema':{'tags':[_0x19e2db(0x14f),_0x503dee[_0x19e2db(0x10e)]],'summary':_0x19e2db(0x129),'description':_0x503dee[_0x19e2db(0x113)],'access':_0x19e2db(0x13d),'permissions':[_0x19e2db(0x135)],'params':systemSchemas[_0x19e2db(0x12a)]}},async _0x1a2789=>getSystemLog({..._0x1a2789[_0x19e2db(0x118)],..._0x1a2789[_0x19e2db(0x112)],'user':u(_0x1a2789)},_0x4e9cf5)),_0x2da0a4[_0x19e2db(0x10a)](_0x503dee[_0x19e2db(0x131)],{'schema':{'tags':[_0x19e2db(0x14f),_0x503dee[_0x19e2db(0x10e)]],'summary':_0x503dee[_0x19e2db(0x10d)],'description':_0x503dee[_0x19e2db(0x122)],'access':_0x503dee[_0x19e2db(0x134)],'permissions':[_0x503dee[_0x19e2db(0x100)]]}},async _0xb32540=>getAuditLog({..._0xb32540[_0x19e2db(0x118)],'user':u(_0xb32540)},_0x4e9cf5));const _0x58cec6={};_0x58cec6[_0x19e2db(0x146)]=[_0x503dee[_0x19e2db(0x13f)],_0x19e2db(0x117)],_0x58cec6[_0x19e2db(0x12d)]=_0x503dee[_0x19e2db(0x130)],_0x58cec6[_0x19e2db(0x115)]=_0x503dee[_0x19e2db(0x12e)],_0x58cec6[_0x19e2db(0x145)]=_0x503dee[_0x19e2db(0x134)],_0x58cec6[_0x19e2db(0x12b)]=[_0x503dee[_0x19e2db(0x101)]];const _0x1102b9={};_0x1102b9[_0x19e2db(0x13e)]=_0x58cec6,_0x2da0a4[_0x19e2db(0x10a)](_0x19e2db(0x147),_0x1102b9,async _0x52c2e2=>checkSystem({'user':u(_0x52c2e2)},_0x4e9cf5));const _0x26f084={};_0x26f084[_0x19e2db(0x146)]=[_0x503dee[_0x19e2db(0x13f)],_0x503dee[_0x19e2db(0x10e)]],_0x26f084[_0x19e2db(0x12d)]=_0x19e2db(0x13b),_0x26f084[_0x19e2db(0x115)]=_0x503dee[_0x19e2db(0x137)],_0x26f084[_0x19e2db(0x145)]=_0x503dee[_0x19e2db(0x134)],_0x26f084[_0x19e2db(0x12b)]=[_0x503dee[_0x19e2db(0x11b)]];const _0x1c73ad={};_0x1c73ad[_0x19e2db(0x13e)]=_0x26f084,_0x2da0a4[_0x19e2db(0x10a)](_0x19e2db(0x14e),_0x1c73ad,async _0x1b4925=>getApiList({'user':u(_0x1b4925)},_0x4e9cf5));};}
1
+ import{getSystemSettings}from'./services/get-system-settings.js';import{updateSystemSettings}from'./services/update-system-settings.js';import{getAuditLog}from'./services/get-audit-log.js';function f(){const r=['/api/dictionary/:name','Get\x20platform\x20dictionary','fcore','system:dictionaries','dictionaryName','dictionaryItems','/api/access/:type/:id','system','Get\x20access\x20rules','Returns\x20direct\x20and\x20role-based\x20access\x20rules\x20for\x20a\x20user\x20or\x20role.','system:access','post','Set\x20access\x20rules','get','system:settings','/api/system/settings','settings','Get\x20system\x20log','user','query','send','/api/system/audit','system:check','List\x20APIs'];f=function(){return r;};return f();}import{checkSystem}from'./services/check-system.js';import{getApiList}from'./services/get-api-list.js';import{getSystemLog}from'./services/get-system-log.js';import{getDictionary}from'./services/get-dictionary.js';import{updateDictionary}from'./services/update-dictionary.js';import{getAccess}from'./services/get-access.js';function I(u,X){u=u-0x185;const o=f();let b=o[u];return b;}import{setAccess}from'./services/set-access.js';import{systemSchemas}from'./schema.js';const u=X=>X['user'];export function systemRoutes(X,o=new Map()){return async b=>{const P=I;b['get'](P(0x185),{'schema':{'tags':['fcore','system'],'summary':P(0x186),'description':'Returns\x20a\x20registered\x20platform\x20dictionary\x20by\x20name.','access':'user','permissions':['system:dictionaries'],'params':systemSchemas['dictionaryName']}},async t=>({'items':await getDictionary({...t['params'],'user':u(t)},X)})),b['post'](P(0x185),{'schema':{'tags':[P(0x187),'system'],'summary':'Update\x20platform\x20dictionary','description':'Replaces\x20the\x20items\x20of\x20a\x20registered\x20platform\x20dictionary.','access':'user','permissions':[P(0x188)],'params':systemSchemas[P(0x189)],'body':systemSchemas[P(0x18a)]}},async t=>updateDictionary({...t['params'],...t['body'],'user':u(t)},X));const A=async t=>getAccess({...t['params'],'user':u(t)},X);b['get'](P(0x18b),{'schema':{'tags':['fcore',P(0x18c)],'summary':P(0x18d),'description':P(0x18e),'access':'admin','permissions':[P(0x18f)],'params':systemSchemas['accessTarget']}},A),b[P(0x190)]('/api/access/:type/:id',{'schema':{'tags':['fcore',P(0x18c)],'summary':P(0x191),'description':'Replaces\x20direct\x20access\x20rules\x20for\x20a\x20user\x20or\x20role.','access':'admin','permissions':['system:access'],'params':systemSchemas['accessTarget'],'body':systemSchemas['access']}},async t=>setAccess({...t['params'],...t['body'],'user':u(t)},X)),b[P(0x192)]('/api/system/settings',{'schema':{'tags':['fcore','system'],'summary':'Get\x20system\x20settings','description':'Returns\x20system\x20settings\x20as\x20nested\x20JSON.','access':'admin','permissions':[P(0x193)]}},async t=>getSystemSettings({...t['params'],'user':u(t)},X)),b[P(0x190)](P(0x194),{'schema':{'tags':['fcore','system'],'summary':'Update\x20system\x20settings','description':'Updates\x20system\x20settings\x20using\x20flat\x20dot-notation\x20keys.','access':'admin','permissions':[P(0x193)],'body':systemSchemas[P(0x195)]}},async t=>updateSystemSettings({...t['params'],'patch':t['body'],'user':u(t)},X)),b['get']('/api/system/logger',{'schema':{'tags':[P(0x187),'system'],'summary':P(0x196),'description':'Returns\x20system\x20logger\x20entries\x20for\x20the\x20requested\x20path.','access':P(0x197),'permissions':['system:logs'],'querystring':systemSchemas['logger']}},async(t,p)=>{const M=P,{contentType:V,body:O}=await getSystemLog({...t[M(0x198)],'user':u(t)},X);return p['type'](V)[M(0x199)](O);}),b['get'](P(0x19a),{'schema':{'tags':[P(0x187),'system'],'summary':'Get\x20audit\x20log','description':'Returns\x20the\x20system\x20audit\x20log\x20entries.','access':'user','permissions':['system:audit']}},async t=>getAuditLog({...t[P(0x198)],'user':u(t)},X)),b['get']('/api/system/check',{'schema':{'tags':['fcore','system'],'summary':'Check\x20system\x20health','description':'Checks\x20the\x20availability\x20of\x20system\x20dependencies.','access':'user','permissions':[P(0x19b)]}},async t=>checkSystem({'user':u(t)},X)),b['get']('/api/system/list',{'schema':{'tags':[P(0x187),'system'],'summary':P(0x19c),'description':'Returns\x20the\x20list\x20of\x20registered\x20platform\x20APIs.','access':'admin','permissions':[],'querystring':systemSchemas['apiListQuery']}},async t=>getApiList({'user':u(t),'apiRoutes':o,...t['query']},X));};}
@@ -3,12 +3,34 @@ export declare const systemSchemas: {
3
3
  dictionaryName: import("@sinclair/typebox").TObject<{
4
4
  name: import("@sinclair/typebox").TString;
5
5
  }>;
6
+ dictionaryItems: import("@sinclair/typebox").TObject<{
7
+ items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
8
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
9
+ code: import("@sinclair/typebox").TString;
10
+ name: import("@sinclair/typebox").TString;
11
+ parentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
12
+ }>>;
13
+ }>;
14
+ accessTarget: import("@sinclair/typebox").TObject<{
15
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"user">, import("@sinclair/typebox").TLiteral<"role">]>;
16
+ id: import("@sinclair/typebox").TString;
17
+ }>;
18
+ access: import("@sinclair/typebox").TObject<{
19
+ permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
20
+ access: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
21
+ resource: import("@sinclair/typebox").TString;
22
+ actions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
23
+ }>>>;
24
+ }>;
25
+ apiListQuery: import("@sinclair/typebox").TObject<{
26
+ format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"short">, import("@sinclair/typebox").TLiteral<"extended">]>>;
27
+ }>;
6
28
  settingsEntity: import("@sinclair/typebox").TObject<{
7
29
  entity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
30
  }>;
9
31
  settings: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
10
32
  logger: import("@sinclair/typebox").TObject<{
11
- "*": import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
33
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
34
  }>;
13
35
  };
14
36
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/modules/system/schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,qCAIrB,CAAC;AAEH,eAAO,MAAM,aAAa;IACxB,cAAc;;;IAGd,cAAc;;;IACd,QAAQ;IACR,MAAM;;;CACP,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/modules/system/schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,qCAIrB,CAAC;AAEH,eAAO,MAAM,aAAa;IACxB,cAAc;;;IAGd,eAAe;;;;;;;;IAef,YAAY;;;;IAIZ,MAAM;;;;;;;IAaN,YAAY;;;IAGZ,cAAc;;;IACd,QAAQ;IACR,MAAM;;;CAKP,CAAC"}
@@ -1 +1 @@
1
- const _0x23ddcc=_0x12a0;(function(_0x4cbcbd,_0x583aa3){const _0x52b9db=_0x12a0,_0x1cc125=_0x4cbcbd();while(!![]){try{const _0x3845e6=-parseInt(_0x52b9db(0x119))/0x1*(-parseInt(_0x52b9db(0x116))/0x2)+-parseInt(_0x52b9db(0x111))/0x3+parseInt(_0x52b9db(0x115))/0x4*(-parseInt(_0x52b9db(0x11d))/0x5)+parseInt(_0x52b9db(0x11f))/0x6+-parseInt(_0x52b9db(0x117))/0x7+-parseInt(_0x52b9db(0x110))/0x8*(-parseInt(_0x52b9db(0x121))/0x9)+parseInt(_0x52b9db(0x11b))/0xa;if(_0x3845e6===_0x583aa3)break;else _0x1cc125['push'](_0x1cc125['shift']());}catch(_0xba90e2){_0x1cc125['push'](_0x1cc125['shift']());}}}(_0x4329,0xb0f6f));import{Type}from'@sinclair/typebox';const _0x1aeb7b={};function _0x4329(){const _0x440dc9=['name','^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$','Record','28szAZuZ','148qSyQOD','2159654ySjALo','String','10939epBwzt','Optional','14153600pWcRuS','pattern','453095clOJoP','Unknown','1462608ZKgFDX','maxLength','711378LhDMPs','Object','minLength','16geOaHM','2876988vYDGGq'];_0x4329=function(){return _0x440dc9;};return _0x4329();}_0x1aeb7b[_0x23ddcc(0x123)]=0x1,_0x1aeb7b[_0x23ddcc(0x120)]=0x80,_0x1aeb7b[_0x23ddcc(0x11c)]=_0x23ddcc(0x113);export const identifier=Type[_0x23ddcc(0x118)](_0x1aeb7b);function _0x12a0(_0x2a6c4a,_0x3403cb){_0x2a6c4a=_0x2a6c4a-0x110;const _0x432976=_0x4329();let _0x12a015=_0x432976[_0x2a6c4a];return _0x12a015;}const _0x4b16ed={};_0x4b16ed[_0x23ddcc(0x112)]=identifier;const _0x5a9a09={};_0x5a9a09[_0x23ddcc(0x123)]=0x1;const _0x4cbbae={};_0x4cbbae[_0x23ddcc(0x123)]=0x1;export const systemSchemas={'dictionaryName':Type[_0x23ddcc(0x122)](_0x4b16ed),'settingsEntity':Type[_0x23ddcc(0x122)]({'entity':Type[_0x23ddcc(0x11a)](identifier)}),'settings':Type[_0x23ddcc(0x114)](Type[_0x23ddcc(0x118)](_0x5a9a09),Type[_0x23ddcc(0x11e)]()),'logger':Type[_0x23ddcc(0x122)]({'*':Type[_0x23ddcc(0x11a)](Type[_0x23ddcc(0x118)](_0x4cbbae))})};
1
+ const I=u;function u(I,X){I=I-0xc2;const o=f();let b=o[I];return b;}import{Type}from'@sinclair/typebox';export const identifier=Type['String']({'minLength':0x1,'maxLength':0x80,'pattern':I(0xc2)});export const systemSchemas={'dictionaryName':Type['Object']({'name':identifier}),'dictionaryItems':Type['Object']({'items':Type['Array'](Type['Object']({'id':Type['Optional'](Type[I(0xc3)]([Type['String'](),Type['Number']()])),'code':Type['String']({'minLength':0x1}),'name':Type['String']({'minLength':0x1}),'parentId':Type[I(0xc4)](Type['Union']([Type['String'](),Type[I(0xc5)](),Type[I(0xc6)]()]))},{'additionalProperties':!![]}))}),'accessTarget':Type['Object']({'type':Type['Union']([Type['Literal']('user'),Type['Literal']('role')]),'id':identifier}),'access':Type['Object']({'permissions':Type['Optional'](Type[I(0xc7)](Type['String']({'minLength':0x1,'maxLength':0x80,'pattern':'^[A-Za-z0-9_-]+(?::[A-Za-z0-9_-]+)?$'}))),'access':Type[I(0xc4)](Type[I(0xc7)](Type[I(0xc8)]({'resource':Type['String']({'minLength':0x1,'maxLength':0x80}),'actions':Type[I(0xc7)](Type[I(0xc9)]({'minLength':0x1,'maxLength':0x80}),{'minItems':0x1})})))}),'apiListQuery':Type['Object']({'format':Type[I(0xc4)](Type['Union']([Type['Literal']('short'),Type['Literal']('extended')]))}),'settingsEntity':Type['Object']({'entity':Type[I(0xc4)](identifier)}),'settings':Type['Record'](Type['String']({'minLength':0x1}),Type['Unknown']()),'logger':Type['Object']({'path':Type['Optional'](Type['String']({'maxLength':0x100,'pattern':'^[A-Za-z0-9_.\x5c-/]*$'}))})};function f(){const X=['^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$','Union','Optional','Number','Null','Array','Object','String'];f=function(){return X;};return f();}
@@ -1 +1 @@
1
- {"version":3,"file":"check-system.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/check-system.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,CAiBd"}
1
+ {"version":3,"file":"check-system.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/check-system.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,CAcd"}
@@ -1 +1 @@
1
- (function(_0x47cbce,_0x318989){const _0x5dcef2=_0x4130,_0x12da6c=_0x47cbce();while(!![]){try{const _0x552f5f=parseInt(_0x5dcef2(0x177))/0x1+parseInt(_0x5dcef2(0x17b))/0x2*(parseInt(_0x5dcef2(0x172))/0x3)+parseInt(_0x5dcef2(0x165))/0x4*(-parseInt(_0x5dcef2(0x163))/0x5)+parseInt(_0x5dcef2(0x175))/0x6*(parseInt(_0x5dcef2(0x164))/0x7)+parseInt(_0x5dcef2(0x178))/0x8+-parseInt(_0x5dcef2(0x17c))/0x9+-parseInt(_0x5dcef2(0x16b))/0xa*(parseInt(_0x5dcef2(0x169))/0xb);if(_0x552f5f===_0x318989)break;else _0x12da6c['push'](_0x12da6c['shift']());}catch(_0x5c2781){_0x12da6c['push'](_0x12da6c['shift']());}}}(_0x12f1,0x3fea9));function _0x4130(_0x46012d,_0x39dc4a){_0x46012d=_0x46012d-0x163;const _0x12f1a0=_0x12f1();let _0x413005=_0x12f1a0[_0x46012d];return _0x413005;}import{requireAdmin}from'../../utils/require-admin.js';export async function checkSystem(_0x8b1045,_0x40c8dd){const _0x873853=_0x4130,_0xac69f1={};_0xac69f1[_0x873853(0x17a)]=_0x873853(0x170),_0xac69f1[_0x873853(0x174)]=_0x873853(0x179),_0xac69f1[_0x873853(0x166)]=function(_0x146172,_0x3bccdd){return _0x146172===_0x3bccdd;},_0xac69f1[_0x873853(0x173)]=_0x873853(0x16d),_0xac69f1[_0x873853(0x176)]=_0x873853(0x16a);const _0x12909e=_0xac69f1;requireAdmin(_0x8b1045[_0x873853(0x171)],_0x12909e[_0x873853(0x17a)]);const [_0x4f6c1b,_0x4a28e4]=await Promise[_0x873853(0x168)]([_0x40c8dd['pg'][_0x873853(0x167)](_0x12909e[_0x873853(0x174)]),_0x40c8dd[_0x873853(0x16f)][_0x873853(0x16c)]()]);return{'status':_0x12909e[_0x873853(0x166)](_0x4f6c1b[_0x873853(0x16e)],_0x12909e[_0x873853(0x173)])&&_0x4a28e4[_0x873853(0x16e)]===_0x873853(0x16d)?'ok':_0x12909e[_0x873853(0x176)],'pg':_0x4f6c1b[_0x873853(0x16e)],'redis':_0x4a28e4[_0x873853(0x16e)]};}function _0x12f1(){const _0x7932e1=['status','redis','system:check','user','3FmAklI','NoPGw','iImFL','5922ZUffeL','haiBi','491652eJqAim','3469112YJDSDB','SELECT\x201','GETRn','266566SMolcn','2804049xWQErb','920150arBuFo','1498fneRJR','8cRmIMb','PfHCj','query','allSettled','11TVaVjF','degraded','3283700OjUXPF','ping','fulfilled'];_0x12f1=function(){return _0x7932e1;};return _0x12f1();}
1
+ function f(){const t=['query','SELECT\x201','fulfilled'];f=function(){return t;};return f();}function u(I,X){I=I-0x144;const o=f();let b=o[I];return b;}export async function checkSystem(I,X){const A=u,[o,b]=await Promise['allSettled']([X['pg'][A(0x144)](A(0x145)),X['redis']['ping']()]);return{'status':o['status']==='fulfilled'&&b['status']===A(0x146)?'ok':'degraded','pg':o['status'],'redis':b['status']};}
@@ -0,0 +1,15 @@
1
+ import type { AppContext, User } from "../../../context.js";
2
+ export interface AccessRecord {
3
+ resource: string | null;
4
+ actions: string[] | null;
5
+ role: string | null;
6
+ }
7
+ export declare function getAccess(params: {
8
+ type: "user" | "role";
9
+ id: string;
10
+ user: User;
11
+ }, ctx: AppContext): Promise<{
12
+ access: AccessRecord[];
13
+ resources: string[];
14
+ }>;
15
+ //# sourceMappingURL=get-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-access.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EACzD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwB1D"}
@@ -0,0 +1 @@
1
+ function u(I,X){I=I-0x1d7;const o=f();let b=o[I];return b;}function f(){const V=['type','user','\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20ra.resource,\x20ra.actions,\x20ra.role_id\x20AS\x20role\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20admin.role_access\x20ra\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20ra.role_id\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20','rows','filter'];f=function(){return V;};return f();}export async function getAccess(I,X){const p=u,o=I[p(0x1d7)]===p(0x1d8)?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20ra.resource,\x20ra.actions,\x20ra.role_id\x20AS\x20role\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20admin.role_access\x20ra\x0a\x20\x20\x20\x20\x20\x20\x20\x20LEFT\x20JOIN\x20admin.user_roles\x20ur\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20ur.role_id\x20=\x20ra.role_id\x20AND\x20ur.user_uid\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20ra.user_uid\x20=\x20$1\x20OR\x20ur.user_uid\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20':p(0x1d9),b=await X['pg']['query'](o,[I['id']]),A=[...new Set(b[p(0x1da)]['map'](t=>t['resource'])[p(0x1db)](t=>t!==null))];return{'access':b['rows'],'resources':A};}
@@ -2,7 +2,10 @@
2
2
  * Implements the get API list application service for the System module.
3
3
  */
4
4
  import type { AppContext, User } from "../../../context.js";
5
+ import type { ApiRoute } from "../../../type.js";
5
6
  export declare function getApiList(params: {
6
7
  user: User;
7
- }, ctx: AppContext): Promise<string[]>;
8
+ apiRoutes: ReadonlyMap<string, ApiRoute>;
9
+ format?: "short" | "extended";
10
+ }, ctx: AppContext): Promise<ApiRoute[] | string[]>;
8
11
  //# sourceMappingURL=get-api-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-api-list.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-api-list.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,UAAU,CAC9B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB"}
1
+ {"version":3,"file":"get-api-list.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-api-list.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAEhE,wBAAsB,UAAU,CAC9B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAC/B,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAWhC"}
@@ -1 +1 @@
1
- function _0x12d8(_0x1ad52a,_0x4bbdd0){_0x1ad52a=_0x1ad52a-0xfd;var _0x5786f6=_0x5786();var _0x12d865=_0x5786f6[_0x1ad52a];return _0x12d865;}function _0x5786(){var _0x4f1786=['1353272hakdeS','/api/system/check','157BSiTfz','2169520TWyzaZ','icDsx','5284BuMiCg','/api/login','1660245aFGDKI','ofcSg','/api/logout','lCFYK','QZYcF','/api/templates','/api/dictionaries','/files/*','3348576XhObqZ','system:api:read','/api/user','/api/resource/:resource/:id','/api/resource/:resource','XLZRd','1571292weaoCh','user','eEwKq','14UJpgnp','voGDT','INdFq','537798TeYEdf'];_0x5786=function(){return _0x4f1786;};return _0x5786();}(function(_0x5e73fe,_0x4891b9){var _0x5a6bbb=_0x12d8,_0x20a84b=_0x5e73fe();while(!![]){try{var _0x5afece=parseInt(_0x5a6bbb(0x10a))/0x1*(parseInt(_0x5a6bbb(0x10d))/0x2)+parseInt(_0x5a6bbb(0x101))/0x3+-parseInt(_0x5a6bbb(0x108))/0x4+-parseInt(_0x5a6bbb(0x10f))/0x5+parseInt(_0x5a6bbb(0x107))/0x6*(parseInt(_0x5a6bbb(0x104))/0x7)+parseInt(_0x5a6bbb(0x10b))/0x8+-parseInt(_0x5a6bbb(0x117))/0x9;if(_0x5afece===_0x4891b9)break;else _0x20a84b['push'](_0x20a84b['shift']());}catch(_0xdfe9b0){_0x20a84b['push'](_0x20a84b['shift']());}}}(_0x5786,0x549d7));import{requireAdmin}from'../../utils/require-admin.js';export async function getApiList(_0x51d4f1,_0x5b930d){var _0x5f057f=_0x12d8,_0x4cf0ba={'XLZRd':function(_0x5a93ab,_0x3fa8dd,_0x3fa000){return _0x5a93ab(_0x3fa8dd,_0x3fa000);},'voGDT':_0x5f057f(0x118),'lCFYK':_0x5f057f(0xfd),'QZYcF':_0x5f057f(0xff),'ofcSg':_0x5f057f(0xfe),'eEwKq':_0x5f057f(0x115),'INdFq':_0x5f057f(0x116),'icDsx':_0x5f057f(0x109)};return _0x4cf0ba[_0x5f057f(0x100)](requireAdmin,_0x51d4f1[_0x5f057f(0x102)],_0x4cf0ba[_0x5f057f(0x105)]),[_0x5f057f(0x10e),_0x5f057f(0x111),_0x4cf0ba[_0x5f057f(0x112)],_0x4cf0ba[_0x5f057f(0x113)],_0x4cf0ba[_0x5f057f(0x110)],_0x4cf0ba[_0x5f057f(0x103)],_0x4cf0ba[_0x5f057f(0x106)],_0x5f057f(0x114),_0x4cf0ba[_0x5f057f(0x10c)]];}
1
+ export async function getApiList(I,X){const V=u,o=[...I['apiRoutes'][V(0x70)]()]['sort']((b,A)=>(b['endpoint']+'\x20'+b['method'])[V(0x71)](A[V(0x72)]+'\x20'+A['method']));if(I['format']!==V(0x73))return o;return o['map'](({method:b,endpoint:A,access:t,permissions:p})=>b+'\x20'+A);}function u(I,X){I=I-0x70;const o=f();let b=o[I];return b;}function f(){const O=['values','localeCompare','endpoint','short'];f=function(){return O;};return f();}
@@ -1 +1 @@
1
- {"version":3,"file":"get-audit-log.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-audit-log.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,CAgBd"}
1
+ {"version":3,"file":"get-audit-log.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-audit-log.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,CAcd"}
@@ -1 +1 @@
1
- function _0x16c0(_0x524c71,_0xbce4e2){_0x524c71=_0x524c71-0xdb;const _0x29661b=_0x2966();let _0x16c026=_0x29661b[_0x524c71];return _0x16c026;}(function(_0x4fb78f,_0x378ed3){const _0x302c89=_0x16c0,_0x20e620=_0x4fb78f();while(!![]){try{const _0x1f8f95=parseInt(_0x302c89(0xe1))/0x1+parseInt(_0x302c89(0xe5))/0x2+parseInt(_0x302c89(0xe0))/0x3*(-parseInt(_0x302c89(0xdc))/0x4)+parseInt(_0x302c89(0xe6))/0x5+parseInt(_0x302c89(0xe4))/0x6+parseInt(_0x302c89(0xdf))/0x7+-parseInt(_0x302c89(0xdb))/0x8;if(_0x1f8f95===_0x378ed3)break;else _0x20e620['push'](_0x20e620['shift']());}catch(_0x4f3f3b){_0x20e620['push'](_0x20e620['shift']());}}}(_0x2966,0x86b10));function _0x2966(){const _0x245cbd=['user','limit','sHWvU','8121136DRtpuv','4109284BbqQFN','query','audit:read','3311700WtFkuC','3ZrQDfx','395277oBekmC','SELECT\x20*\x20FROM\x20admin.audit_log\x20ORDER\x20BY\x20id\x20DESC\x20LIMIT\x20$1\x20OFFSET\x20$2','bWltg','6254928CWGBUK','567418cHAUOj','1997925XAzEde','QZQhy','ZkPIE','rows','max','min','page'];_0x2966=function(){return _0x245cbd;};return _0x2966();}import{requireAdmin}from'../../utils/require-admin.js';export async function getAuditLog(_0x2a271e,_0x13d0db){const _0x1f9038=_0x16c0,_0x44cb4f={};_0x44cb4f[_0x1f9038(0xef)]=_0x1f9038(0xde),_0x44cb4f[_0x1f9038(0xe8)]=function(_0x54c297,_0x45ca05){return _0x54c297*_0x45ca05;},_0x44cb4f[_0x1f9038(0xe3)]=function(_0x411811,_0x85d557){return _0x411811-_0x85d557;},_0x44cb4f[_0x1f9038(0xe7)]=_0x1f9038(0xe2);const _0x2b6ac8=_0x44cb4f;requireAdmin(_0x2a271e[_0x1f9038(0xed)],_0x2b6ac8[_0x1f9038(0xef)]);const _0x512701=Math[_0x1f9038(0xeb)](Math[_0x1f9038(0xea)](_0x2a271e[_0x1f9038(0xee)]??0x32,0x1),0xc8),_0x1e5e89=_0x2b6ac8[_0x1f9038(0xe8)](Math[_0x1f9038(0xea)](_0x2b6ac8[_0x1f9038(0xe3)](_0x2a271e[_0x1f9038(0xec)]??0x1,0x1),0x0),_0x512701),_0x357ab5=await _0x13d0db['pg'][_0x1f9038(0xdd)](_0x2b6ac8[_0x1f9038(0xe7)],[_0x512701,_0x1e5e89]),_0x25eccf={};return _0x25eccf[_0x1f9038(0xe9)]=_0x357ab5[_0x1f9038(0xe9)],_0x25eccf[_0x1f9038(0xec)]=_0x2a271e[_0x1f9038(0xec)]??0x1,_0x25eccf[_0x1f9038(0xee)]=_0x512701,_0x25eccf;}
1
+ function u(I,X){I=I-0x7a;const o=f();let b=o[I];return b;}export async function getAuditLog(I,X){const t=u,o=Math['min'](Math['max'](I['limit']??0x32,0x1),0xc8),b=Math[t(0x7a)]((I[t(0x7b)]??0x1)-0x1,0x0)*o,A=await X['pg'][t(0x7c)](t(0x7d),[o,b]);return{'rows':A['rows'],'page':I[t(0x7b)]??0x1,'limit':o};}function f(){const p=['max','page','query','SELECT\x20*\x20FROM\x20admin.audit_log\x20ORDER\x20BY\x20id\x20DESC\x20LIMIT\x20$1\x20OFFSET\x20$2'];f=function(){return p;};return f();}
@@ -1 +1 @@
1
- function _0xf179(){var _0x5b3862=['810052nKHZtr','name','612212BTBMmy','3632619ExkAjC','8656848oHrTwJ','3548360iksKDG','6288632zHlirj','get','dictionary','4UnKtLn','7002600EWRSIt'];_0xf179=function(){return _0x5b3862;};return _0xf179();}(function(_0x3828bf,_0x178d88){var _0x213e92=_0xe853,_0x21c570=_0x3828bf();while(!![]){try{var _0x1279bd=parseInt(_0x213e92(0x9e))/0x1+parseInt(_0x213e92(0xa0))/0x2+-parseInt(_0x213e92(0xa1))/0x3*(-parseInt(_0x213e92(0x9c))/0x4)+-parseInt(_0x213e92(0xa3))/0x5+-parseInt(_0x213e92(0x9d))/0x6+-parseInt(_0x213e92(0xa4))/0x7+parseInt(_0x213e92(0xa2))/0x8;if(_0x1279bd===_0x178d88)break;else _0x21c570['push'](_0x21c570['shift']());}catch(_0xa9d0f8){_0x21c570['push'](_0x21c570['shift']());}}}(_0xf179,0x9ac85));function _0xe853(_0xacfdfe,_0x2741f2){_0xacfdfe=_0xacfdfe-0x9a;var _0xf1792c=_0xf179();var _0xe85365=_0xf1792c[_0xacfdfe];return _0xe85365;}export async function getDictionary(_0x5c30a4,_0x596fe8){var _0x4f726b=_0xe853;return _0x596fe8[_0x4f726b(0x9b)][_0x4f726b(0x9a)](_0x5c30a4[_0x4f726b(0x9f)]);}
1
+ export async function getDictionary(I,X){var o=u;return X['dictionary'][o(0xa5)](I['name']);}function u(I,X){I=I-0xa5;var o=f();var b=o[I];return b;}function f(){var b=['get'];f=function(){return b;};return f();}
@@ -1,6 +1,10 @@
1
- /**
2
- * Implements the get system log application service for its module.
3
- */
4
- import type { AppContext } from '../../../context.js';
5
- export declare function getSystemLog(params: any, ctx: AppContext): Promise<never>;
1
+ import type { AppContext, User } from "../../../context.js";
2
+ export interface LogResult {
3
+ contentType: string;
4
+ body: string;
5
+ }
6
+ export declare function getSystemLog(params: {
7
+ path?: string;
8
+ user: User;
9
+ }, ctx: AppContext): Promise<LogResult>;
6
10
  //# sourceMappingURL=get-system-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-system-log.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-system-log.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,wBAAsB,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAE/E"}
1
+ {"version":3,"file":"get-system-log.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-system-log.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAc5D,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EACrC,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,SAAS,CAAC,CA0CpB"}
@@ -1 +1 @@
1
- (function(_0x1030b5,_0x252bec){var _0x35640b=_0x2c96,_0x52a031=_0x1030b5();while(!![]){try{var _0x162e1d=parseInt(_0x35640b(0x6c))/0x1+parseInt(_0x35640b(0x72))/0x2*(-parseInt(_0x35640b(0x6f))/0x3)+-parseInt(_0x35640b(0x70))/0x4*(-parseInt(_0x35640b(0x6b))/0x5)+parseInt(_0x35640b(0x74))/0x6+parseInt(_0x35640b(0x71))/0x7*(parseInt(_0x35640b(0x6e))/0x8)+-parseInt(_0x35640b(0x73))/0x9+-parseInt(_0x35640b(0x6a))/0xa;if(_0x162e1d===_0x252bec)break;else _0x52a031['push'](_0x52a031['shift']());}catch(_0x19b99c){_0x52a031['push'](_0x52a031['shift']());}}}(_0x2f30,0x8ca09));function _0x2f30(){var _0x37470b=['24yLYVFp','33OhrLwI','2204gTBVCU','1190665ipiEkG','57366yhYRlJ','9352008TyTAxz','4486830WOsvSD','OECcq','6147740hQGRCH','1715Tnlvqn','1098325VUBfMt','File\x20logger\x20backend'];_0x2f30=function(){return _0x37470b;};return _0x2f30();}import{unsupported}from'../../utils/unsupported.js';function _0x2c96(_0x183efb,_0x1f910b){_0x183efb=_0x183efb-0x69;var _0x2f3011=_0x2f30();var _0x2c9648=_0x2f3011[_0x183efb];return _0x2c9648;}export async function getSystemLog(_0x58eadc,_0x36a68b){var _0x3212ff=_0x2c96,_0x370727={'OECcq':function(_0x5f3dbd,_0x4f03df){return _0x5f3dbd(_0x4f03df);}};return _0x370727[_0x3212ff(0x69)](unsupported,_0x3212ff(0x6d));}
1
+ import I from'node:fs/promises';import X from'node:path';function f(){const q=['resolve','stat','join','isDirectory','toISOString','slice','text/plain;\x20charset=utf-8','?path=','name','</a></li>','<!DOCTYPE\x20html>\x0a<html>\x0a<head><meta\x20charset=\x22utf-8\x22><title>','replace','&quot;','split','alloc','min','concat','toString'];f=function(){return q;};return f();}import{NotFoundError,ValidationError}from'../../../errors.js';const LOGS_ROOT=X['resolve'](process['cwd'](),'logs'),TAIL_LINES=0x64;export async function getSystemLog(o,b){const F=u,A=normalizePath(o['path']),t=X[F(0x121)](LOGS_ROOT,A);if(t!==LOGS_ROOT&&!t['startsWith'](LOGS_ROOT+X['sep']))throw new ValidationError('Invalid\x20log\x20path');const p=await I['stat'](t)['catch'](()=>null);if(!p)throw new NotFoundError('Log\x20path\x20not\x20found');if(p['isDirectory']()){const O=await I['readdir'](t,{'withFileTypes':!![]}),P=await Promise['all'](O['map'](async M=>{const Z=F,r=await I[Z(0x122)](X[Z(0x123)](t,M['name']));return{'name':M['name'],'path':A?A+'/'+M['name']:M['name'],'type':M['isDirectory']()?'directory':'file','size':M[Z(0x124)]()?undefined:r['size'],'modified':r['mtime'][Z(0x125)]()};}));P['sort']((M,r)=>M['name']['localeCompare'](r['name']));if(A){const M=A['split']('/')[F(0x126)](0x0,-0x1)[F(0x123)]('/');P['unshift']({'name':'..','path':M,'type':'directory'});}return{'contentType':'text/html;\x20charset=utf-8','body':renderDirectory(A,P)};}const V=await tailFile(t,TAIL_LINES);return{'contentType':F(0x127),'body':V[F(0x123)]('\x0a')};}function u(I,X){I=I-0x121;const o=f();let b=o[I];return b;}function renderDirectory(o,b){const K=u,A=b['map'](p=>{const W=u,V=W(0x128)+encodeURIComponent(p['path']),O=p['type']==='directory'?p[W(0x129)]+'/':p['name'];return'<li><a\x20href=\x22'+V+'\x22>'+escapeHtml(O)+W(0x12a);})['join']('\x0a'),t=escapeHtml('logs/'+o);return K(0x12b)+t+'</title></head>\x0a<body>\x0a<h1>'+t+'</h1>\x0a<ul>\x0a'+A+'\x0a</ul>\x0a</body>\x0a</html>';}function escapeHtml(o){const y=u;return o['replace'](/&/g,'&amp;')[y(0x12c)](/</g,'&lt;')['replace'](/>/g,'&gt;')['replace'](/"/g,y(0x12d));}function normalizePath(o){const c=u,b=(o??'')['replace'](/\\/g,'/')['replace'](/^\/+|\/+$/g,'');if(b[c(0x12e)]('/')['some'](A=>A==='..'))throw new ValidationError('Invalid\x20log\x20path');return b;}async function tailFile(o,b){const Y=u,A=await I['open'](o,'r');try{const {size:t}=await A['stat'](),p=0x40*0x400;let V=t,O=Buffer[Y(0x12f)](0x0),P=0x0;while(V>0x0&&P<=b){const r=Math[Y(0x130)](p,V);V-=r;const B=Buffer['alloc'](r);await A['read'](B,0x0,r,V),O=Buffer[Y(0x131)]([B,O]),P+=countNewlines(B);}const M=O[Y(0x132)]('utf8')['split']('\x0a')['filter'](s=>s['length']>0x0);return M[Y(0x126)](-b)['reverse']();}finally{await A['close']();}}function countNewlines(o){let b=0x0;for(const A of o){if(A===0xa)b++;}return b;}
@@ -1 +1 @@
1
- {"version":3,"file":"get-system-settings.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-system-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBlC"}
1
+ {"version":3,"file":"get-system-settings.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/get-system-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkBlC"}
@@ -1 +1 @@
1
- function _0x4e6c(_0x7f09b9,_0x42aa30){_0x7f09b9=_0x7f09b9-0x13f;const _0x4a1e23=_0x4a1e();let _0x4e6c95=_0x4a1e23[_0x7f09b9];return _0x4e6c95;}function _0x4a1e(){const _0x469752=['split','slice','query','9HqbiHv','reduce','value','23523fLyOML','345744ZOOoAB','12InSgkt','3148896WUlGzM','rows','user','118740kVbtUI','key','421557BHkmft','\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key,\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20admin.settings\x0a\x20\x20\x20\x20\x20\x20WHERE\x20resource\x20=\x20\x27system\x27\x20AND\x20resource_id\x20IS\x20NULL\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20','800275bdWsgw','TqlVq','system:settings:read','576060kOXgqW'];_0x4a1e=function(){return _0x469752;};return _0x4a1e();}(function(_0x16c74f,_0x56a51e){const _0x4f472b=_0x4e6c,_0x49e6d8=_0x16c74f();while(!![]){try{const _0x529f09=-parseInt(_0x4f472b(0x152))/0x1+-parseInt(_0x4f472b(0x13f))/0x2+-parseInt(_0x4f472b(0x146))/0x3+parseInt(_0x4f472b(0x140))/0x4*(parseInt(_0x4f472b(0x144))/0x5)+parseInt(_0x4f472b(0x14b))/0x6+-parseInt(_0x4f472b(0x148))/0x7+-parseInt(_0x4f472b(0x141))/0x8*(-parseInt(_0x4f472b(0x14f))/0x9);if(_0x529f09===_0x56a51e)break;else _0x49e6d8['push'](_0x49e6d8['shift']());}catch(_0x54612b){_0x49e6d8['push'](_0x49e6d8['shift']());}}}(_0x4a1e,0x1ac3b));import{requireAdmin}from'../../utils/require-admin.js';export async function getSystemSettings(_0x5e589a,_0x2c0abf){const _0x2d943e=_0x4e6c,_0x2da517={'TqlVq':function(_0x6c6316,_0x246267,_0x55930f){return _0x6c6316(_0x246267,_0x55930f);}};_0x2da517[_0x2d943e(0x149)](requireAdmin,_0x5e589a[_0x2d943e(0x143)],_0x2d943e(0x14a));const _0x498922=await _0x2c0abf['pg'][_0x2d943e(0x14e)](_0x2d943e(0x147));return _0x498922[_0x2d943e(0x142)][_0x2d943e(0x150)]((_0x3aaf11,_0x4cc7a6)=>{const _0x13458c=_0x2d943e,_0x21bb94=String(_0x4cc7a6[_0x13458c(0x145)])[_0x13458c(0x14c)]('.');let _0x39bd71=_0x3aaf11;for(const _0x12aa93 of _0x21bb94[_0x13458c(0x14d)](0x0,-0x1)){_0x39bd71[_0x12aa93]??={},_0x39bd71=_0x39bd71[_0x12aa93];}return _0x39bd71[_0x21bb94['at'](-0x1)]=_0x4cc7a6[_0x13458c(0x151)],_0x3aaf11;},{});}
1
+ function f(){const P=['query','reduce'];f=function(){return P;};return f();}function u(I,X){I=I-0x1d1;const o=f();let b=o[I];return b;}export async function getSystemSettings(I,X){const O=u,o=await X['pg'][O(0x1d1)]('\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key,\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20admin.settings\x0a\x20\x20\x20\x20\x20\x20WHERE\x20resource\x20=\x20\x27system\x27\x20AND\x20resource_id\x20IS\x20NULL\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20');return o['rows'][O(0x1d2)]((b,A)=>{const t=String(A['key'])['split']('.');let p=b;for(const V of t['slice'](0x0,-0x1)){p[V]??={},p=p[V];}return p[t['at'](-0x1)]=A['value'],b;},{});}
@@ -1 +1 @@
1
- function _0x4a7e(_0x13b089,_0x2a4040){_0x13b089=_0x13b089-0x1eb;var _0x38dc4a=_0x38dc();var _0x4a7e06=_0x38dc4a[_0x13b089];return _0x4a7e06;}function _0x38dc(){var _0x4da873=['4947975XqSKLu','24BLxPfL','2qYVTeP','2582190jptGOZ','list','7039076aVhTRv','1289643AKCiUZ','120381WsNezW','6zqBQuM','dictionary','11997657BbSEJz','10596750OCQWpX'];_0x38dc=function(){return _0x4da873;};return _0x38dc();}(function(_0x38f046,_0xd72dc7){var _0x1a989b=_0x4a7e,_0x134eaf=_0x38f046();while(!![]){try{var _0x2001a2=-parseInt(_0x1a989b(0x1f6))/0x1+parseInt(_0x1a989b(0x1f2))/0x2*(parseInt(_0x1a989b(0x1eb))/0x3)+-parseInt(_0x1a989b(0x1f5))/0x4+-parseInt(_0x1a989b(0x1f3))/0x5+-parseInt(_0x1a989b(0x1ec))/0x6*(-parseInt(_0x1a989b(0x1ee))/0x7)+-parseInt(_0x1a989b(0x1f1))/0x8*(-parseInt(_0x1a989b(0x1f0))/0x9)+parseInt(_0x1a989b(0x1ef))/0xa;if(_0x2001a2===_0xd72dc7)break;else _0x134eaf['push'](_0x134eaf['shift']());}catch(_0x65a788){_0x134eaf['push'](_0x134eaf['shift']());}}}(_0x38dc,0xdb0cc));export async function listDictionaries(_0x479c69,_0x505319){var _0x2f8557=_0x4a7e;return _0x505319[_0x2f8557(0x1ed)][_0x2f8557(0x1f4)]();}
1
+ function u(I,X){I=I-0x102;var o=f();var b=o[I];return b;}export async function listDictionaries(I,X){var o=u;return X['dictionary'][o(0x102)]();}function f(){var b=['list'];f=function(){return b;};return f();}
@@ -0,0 +1,17 @@
1
+ import type { AppContext, User } from "../../../context.js";
2
+ import { type AccessRecord } from "./get-access.js";
3
+ type AccessInput = {
4
+ resource: string;
5
+ actions: string[];
6
+ };
7
+ export declare function setAccess(params: {
8
+ type: "user" | "role";
9
+ id: string;
10
+ access?: AccessInput[];
11
+ permissions?: string[];
12
+ user: User;
13
+ }, ctx: AppContext): Promise<{
14
+ access: AccessRecord[];
15
+ }>;
16
+ export {};
17
+ //# sourceMappingURL=set-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-access.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/set-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,KAAK,WAAW,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAoBF,wBAAsB,SAAS,CAC3B,MAAM,EAAE;IACJ,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;CACd,EACD,GAAG,EAAE,UAAU,GAChB,OAAO,CAAC;IAAE,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAiDrC"}
@@ -0,0 +1 @@
1
+ function u(I,X){I=I-0x1e8;const o=f();let b=o[I];return b;}function f(){const s=['read','update','edit','get','add','set','connect','user','permissions','access','type','query','actions'];f=function(){return s;};return f();}const M=u;import{getAccess}from'./get-access.js';const CRUD_ACTIONS=[M(0x1e8),M(0x1e9),'create','delete'];function permissionsToAccess(I){const r=M,X=new Map();for(const o of I){const [b,A]=o['split'](':');if(!b)continue;const t=A===r(0x1ea)?'update':A,p=X[r(0x1eb)](b)??new Set();for(const V of t?[t]:CRUD_ACTIONS)p[r(0x1ec)](V);X[r(0x1ed)](b,p);}return[...X]['map'](([O,P])=>({'resource':O,'actions':[...P]}));}export async function setAccess(I,X){const B=M,o=await X['pg'][B(0x1ee)]();try{await o['query']('BEGIN');I['type']===B(0x1ef)?await o['query']('DELETE\x20FROM\x20admin.role_access\x20WHERE\x20user_uid\x20=\x20$1\x20AND\x20role_id\x20IS\x20NULL',[I['id']]):await o['query']('DELETE\x20FROM\x20admin.role_access\x20WHERE\x20role_id\x20=\x20$1\x20AND\x20user_uid\x20IS\x20NULL',[I['id']]);const b=I[B(0x1f0)]?permissionsToAccess(I['permissions']):I[B(0x1f1)]??[];for(const A of b){I[B(0x1f2)]==='user'?await o[B(0x1f3)]('INSERT\x20INTO\x20admin.role_access\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(\x20resource,\x20actions,\x20user_uid,\x20created_by,\x20updated_by)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5)',[A['resource'],A['actions'],I['id'],I['user']['id'],I['user']['id']]):await o['query']('INSERT\x20INTO\x20admin.role_access\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(\x20resource,\x20actions,\x20role_id,\x20created_by,\x20updated_by)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3,\x20$4,\x20$5)',[A['resource'],A[B(0x1f4)],I['id'],I['user']['id'],I[B(0x1ef)]['id']]);}await o['query']('COMMIT');}catch(t){await o['query']('ROLLBACK');throw t;}finally{o['release']();}return getAccess(I,X);}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Implements the update dictionary application service for the System module.
3
+ */
4
+ import type { AppContext, User } from "../../../context.js";
5
+ import type { DictionaryItem } from "../../../plugins/dictionary.js";
6
+ export declare function updateDictionary(params: {
7
+ name: string;
8
+ items: DictionaryItem[];
9
+ user: User;
10
+ }, ctx: AppContext): Promise<{
11
+ success: boolean;
12
+ }>;
13
+ //# sourceMappingURL=update-dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-dictionary.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/update-dictionary.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EAC7D,GAAG,EAAE,UAAU,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAI/B"}
@@ -0,0 +1 @@
1
+ function u(I,X){I=I-0xef;var o=f();var b=o[I];return b;}function f(){var b=['dictionary'];f=function(){return b;};return f();}export async function updateDictionary(I,X){var o=u;return await X[o(0xef)]['put'](I['name'],I['items']),{'success':!![]};}
@@ -1 +1 @@
1
- {"version":3,"file":"update-system-settings.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/update-system-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG5D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAuB5B"}
1
+ {"version":3,"file":"update-system-settings.d.ts","sourceRoot":"","sources":["../../../../src/modules/system/services/update-system-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG5D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,EACD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAqB5B"}
@@ -1 +1 @@
1
- function _0x2726(){const _0x261c1d=['17508mQjAac','user','patch','Settings\x20patch\x20is\x20empty','query','16630jDxkMb','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20admin.settings\x20(resource,\x20resource_id,\x20key,\x20value,\x20updated_by)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(\x27system\x27,\x20NULL,\x20$1,\x20$2::jsonb,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(resource,\x20resource_id,\x20key)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value,\x20updated_by\x20=\x20EXCLUDED.updated_by,\x20updated_at\x20=\x20now()\x0a\x20\x20\x20\x20\x20\x20\x20\x20','340902gwlpxA','keys','122508ZQjhBW','vbozY','Invalid\x20setting\x20key:\x20','2877kpyDUd','length','312UDASfP','41833eNyijV','includes','stringify','entries','2443731GEdemq','trim','531471RIrYyy','success','system:settings:update','1724iPgJSL','9470dhtiQv','UWZzZ'];_0x2726=function(){return _0x261c1d;};return _0x2726();}(function(_0x539da6,_0x10ac94){const _0xa3db85=_0x20c5,_0x18bf46=_0x539da6();while(!![]){try{const _0x32d1b9=parseInt(_0xa3db85(0x199))/0x1+-parseInt(_0xa3db85(0x18d))/0x2+parseInt(_0xa3db85(0x197))/0x3+-parseInt(_0xa3db85(0x181))/0x4*(parseInt(_0xa3db85(0x189))/0x5)+parseInt(_0xa3db85(0x184))/0x6*(-parseInt(_0xa3db85(0x190))/0x7)+parseInt(_0xa3db85(0x192))/0x8*(-parseInt(_0xa3db85(0x18b))/0x9)+-parseInt(_0xa3db85(0x182))/0xa*(-parseInt(_0xa3db85(0x193))/0xb);if(_0x32d1b9===_0x10ac94)break;else _0x18bf46['push'](_0x18bf46['shift']());}catch(_0x2c3b77){_0x18bf46['push'](_0x18bf46['shift']());}}}(_0x2726,0xbd7fd));import{requireAdmin}from'../../utils/require-admin.js';function _0x20c5(_0x560271,_0x5c023f){_0x560271=_0x560271-0x180;const _0x2726b8=_0x2726();let _0x20c54b=_0x2726b8[_0x560271];return _0x20c54b;}import{ValidationError}from'../../../errors.js';export async function updateSystemSettings(_0x2ce161,_0x3383ee){const _0x52c7bb=_0x20c5,_0xf270e6={'UWZzZ':function(_0x294178,_0x5e47a2,_0x7e38eb){return _0x294178(_0x5e47a2,_0x7e38eb);},'vbozY':_0x52c7bb(0x187)};_0xf270e6[_0x52c7bb(0x183)](requireAdmin,_0x2ce161[_0x52c7bb(0x185)],_0x52c7bb(0x180));if(!Object[_0x52c7bb(0x18c)](_0x2ce161[_0x52c7bb(0x186)])[_0x52c7bb(0x191)])throw new ValidationError(_0xf270e6[_0x52c7bb(0x18e)]);for(const [_0x254d9,_0x32a5ab]of Object[_0x52c7bb(0x196)](_0x2ce161[_0x52c7bb(0x186)])){if(!_0x254d9[_0x52c7bb(0x198)]()||_0x254d9[_0x52c7bb(0x194)]('..'))throw new ValidationError(_0x52c7bb(0x18f)+_0x254d9);await _0x3383ee['pg'][_0x52c7bb(0x188)](_0x52c7bb(0x18a),[_0x254d9,JSON[_0x52c7bb(0x195)](_0x32a5ab),_0x2ce161[_0x52c7bb(0x185)]['id']]);}const _0xcf1d08={};return _0xcf1d08[_0x52c7bb(0x19a)]=!![],_0xcf1d08;}
1
+ function u(I,X){I=I-0xdd;const o=f();let b=o[I];return b;}function f(){const t=['patch','length','entries','trim','query','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20admin.settings\x20(resource,\x20resource_id,\x20key,\x20value,\x20updated_by)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(\x27system\x27,\x20NULL,\x20$1,\x20$2::jsonb,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(resource,\x20resource_id,\x20key)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value,\x20updated_by\x20=\x20EXCLUDED.updated_by,\x20updated_at\x20=\x20now()\x0a\x20\x20\x20\x20\x20\x20\x20\x20','stringify','user'];f=function(){return t;};return f();}import{ValidationError}from'../../../errors.js';export async function updateSystemSettings(I,X){const A=u;if(!Object['keys'](I[A(0xdd)])[A(0xde)])throw new ValidationError('Settings\x20patch\x20is\x20empty');for(const [o,b]of Object[A(0xdf)](I['patch'])){if(!o[A(0xe0)]()||o['includes']('..'))throw new ValidationError('Invalid\x20setting\x20key:\x20'+o);await X['pg'][A(0xe1)](A(0xe2),[o,JSON[A(0xe3)](b),I[A(0xe4)]['id']]);}return{'success':!![]};}
@@ -1 +1 @@
1
- (function(_0x5a3178,_0x24ba9f){var _0x5c45c5=_0x4d1d,_0x21d827=_0x5a3178();while(!![]){try{var _0x2944d2=-parseInt(_0x5c45c5(0x156))/0x1*(parseInt(_0x5c45c5(0x165))/0x2)+-parseInt(_0x5c45c5(0x163))/0x3*(-parseInt(_0x5c45c5(0x161))/0x4)+-parseInt(_0x5c45c5(0x155))/0x5*(parseInt(_0x5c45c5(0x154))/0x6)+parseInt(_0x5c45c5(0x162))/0x7+parseInt(_0x5c45c5(0x164))/0x8*(parseInt(_0x5c45c5(0x15b))/0x9)+-parseInt(_0x5c45c5(0x15a))/0xa*(-parseInt(_0x5c45c5(0x159))/0xb)+parseInt(_0x5c45c5(0x15c))/0xc*(parseInt(_0x5c45c5(0x160))/0xd);if(_0x2944d2===_0x24ba9f)break;else _0x21d827['push'](_0x21d827['shift']());}catch(_0x3de82f){_0x21d827['push'](_0x21d827['shift']());}}}(_0x2dcc,0x416ad));function _0x4d1d(_0x51f328,_0x1604b0){_0x51f328=_0x51f328-0x154;var _0x2dcc1e=_0x2dcc();var _0x4d1de9=_0x2dcc1e[_0x51f328];return _0x4d1de9;}function _0x2dcc(){var _0x14374e=['540cXDzkP','522EssYde','12ZYNpop','type','admin','Ntutz','1076296pCBqsJ','316KYkDeg','1274847IvZeHh','12234TbHtQH','14248lrYwLa','7606FZzMKf','197466CJvgHc','65dRZQIr','133eMZMVt','Admin\x20access\x20required','User\x20required','104137ROdMNk'];_0x2dcc=function(){return _0x14374e;};return _0x2dcc();}import{ForbiddenError}from'../../errors.js';export function requireAdmin(_0x272e17,_0x150783){var _0x395d25=_0x4d1d,_0x5db33f={};_0x5db33f[_0x395d25(0x15f)]=_0x395d25(0x15e);var _0x4d9ae2=_0x5db33f;if(!_0x272e17)throw new ForbiddenError(_0x395d25(0x158));if(_0x272e17[_0x395d25(0x15d)]!==_0x4d9ae2[_0x395d25(0x15f)])throw new ForbiddenError(_0x395d25(0x157));}
1
+ function f(){var b=['User\x20required','admin','permissions','includes'];f=function(){return b;};return f();}function u(I,X){I=I-0x1e6;var o=f();var b=o[I];return b;}import{ForbiddenError}from'../../errors.js';export function requireAdmin(I,X){var o=u;if(!I)throw new ForbiddenError(o(0x1e6));if(I['type']!=='admin')throw new ForbiddenError('Admin\x20access\x20required');if(I['type']!==o(0x1e7)&&X&&!I[o(0x1e8)]?.[o(0x1e9)](X))throw new ForbiddenError('Missing\x20permission:\x20'+X);}
@@ -1 +1 @@
1
- function _0x11e2(_0x3b7efa,_0x4e00cf){_0x3b7efa=_0x3b7efa-0x1d4;const _0x255d9e=_0x255d();let _0x11e20e=_0x255d9e[_0x3b7efa];return _0x11e20e;}function _0x255d(){const _0x5d374e=['password','46KPYQgs','secret','2349590XenVwJ','filter','entries','190267fHDQJr','21380MExBxI','credentials','4751336pZPevk','salt','7093510aKAXYX','31646mlVpNe','fromEntries','some','1392pyFavz','KOrxw','includes','token','9fmcvAD','35cRYTgy','toLowerCase','260676tNQYDJ','Afoia','333buOrZM','bzjbk'];_0x255d=function(){return _0x5d374e;};return _0x255d();}(function(_0x2c59a4,_0x3d0a29){const _0x446cef=_0x11e2,_0x4844e9=_0x2c59a4();while(!![]){try{const _0x5a9392=-parseInt(_0x446cef(0x1e9))/0x1*(-parseInt(_0x446cef(0x1da))/0x2)+parseInt(_0x446cef(0x1e6))/0x3*(parseInt(_0x446cef(0x1d5))/0x4)+-parseInt(_0x446cef(0x1eb))/0x5+parseInt(_0x446cef(0x1e4))/0x6*(parseInt(_0x446cef(0x1e2))/0x7)+parseInt(_0x446cef(0x1d7))/0x8+parseInt(_0x446cef(0x1e1))/0x9*(parseInt(_0x446cef(0x1d9))/0xa)+parseInt(_0x446cef(0x1d4))/0xb*(-parseInt(_0x446cef(0x1dd))/0xc);if(_0x5a9392===_0x3d0a29)break;else _0x4844e9['push'](_0x4844e9['shift']());}catch(_0x18cb21){_0x4844e9['push'](_0x4844e9['shift']());}}}(_0x255d,0x592e1));export const safeUser=_0x2c4e5c=>{const _0x17dcbb=_0x11e2,_0x3d66b9={};_0x3d66b9[_0x17dcbb(0x1de)]=_0x17dcbb(0x1e0),_0x3d66b9[_0x17dcbb(0x1e5)]=_0x17dcbb(0x1ea),_0x3d66b9[_0x17dcbb(0x1e7)]=_0x17dcbb(0x1d6);const _0x4e614a=_0x3d66b9,_0x357790=[_0x17dcbb(0x1e8),_0x17dcbb(0x1d8),_0x4e614a[_0x17dcbb(0x1de)],_0x4e614a[_0x17dcbb(0x1e5)],_0x4e614a[_0x17dcbb(0x1e7)]];return Object[_0x17dcbb(0x1db)](Object[_0x17dcbb(0x1ed)](_0x2c4e5c)[_0x17dcbb(0x1ec)](([_0x510556])=>!_0x357790[_0x17dcbb(0x1dc)](_0x1ee210=>_0x510556[_0x17dcbb(0x1e3)]()[_0x17dcbb(0x1df)](_0x1ee210))));};
1
+ function f(){const t=['salt','credentials','fromEntries','toLowerCase','includes'];f=function(){return t;};return f();}function u(I,X){I=I-0x1c9;const o=f();let b=o[I];return b;}export const safeUser=I=>{const A=u,X=['password',A(0x1c9),'secret',A(0x1ca)];return Object[A(0x1cb)](Object['entries'](I)['filter'](([o])=>!X['some'](b=>o[A(0x1cc)]()[A(0x1cd)](b))));};
@@ -1 +1 @@
1
- (function(_0x5963cc,_0x1b1901){var _0x3e2e69=_0x3940,_0x2b7892=_0x5963cc();while(!![]){try{var _0x1ed558=parseInt(_0x3e2e69(0xbc))/0x1+parseInt(_0x3e2e69(0xba))/0x2*(-parseInt(_0x3e2e69(0xb7))/0x3)+parseInt(_0x3e2e69(0xbe))/0x4+parseInt(_0x3e2e69(0xb4))/0x5*(parseInt(_0x3e2e69(0xb9))/0x6)+-parseInt(_0x3e2e69(0xb5))/0x7*(-parseInt(_0x3e2e69(0xbd))/0x8)+parseInt(_0x3e2e69(0xb6))/0x9+-parseInt(_0x3e2e69(0xbb))/0xa;if(_0x1ed558===_0x1b1901)break;else _0x2b7892['push'](_0x2b7892['shift']());}catch(_0x4e4c10){_0x2b7892['push'](_0x2b7892['shift']());}}}(_0x1bee,0x642d3));function _0x1bee(){var _0x4dd8c3=['326807cxXXjh','536XGJYhk','1534508iXjrbb','33395dzpXQN','903tJtEjQ','2725020whlKkR','222qrWioh','\x20requires\x20a\x20project/provider\x20implementation','42nYEsvI','12398XzXUrv','1995610gIhGbc'];_0x1bee=function(){return _0x4dd8c3;};return _0x1bee();}import{UnsupportedError}from'../../errors.js';function _0x3940(_0x26dda4,_0x5bf3b9){_0x26dda4=_0x26dda4-0xb4;var _0x1bee4b=_0x1bee();var _0x3940f1=_0x1bee4b[_0x26dda4];return _0x3940f1;}export function unsupported(_0x2d7317){var _0x5b567d=_0x3940;throw new UnsupportedError(_0x2d7317+_0x5b567d(0xb8));}
1
+ import{UnsupportedError}from'../../errors.js';export function unsupported(I){throw new UnsupportedError(I+'\x20requires\x20a\x20project/provider\x20implementation');}
@@ -1 +1 @@
1
- (function(_0x4d18fa,_0x2f14e1){const _0x3483e8=_0x292d,_0x2cb8d1=_0x4d18fa();while(!![]){try{const _0x2d21f3=parseInt(_0x3483e8(0x6c))/0x1+-parseInt(_0x3483e8(0x6a))/0x2+parseInt(_0x3483e8(0x6e))/0x3+parseInt(_0x3483e8(0x68))/0x4*(-parseInt(_0x3483e8(0x6d))/0x5)+-parseInt(_0x3483e8(0x66))/0x6+-parseInt(_0x3483e8(0x67))/0x7*(-parseInt(_0x3483e8(0x6b))/0x8)+parseInt(_0x3483e8(0x6f))/0x9;if(_0x2d21f3===_0x2f14e1)break;else _0x2cb8d1['push'](_0x2cb8d1['shift']());}catch(_0x1205d0){_0x2cb8d1['push'](_0x2cb8d1['shift']());}}}(_0x5bb3,0xbe79b));function _0x292d(_0x15dcad,_0x535a0f){_0x15dcad=_0x15dcad-0x66;const _0x5bb3c9=_0x5bb3();let _0x292d00=_0x5bb3c9[_0x15dcad];return _0x292d00;}import{writeAudit}from'./services/write-audit.js';export function createAudit(_0x238d8f){const _0x38cca5=_0x292d,_0x1a250a=writeAudit(_0x238d8f),_0x3724eb={};return _0x3724eb[_0x38cca5(0x69)]=_0x1a250a,_0x3724eb;}function _0x5bb3(){const _0x15120e=['7890708XYedNd','112NVcVMW','148ZETYSo','write','1246798xpTJaX','385864OkFVJl','865902jLFrTz','156410SurUQN','1134672GwKhPR','16742556mlgySs'];_0x5bb3=function(){return _0x15120e;};return _0x5bb3();}
1
+ import{writeAudit}from'./services/write-audit.js';export function createAudit(I){const X=writeAudit(I);return{'write':X};}
@@ -13,7 +13,7 @@ export interface AuditChange {
13
13
  newValue?: unknown;
14
14
  }
15
15
  export interface AuditEvent extends AuditActor {
16
- module: string;
16
+ module?: string;
17
17
  resource: string;
18
18
  resourceId?: string | number;
19
19
  action: AuditAction;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../../src/plugins/audit/audit.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AACD,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../../src/plugins/audit/audit.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AACD,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C"}
@@ -1 +1 @@
1
- (function(_0x3ef8e8,_0x2b32a4){var _0x4200be=_0x340a,_0x3ce8ad=_0x3ef8e8();while(!![]){try{var _0x4af070=parseInt(_0x4200be(0x94))/0x1+-parseInt(_0x4200be(0x96))/0x2*(parseInt(_0x4200be(0x98))/0x3)+parseInt(_0x4200be(0x9b))/0x4+parseInt(_0x4200be(0x92))/0x5*(parseInt(_0x4200be(0x95))/0x6)+parseInt(_0x4200be(0x9a))/0x7*(parseInt(_0x4200be(0x97))/0x8)+-parseInt(_0x4200be(0x93))/0x9+-parseInt(_0x4200be(0x99))/0xa;if(_0x4af070===_0x2b32a4)break;else _0x3ce8ad['push'](_0x3ce8ad['shift']());}catch(_0x52ff98){_0x3ce8ad['push'](_0x3ce8ad['shift']());}}}(_0x40f1,0x5dbfc));function _0x340a(_0x150697,_0x420d61){_0x150697=_0x150697-0x92;var _0x40f173=_0x40f1();var _0x340a5c=_0x40f173[_0x150697];return _0x340a5c;}export*from'./audit.types.js';function _0x40f1(){var _0x20b4de=['31446eUXyjE','427658WuTvNg','8PAtlPw','3apjrYB','4763590dsOzow','3148173lnayWC','1790496xEyFKM','105BnioOq','1183761oKWtEc','198289iPNngl'];_0x40f1=function(){return _0x20b4de;};return _0x40f1();}export*from'./audit.js';
1
+ export*from'./audit.types.js';export*from'./audit.js';