@opengis/fcore 0.0.1-beta.5 → 0.0.1-beta.7

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 (167) hide show
  1. package/dist/config.js +1 -1
  2. package/dist/context.js +1 -1
  3. package/dist/errors.js +1 -1
  4. package/dist/fastify.d.ts +2 -1
  5. package/dist/fastify.d.ts.map +1 -1
  6. package/dist/fastify.js +1 -1
  7. package/dist/fcore.js +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/migrations/cli.js +1 -1
  12. package/dist/migrations/runner.js +1 -1
  13. package/dist/modules/auth/adduser-cli.js +1 -1
  14. package/dist/modules/auth/passwd-cli.js +1 -1
  15. package/dist/modules/auth/permission-cli.js +1 -1
  16. package/dist/modules/auth/route.d.ts.map +1 -1
  17. package/dist/modules/auth/route.js +1 -1
  18. package/dist/modules/auth/schema.d.ts +3 -0
  19. package/dist/modules/auth/schema.d.ts.map +1 -1
  20. package/dist/modules/auth/schema.js +1 -1
  21. package/dist/modules/auth/services/change-password.js +1 -1
  22. package/dist/modules/auth/services/get-current-user.d.ts +1 -0
  23. package/dist/modules/auth/services/get-current-user.d.ts.map +1 -1
  24. package/dist/modules/auth/services/get-current-user.js +1 -1
  25. package/dist/modules/auth/services/registration.js +1 -1
  26. package/dist/modules/auth/services/verify-two-factor.js +1 -1
  27. package/dist/modules/file/mime.d.ts +3 -0
  28. package/dist/modules/file/mime.d.ts.map +1 -0
  29. package/dist/modules/file/mime.js +1 -0
  30. package/dist/modules/file/route.d.ts.map +1 -1
  31. package/dist/modules/file/route.js +1 -1
  32. package/dist/modules/file/schema.d.ts +3 -0
  33. package/dist/modules/file/schema.d.ts.map +1 -1
  34. package/dist/modules/file/schema.js +1 -1
  35. package/dist/modules/file/services/get-file.js +1 -1
  36. package/dist/modules/file/services/resize-file.d.ts.map +1 -1
  37. package/dist/modules/file/services/resize-file.js +1 -1
  38. package/dist/modules/file/services/upload-file.d.ts +4 -6
  39. package/dist/modules/file/services/upload-file.d.ts.map +1 -1
  40. package/dist/modules/file/services/upload-file.js +1 -1
  41. package/dist/modules/resource/route.d.ts +0 -3
  42. package/dist/modules/resource/route.d.ts.map +1 -1
  43. package/dist/modules/resource/route.js +1 -1
  44. package/dist/modules/resource/schema.d.ts +3 -0
  45. package/dist/modules/resource/schema.d.ts.map +1 -1
  46. package/dist/modules/resource/schema.js +1 -1
  47. package/dist/modules/resource/services/add-note.js +1 -1
  48. package/dist/modules/resource/services/add-resource-file.js +1 -1
  49. package/dist/modules/resource/services/create-resource-relation.js +1 -1
  50. package/dist/modules/resource/services/create-resource.js +1 -1
  51. package/dist/modules/resource/services/delete-resource-relation.js +1 -1
  52. package/dist/modules/resource/services/delete-resource.js +1 -1
  53. package/dist/modules/resource/services/export-resource.d.ts.map +1 -1
  54. package/dist/modules/resource/services/export-resource.js +1 -1
  55. package/dist/modules/resource/services/get-resource.d.ts.map +1 -1
  56. package/dist/modules/resource/services/get-resource.js +1 -1
  57. package/dist/modules/resource/services/list-resource-relation.d.ts +2 -0
  58. package/dist/modules/resource/services/list-resource-relation.d.ts.map +1 -1
  59. package/dist/modules/resource/services/list-resource-relation.js +1 -1
  60. package/dist/modules/resource/services/list-resources.d.ts.map +1 -1
  61. package/dist/modules/resource/services/list-resources.js +1 -1
  62. package/dist/modules/resource/services/search-resource.d.ts.map +1 -1
  63. package/dist/modules/resource/services/search-resource.js +1 -1
  64. package/dist/modules/resource/services/suggest-resource.d.ts.map +1 -1
  65. package/dist/modules/resource/services/suggest-resource.js +1 -1
  66. package/dist/modules/resource/services/update-resource-relation.d.ts +10 -0
  67. package/dist/modules/resource/services/update-resource-relation.d.ts.map +1 -0
  68. package/dist/modules/resource/services/update-resource-relation.js +1 -0
  69. package/dist/modules/resource/services/update-resource.js +1 -1
  70. package/dist/modules/resource/services/upload-resource-file.js +1 -1
  71. package/dist/modules/system/route.d.ts.map +1 -1
  72. package/dist/modules/system/route.js +1 -1
  73. package/dist/modules/system/schema.js +1 -1
  74. package/dist/modules/system/services/check-system.d.ts.map +1 -1
  75. package/dist/modules/system/services/check-system.js +1 -1
  76. package/dist/modules/system/services/get-access.d.ts.map +1 -1
  77. package/dist/modules/system/services/get-access.js +1 -1
  78. package/dist/modules/system/services/get-api-list.d.ts.map +1 -1
  79. package/dist/modules/system/services/get-api-list.js +1 -1
  80. package/dist/modules/system/services/get-audit-log.d.ts.map +1 -1
  81. package/dist/modules/system/services/get-audit-log.js +1 -1
  82. package/dist/modules/system/services/get-dictionary.js +1 -1
  83. package/dist/modules/system/services/get-system-log.d.ts.map +1 -1
  84. package/dist/modules/system/services/get-system-log.js +1 -1
  85. package/dist/modules/system/services/get-system-settings.d.ts.map +1 -1
  86. package/dist/modules/system/services/get-system-settings.js +1 -1
  87. package/dist/modules/system/services/list-dictionaries.js +1 -1
  88. package/dist/modules/system/services/set-access.d.ts.map +1 -1
  89. package/dist/modules/system/services/set-access.js +1 -1
  90. package/dist/modules/system/services/update-dictionary.d.ts.map +1 -1
  91. package/dist/modules/system/services/update-dictionary.js +1 -1
  92. package/dist/modules/system/services/update-system-settings.d.ts.map +1 -1
  93. package/dist/modules/system/services/update-system-settings.js +1 -1
  94. package/dist/modules/utils/require-admin.js +1 -1
  95. package/dist/modules/utils/safe-user.js +1 -1
  96. package/dist/modules/utils/unsupported.js +1 -1
  97. package/dist/plugins/audit/audit.js +1 -1
  98. package/dist/plugins/audit/index.js +1 -1
  99. package/dist/plugins/audit/services/write-audit.js +1 -1
  100. package/dist/plugins/auth/get-user-permissions.js +1 -1
  101. package/dist/plugins/auth/index.js +1 -1
  102. package/dist/plugins/auth/verifyUser.js +1 -1
  103. package/dist/plugins/dictionary.d.ts +3 -0
  104. package/dist/plugins/dictionary.d.ts.map +1 -1
  105. package/dist/plugins/dictionary.js +1 -1
  106. package/dist/plugins/file.d.ts +3 -6
  107. package/dist/plugins/file.d.ts.map +1 -1
  108. package/dist/plugins/file.js +1 -1
  109. package/dist/plugins/index.d.ts +1 -0
  110. package/dist/plugins/index.d.ts.map +1 -1
  111. package/dist/plugins/index.js +1 -1
  112. package/dist/plugins/jwt.d.ts +4 -0
  113. package/dist/plugins/jwt.d.ts.map +1 -0
  114. package/dist/plugins/jwt.js +1 -0
  115. package/dist/plugins/logger/index.js +1 -1
  116. package/dist/plugins/logger/transport.js +1 -1
  117. package/dist/plugins/pg.d.ts.map +1 -1
  118. package/dist/plugins/pg.js +1 -1
  119. package/dist/plugins/redis.js +1 -1
  120. package/dist/plugins/resource/index.js +1 -1
  121. package/dist/plugins/resource/resource.d.ts.map +1 -1
  122. package/dist/plugins/resource/resource.js +1 -1
  123. package/dist/plugins/resource/resource.registry.js +1 -1
  124. package/dist/plugins/resource/resource.types.d.ts +18 -3
  125. package/dist/plugins/resource/resource.types.d.ts.map +1 -1
  126. package/dist/plugins/resource/services/add-dictionary-lookup-data.d.ts +3 -0
  127. package/dist/plugins/resource/services/add-dictionary-lookup-data.d.ts.map +1 -0
  128. package/dist/plugins/resource/services/add-dictionary-lookup-data.js +1 -0
  129. package/dist/plugins/resource/services/add-file-token.d.ts +3 -0
  130. package/dist/plugins/resource/services/add-file-token.d.ts.map +1 -0
  131. package/dist/plugins/resource/services/add-file-token.js +1 -0
  132. package/dist/plugins/resource/services/add-table-lookup-data.d.ts +4 -0
  133. package/dist/plugins/resource/services/add-table-lookup-data.d.ts.map +1 -0
  134. package/dist/plugins/resource/services/add-table-lookup-data.js +1 -0
  135. package/dist/plugins/resource/services/create-relation.js +1 -1
  136. package/dist/plugins/resource/services/create.d.ts.map +1 -1
  137. package/dist/plugins/resource/services/create.js +1 -1
  138. package/dist/plugins/resource/services/delete-relation.js +1 -1
  139. package/dist/plugins/resource/services/delete.d.ts.map +1 -1
  140. package/dist/plugins/resource/services/delete.js +1 -1
  141. package/dist/plugins/resource/services/find-one.d.ts +3 -2
  142. package/dist/plugins/resource/services/find-one.d.ts.map +1 -1
  143. package/dist/plugins/resource/services/find-one.js +1 -1
  144. package/dist/plugins/resource/services/find-relation.d.ts +3 -2
  145. package/dist/plugins/resource/services/find-relation.d.ts.map +1 -1
  146. package/dist/plugins/resource/services/find-relation.js +1 -1
  147. package/dist/plugins/resource/services/find.d.ts.map +1 -1
  148. package/dist/plugins/resource/services/find.js +1 -1
  149. package/dist/plugins/resource/services/update-relation.d.ts +11 -0
  150. package/dist/plugins/resource/services/update-relation.d.ts.map +1 -0
  151. package/dist/plugins/resource/services/update-relation.js +1 -0
  152. package/dist/plugins/resource/services/update.d.ts.map +1 -1
  153. package/dist/plugins/resource/services/update.js +1 -1
  154. package/dist/plugins/resource/utils/auto-index.d.ts +4 -0
  155. package/dist/plugins/resource/utils/auto-index.d.ts.map +1 -0
  156. package/dist/plugins/resource/utils/auto-index.js +1 -0
  157. package/dist/plugins/resource/utils/fields.js +1 -1
  158. package/dist/plugins/resource/utils/filters.d.ts +3 -2
  159. package/dist/plugins/resource/utils/filters.d.ts.map +1 -1
  160. package/dist/plugins/resource/utils/filters.js +1 -1
  161. package/dist/plugins/resource/utils/permissions.js +1 -1
  162. package/dist/plugins/resource/utils/sort.d.ts.map +1 -1
  163. package/dist/plugins/resource/utils/sort.js +1 -1
  164. package/dist/plugins/resource/utils/sql.js +1 -1
  165. package/dist/shared/getIP.js +1 -1
  166. package/migrations/20260905120000_add_user_foreign_keys.sql +42 -42
  167. package/package.json +3 -2
@@ -1 +1 @@
1
- function _0x4842(_0x292068,_0x2438fc){_0x292068=_0x292068-0x18d;const _0x5d343b=_0x5d34();let _0x484255=_0x5d343b[_0x292068];return _0x484255;}(function(_0x105c6f,_0x30ab90){const _0x13b3f8=_0x4842,_0x2eddc6=_0x105c6f();while(!![]){try{const _0x1bc553=parseInt(_0x13b3f8(0x199))/0x1+-parseInt(_0x13b3f8(0x1bc))/0x2+parseInt(_0x13b3f8(0x19f))/0x3+parseInt(_0x13b3f8(0x1a0))/0x4*(-parseInt(_0x13b3f8(0x198))/0x5)+parseInt(_0x13b3f8(0x195))/0x6+-parseInt(_0x13b3f8(0x1bb))/0x7*(parseInt(_0x13b3f8(0x1a6))/0x8)+parseInt(_0x13b3f8(0x1b7))/0x9;if(_0x1bc553===_0x30ab90)break;else _0x2eddc6['push'](_0x2eddc6['shift']());}catch(_0x1f59bb){_0x2eddc6['push'](_0x2eddc6['shift']());}}}(_0x5d34,0xbb6e2));import{ValidationError}from'../../../errors.js';function _0x5d34(){const _0x2880d1=['888HUXjZp','\x20should\x20be\x20one\x20of\x20(','Required\x20field:\x20','YIlKX','qERnb','enum','NUzAu','includes','bYiEz','minimum','length','fields','MBuDc','maxLength\x20exceeded:\x20','maxLength','WmmHP','\x20should\x20be\x20<=\x20','20850165yukLUh','string','imEDV','minLength\x20not\x20met:\x20','68187KloBLL','2217608rjIwcA','number','dmuFJ','join','maximum','\x20should\x20match\x20regular\x20expression\x20(','zScaK','upIIZ','lJkSt','8454750GeTNFZ','required','CEqsH','335285TnNQSC','69983XPLobe','writable','AACrL','ennsA','hasOwn','entries','1509348fAeSpp','80iQLnvq','test','pattern','minLength','ObzAz','\x20should\x20be\x20>=\x20'];_0x5d34=function(){return _0x2880d1;};return _0x5d34();}export{readableFields,writableData,fieldColumn}from'./sql.js';const validateInputData=({resource:_0x45aa8b,data:_0x161847,update:update=![]})=>{const _0x385d7c=_0x4842,_0x208c40={};_0x208c40[_0x385d7c(0x19c)]=_0x385d7c(0x1ac),_0x208c40[_0x385d7c(0x1a9)]=_0x385d7c(0x1aa),_0x208c40[_0x385d7c(0x1a4)]=function(_0x304c26,_0x4b62b8){return _0x304c26!==_0x4b62b8;},_0x208c40[_0x385d7c(0x1b5)]=function(_0x4a82dd,_0x5dcd9c){return _0x4a82dd===_0x5dcd9c;},_0x208c40[_0x385d7c(0x1b2)]=function(_0x21f9a2,_0x5aed3f){return _0x21f9a2===_0x5aed3f;},_0x208c40[_0x385d7c(0x1b9)]=function(_0x244ea2,_0x26af9a){return _0x244ea2===_0x26af9a;},_0x208c40[_0x385d7c(0x193)]=_0x385d7c(0x1b8),_0x208c40[_0x385d7c(0x19b)]=function(_0x137048,_0x11f62a){return _0x137048===_0x11f62a;},_0x208c40[_0x385d7c(0x197)]=_0x385d7c(0x192),_0x208c40[_0x385d7c(0x18e)]=_0x385d7c(0x1ae),_0x208c40[_0x385d7c(0x194)]=_0x385d7c(0x18d);const _0x147ab9=_0x208c40;for(const [_0x2d2e2d,_0x20b9ee]of Object[_0x385d7c(0x19e)](_0x45aa8b[_0x385d7c(0x1b1)])){if(_0x147ab9[_0x385d7c(0x19c)]===_0x147ab9[_0x385d7c(0x1a9)])throw new _0x1d65c5(_0x385d7c(0x1b3)+_0x3936be);else{if(_0x20b9ee[_0x385d7c(0x196)]&&_0x147ab9[_0x385d7c(0x1a4)](_0x20b9ee[_0x385d7c(0x19a)],![])&&(_0x147ab9[_0x385d7c(0x1b5)](_0x161847[_0x2d2e2d],undefined)||_0x161847[_0x2d2e2d]===null)&&!update)throw new ValidationError(_0x385d7c(0x1a8)+_0x2d2e2d);if(_0x20b9ee[_0x385d7c(0x196)]&&_0x20b9ee[_0x385d7c(0x19a)]!==![]&&Object[_0x385d7c(0x19d)](_0x161847,_0x2d2e2d)&&(_0x147ab9[_0x385d7c(0x1b2)](_0x161847[_0x2d2e2d],undefined)||_0x147ab9[_0x385d7c(0x1b5)](_0x161847[_0x2d2e2d],null))&&update)throw new ValidationError(_0x385d7c(0x1a8)+_0x2d2e2d);if(_0x20b9ee[_0x385d7c(0x1a3)]&&_0x147ab9[_0x385d7c(0x1b5)](typeof _0x161847[_0x2d2e2d],_0x385d7c(0x1b8))&&_0x161847[_0x2d2e2d][_0x385d7c(0x1b0)]<_0x20b9ee[_0x385d7c(0x1a3)])throw new ValidationError(_0x385d7c(0x1ba)+_0x2d2e2d);if(_0x20b9ee[_0x385d7c(0x1b4)]&&_0x147ab9[_0x385d7c(0x1b9)](typeof _0x161847[_0x2d2e2d],_0x147ab9[_0x385d7c(0x193)])&&_0x161847[_0x2d2e2d][_0x385d7c(0x1b0)]>_0x20b9ee[_0x385d7c(0x1b4)])throw new ValidationError(_0x385d7c(0x1b3)+_0x2d2e2d);if(_0x20b9ee[_0x385d7c(0x1af)]&&typeof _0x161847[_0x2d2e2d]===_0x385d7c(0x18d)&&_0x161847[_0x2d2e2d]<_0x20b9ee[_0x385d7c(0x1af)]){if(_0x147ab9[_0x385d7c(0x19b)](_0x147ab9[_0x385d7c(0x197)],_0x147ab9[_0x385d7c(0x18e)]))throw new _0x11c07b(_0x530b0f+_0x385d7c(0x1a7)+_0x1e4aef[_0x385d7c(0x1ab)][_0x385d7c(0x18f)](',\x20')+')');else throw new ValidationError(_0x2d2e2d+_0x385d7c(0x1a5)+_0x20b9ee[_0x385d7c(0x1af)]);}if(_0x20b9ee[_0x385d7c(0x190)]&&_0x147ab9[_0x385d7c(0x1b2)](typeof _0x161847[_0x2d2e2d],_0x147ab9[_0x385d7c(0x194)])&&_0x161847[_0x2d2e2d]>_0x20b9ee[_0x385d7c(0x190)])throw new ValidationError(_0x2d2e2d+_0x385d7c(0x1b6)+_0x20b9ee[_0x385d7c(0x190)]);if(_0x20b9ee[_0x385d7c(0x1ab)]&&_0x161847[_0x2d2e2d]&&!_0x20b9ee[_0x385d7c(0x1ab)][_0x385d7c(0x1ad)](_0x161847[_0x2d2e2d]))throw new ValidationError(_0x2d2e2d+_0x385d7c(0x1a7)+_0x20b9ee[_0x385d7c(0x1ab)][_0x385d7c(0x18f)](',\x20')+')');if(_0x20b9ee[_0x385d7c(0x1a2)]&&typeof _0x161847[_0x2d2e2d]===_0x385d7c(0x1b8)&&!new RegExp(_0x20b9ee[_0x385d7c(0x1a2)])[_0x385d7c(0x1a1)](_0x161847[_0x2d2e2d]))throw new ValidationError(_0x2d2e2d+_0x385d7c(0x191)+_0x20b9ee[_0x385d7c(0x1a2)]+')');}}};export{validateInputData};
1
+ import{ValidationError}from'../../../errors.js';export{readableFields,writableData,fieldColumn}from'./sql.js';const validateInputData=({resource:C,data:N,update:update=![]})=>{const c=z;for(const [r,p]of Object[c(0x1d9)](C[c(0x1da)])){if(p['required']&&p['writable']!==![]&&(N[r]===undefined||N[r]===null)&&!update)throw new ValidationError(c(0x1db)+r);if(p['required']&&p['writable']!==![]&&Object['hasOwn'](N,r)&&(N[r]===undefined||N[r]===null)&&update)throw new ValidationError('Required\x20field:\x20'+r);if(p[c(0x1dc)]&&typeof N[r]===c(0x1dd)&&N[r]['length']<p['minLength'])throw new ValidationError('minLength\x20not\x20met:\x20'+r);if(p['maxLength']&&typeof N[r]==='string'&&N[r]['length']>p['maxLength'])throw new ValidationError(c(0x1de)+r);if(p['minimum']&&typeof N[r]==='number'&&N[r]<p['minimum'])throw new ValidationError(r+'\x20should\x20be\x20>=\x20'+p[c(0x1df)]);if(p['maximum']&&typeof N[r]==='number'&&N[r]>p[c(0x1e0)])throw new ValidationError(r+'\x20should\x20be\x20<=\x20'+p['maximum']);if(p[c(0x1e1)]&&N[r]&&!p['enum'][c(0x1e2)](N[r]))throw new ValidationError(r+c(0x1e3)+p['enum']['join'](',\x20')+')');if(p['pattern']&&typeof N[r]==='string'&&!new RegExp(p['pattern'])[c(0x1e4)](N[r]))throw new ValidationError(r+'\x20should\x20match\x20regular\x20expression\x20('+p['pattern']+')');}};function U(){const x=['entries','fields','Required\x20field:\x20','minLength','string','maxLength\x20exceeded:\x20','minimum','maximum','enum','includes','\x20should\x20be\x20one\x20of\x20(','test'];U=function(){return x;};return U();}function z(C,N){C=C-0x1d9;const r=U();let p=r[C];return p;}export{validateInputData};
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Provides Resource helpers for filters handling.
3
3
  */
4
- import type { ResourceContract } from '../resource.types.js';
5
- export declare function buildFilters(resource: ResourceContract, filter: Record<string, unknown> | undefined, start?: number): {
4
+ import type { ResourceContract, ResourceDependencies } from '../resource.types.js';
5
+ export declare function parseFilterQuery(query: Record<string, unknown>): Record<string, unknown> | undefined;
6
+ export declare function buildFilters(resource: ResourceContract, filter: Record<string, unknown> | undefined, start?: number, pg?: ResourceDependencies['pg']): {
6
7
  sql: string;
7
8
  values: unknown[];
8
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/utils/filters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,KAAK,SAAI;;;EAc9G"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/utils/filters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA2BpG;AAED,wBAAgB,YAAY,CACxB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,KAAK,SAAI,EACT,EAAE,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC;;;EAgElC"}
@@ -1 +1 @@
1
- (function(_0x239cb5,_0x296d60){const _0x36b581=_0x8a48,_0x5d136f=_0x239cb5();while(!![]){try{const _0x4652a8=parseInt(_0x36b581(0x161))/0x1*(parseInt(_0x36b581(0x14a))/0x2)+parseInt(_0x36b581(0x15e))/0x3+-parseInt(_0x36b581(0x14f))/0x4+parseInt(_0x36b581(0x15d))/0x5*(-parseInt(_0x36b581(0x158))/0x6)+-parseInt(_0x36b581(0x14d))/0x7+-parseInt(_0x36b581(0x151))/0x8+parseInt(_0x36b581(0x149))/0x9*(parseInt(_0x36b581(0x157))/0xa);if(_0x4652a8===_0x296d60)break;else _0x5d136f['push'](_0x5d136f['shift']());}catch(_0x8250f6){_0x5d136f['push'](_0x5d136f['shift']());}}}(_0x1cb6,0xa4158));function _0x1cb6(){const _0x21cdfa=['\x20=\x20$','VOcTX','747cryhDy','26PPZBwY','fields','entries','7530446Etevmm','unkth','1758552usfAgV','wlzuR','413792eStGzI','join','filterable','Field\x20is\x20not\x20filterable:\x20','PwfVY','filter','197840EppjOf','1140KnebGP','\x20AND\x20','lwysb','nIupb','length','26185Ctczwf','3204000xKlTya','\x20WHERE\x20','dzMOQ','40322FOTgKt','push'];_0x1cb6=function(){return _0x21cdfa;};return _0x1cb6();}import{fieldColumn,qi}from'./sql.js';function _0x8a48(_0x39b651,_0x5aece0){_0x39b651=_0x39b651-0x147;const _0x1cb650=_0x1cb6();let _0x8a484c=_0x1cb650[_0x39b651];return _0x8a484c;}import{ValidationError}from'../../../errors.js';export function buildFilters(_0x6f9bff,_0x19d06d,_0x2045b2=0x1){const _0x2349fe=_0x8a48,_0x5e5478={'PwfVY':function(_0x536c69,_0x482ccd){return _0x536c69??_0x482ccd;},'unkth':function(_0x1d121f,_0x174ae0){return _0x1d121f!==_0x174ae0;},'nIupb':function(_0x227f66,_0x375460){return _0x227f66!==_0x375460;},'lwysb':function(_0x1ef766,_0x5932b5){return _0x1ef766(_0x5932b5);},'dzMOQ':function(_0x21a9b7,_0x2cad9c,_0x218899){return _0x21a9b7(_0x2cad9c,_0x218899);},'wlzuR':function(_0x1cbd82,_0x289984){return _0x1cbd82-_0x289984;},'VOcTX':function(_0xd26e9c,_0xb1c180){return _0xd26e9c+_0xb1c180;}},_0x54bc64=[],_0x422f70=[];for(const [_0x54fa13,_0x190935]of Object[_0x2349fe(0x14c)](_0x5e5478[_0x2349fe(0x155)](_0x19d06d,{}))){const _0x4d2b25=_0x6f9bff[_0x2349fe(0x14b)][_0x54fa13];if(!_0x4d2b25||_0x5e5478[_0x2349fe(0x14e)](_0x4d2b25[_0x2349fe(0x156)],!![])&&_0x5e5478[_0x2349fe(0x15b)](_0x4d2b25[_0x2349fe(0x153)],!![]))throw new ValidationError(_0x2349fe(0x154)+_0x54fa13);_0x422f70[_0x2349fe(0x162)](_0x190935),_0x54bc64[_0x2349fe(0x162)](_0x5e5478[_0x2349fe(0x15a)](qi,_0x5e5478[_0x2349fe(0x160)](fieldColumn,_0x6f9bff,_0x54fa13))+_0x2349fe(0x147)+_0x5e5478[_0x2349fe(0x150)](_0x5e5478[_0x2349fe(0x148)](_0x2045b2,_0x422f70[_0x2349fe(0x15c)]),0x1));}return{'sql':_0x54bc64[_0x2349fe(0x15c)]?_0x2349fe(0x15f)+_0x54bc64[_0x2349fe(0x152)](_0x2349fe(0x159)):'','values':_0x422f70};}
1
+ const D=z;import{fieldColumn,qi}from'./sql.js';import{ValidationError}from'../../../errors.js';import{autoIndex}from'./auto-index.js';const filterOperators=new Set(['eq','ne','gt','gte','lt','lte','in','nin','like','ilike',D(0x180)]);function z(C,N){C=C-0x180;const r=U();let p=r[C];return p;}export function parseFilterQuery(C){const d=D,N={...isRecord(C['filter'])?C[d(0x181)]:{}};for(const [r,p]of Object['entries'](C)){const c=/^filter\[([^\]]+)\](?:\[([^\]]+)\])?$/[d(0x182)](r);if(!c)continue;const [,x,m]=c;if(!x)continue;if(!m){N[x]=p;continue;}if(!filterOperators['has'](m))throw new ValidationError('Unsupported\x20filter\x20operator:\x20'+m);const Q=isRecord(N[x])?N[x]:{};Q[m]=(m==='in'||m==='nin')&&typeof p===d(0x183)?p['split'](','):p,N[x]=Q;}return Object[d(0x184)](N)['length']?N:undefined;}function U(){const a=['null','filter','exec','string','keys','has','isArray','push','TRUE','<>\x20ALL','like',')\x20like\x20lower(','object','true','geom','geometry','gist','btree'];U=function(){return a;};return U();}export function buildFilters(C,N,r=0x1,p){const V=D,c=[],x=[];for(const [m,Q]of Object['entries'](N??{})){const u=C['fields'][m];if(!u||u['filter']!==!![]&&u['filterable']!==!![])throw new ValidationError('Field\x20is\x20not\x20filterable:\x20'+m);const L=qi(fieldColumn(C,m)),T=isRecord(Q)?Q:{'eq':Q};for(const [Y,f]of Object['entries'](T)){if(!filterOperators[V(0x185)](Y))throw new ValidationError('Unsupported\x20filter\x20operator:\x20'+Y);if((Y==='like'||Y==='ilike')&&u['type']!=='string'&&u['type']!=='text')throw new ValidationError('Operator\x20'+Y+'\x20requires\x20a\x20text\x20field:\x20'+m);p&&autoIndex(C['table'],fieldColumn(C,m),indexTypeFor(u['type'],Y),p);if(Y==='null'){c['push'](L+'\x20IS\x20'+(isTruthy(f)?'':'NOT\x20')+'NULL');continue;}if(Y==='in'||Y==='nin'){const h=Array[V(0x186)](f)?f:[f];if(h['length']===0x0){c[V(0x187)](Y==='in'?'FALSE':V(0x188));continue;}x['push'](h),c['push'](L+'\x20'+(Y==='in'?'=\x20ANY':V(0x189))+'($'+(r+x['length']-0x1)+')');continue;}const F={'eq':'=','ne':'<>','gt':'>','gte':'>=','lt':'<','lte':'<=','like':'like'},t='$'+(r+x['length']);if(Y===V(0x18a)){x['push'](f+'%'),c[V(0x187)]('lower('+L+V(0x18b)+t+')');continue;}x['push'](f),c['push'](L+'\x20'+F[Y]+'\x20'+t);}}return{'sql':c['length']?'\x20WHERE\x20'+c['join']('\x20AND\x20'):'','values':x};}function isRecord(C){const q=D;return typeof C===q(0x18c)&&C!==null&&!Array[q(0x186)](C);}function isTruthy(C){const w=D;return C===!![]||C===w(0x18d)||C==='1'||C===0x1;}function indexTypeFor(C,N){const O=D;if(N==='like'||N==='ilike')return'text';if(C===O(0x18e)||C===O(0x18f))return O(0x190);return O(0x191);}
@@ -1 +1 @@
1
- (function(_0x3c7fc7,_0x588f1f){const _0x5d5373=_0x58b1,_0x485610=_0x3c7fc7();while(!![]){try{const _0xe06b44=-parseInt(_0x5d5373(0xad))/0x1*(-parseInt(_0x5d5373(0xab))/0x2)+-parseInt(_0x5d5373(0xb9))/0x3+-parseInt(_0x5d5373(0xaa))/0x4+-parseInt(_0x5d5373(0xa6))/0x5+parseInt(_0x5d5373(0xb1))/0x6+-parseInt(_0x5d5373(0xba))/0x7+parseInt(_0x5d5373(0xaf))/0x8;if(_0xe06b44===_0x588f1f)break;else _0x485610['push'](_0x485610['shift']());}catch(_0x1502e0){_0x485610['push'](_0x485610['shift']());}}}(_0x3ba5,0xc8a7a));function _0x58b1(_0xb2ca4d,_0x330f12){_0xb2ca4d=_0xb2ca4d-0xa4;const _0x3ba5dc=_0x3ba5();let _0x58b165=_0x3ba5dc[_0xb2ca4d];return _0x58b165;}import{ForbiddenError}from'../../../errors.js';import{getContext}from'../../../index.js';function _0x3ba5(){const _0x196332=['type','oyzat','config','name','debug','permission','access','2931155PeDRXO','Missing\x20permission:\x20','permissions','qXwVL','3399740DEdWkt','26RnlPyh','Authentication\x20required','31133wgmJBH','includes','25253480uXjdBh','\x20is\x20disabled','2314050kcfOtL','TOyCf','mpeMu','jqmBJ','operations','Admin\x20access\x20required','tkkOg','admin','1727973CHYHRe','7791350WQdpTM','public'];_0x3ba5=function(){return _0x196332;};return _0x3ba5();}export function assertOperation(_0x3b87fb,_0x89d848,_0x1d1d83){const _0x553549=_0x58b1,_0x3d2d91={'oyzat':function(_0x174926){return _0x174926();},'qXwVL':function(_0x483cf7,_0x4a60d7){return _0x483cf7!==_0x4a60d7;},'mpeMu':_0x553549(0xbb),'jqmBJ':_0x553549(0xac),'TOyCf':function(_0x42c54d,_0x28bb27){return _0x42c54d===_0x28bb27;},'tkkOg':_0x553549(0xb8)},_0x3af1f1=_0x3d2d91[_0x553549(0xbd)](getContext)[_0x553549(0xbe)];if(_0x3af1f1[_0x553549(0xc0)])return;if(!_0x3b87fb[_0x553549(0xb5)][_0x553549(0xae)](_0x89d848))throw new ForbiddenError(_0x3b87fb[_0x553549(0xbf)]+'.'+_0x89d848+_0x553549(0xb0));if(_0x3d2d91[_0x553549(0xa9)](_0x3b87fb[_0x553549(0xa5)],_0x3d2d91[_0x553549(0xb3)])&&_0x1d1d83===undefined)throw new ForbiddenError(_0x3d2d91[_0x553549(0xb4)]);if(_0x3d2d91[_0x553549(0xb2)](_0x3b87fb[_0x553549(0xa5)],_0x3d2d91[_0x553549(0xb7)])&&_0x1d1d83?.[_0x553549(0xbc)]!==_0x553549(0xb8))throw new ForbiddenError(_0x553549(0xb6));if(_0x3d2d91[_0x553549(0xa9)](_0x1d1d83?.[_0x553549(0xbc)],_0x3d2d91[_0x553549(0xb7)])){const _0x320f77=(_0x3b87fb[_0x553549(0xa4)]??_0x3b87fb[_0x553549(0xbf)])+':'+_0x89d848;if(!_0x1d1d83?.[_0x553549(0xa8)]?.[_0x553549(0xae)](_0x320f77))throw new ForbiddenError(_0x553549(0xa7)+_0x320f77);}}
1
+ function z(C,N){C=C-0xd0;const r=U();let p=r[C];return p;}function U(){const m=['config','access','public','Authentication\x20required','Admin\x20access\x20required','type','admin','includes','Missing\x20permission:\x20'];U=function(){return m;};return U();}import{ForbiddenError}from'../../../errors.js';import{getContext}from'../../../index.js';export function assertOperation(C,N,r){const x=z,p=getContext()[x(0xd0)];if(p['debug'])return;if(!C['operations']['includes'](N))throw new ForbiddenError(C['name']+'.'+N+'\x20is\x20disabled');if(C[x(0xd1)]!==x(0xd2)&&r===undefined)throw new ForbiddenError(x(0xd3));if(C['access']==='admin'&&r?.['type']!=='admin')throw new ForbiddenError(x(0xd4));if(r?.[x(0xd5)]!==x(0xd6)){const c=(C['permission']??C['name'])+':'+N;if(!r?.['permissions']?.[x(0xd7)](c))throw new ForbiddenError(x(0xd8)+c);}}
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/utils/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAYpE"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/utils/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAgBpE"}
@@ -1 +1 @@
1
- (function(_0x4c80b2,_0x1a770e){const _0x5a21c6=_0x2a1b,_0x3b15f9=_0x4c80b2();while(!![]){try{const _0x7d3625=-parseInt(_0x5a21c6(0xc9))/0x1+parseInt(_0x5a21c6(0xd4))/0x2+-parseInt(_0x5a21c6(0xcc))/0x3*(-parseInt(_0x5a21c6(0xca))/0x4)+parseInt(_0x5a21c6(0xc5))/0x5+parseInt(_0x5a21c6(0xd2))/0x6+parseInt(_0x5a21c6(0xcb))/0x7+-parseInt(_0x5a21c6(0xc3))/0x8;if(_0x7d3625===_0x1a770e)break;else _0x3b15f9['push'](_0x3b15f9['shift']());}catch(_0x17d9a3){_0x3b15f9['push'](_0x3b15f9['shift']());}}}(_0x30d4,0x1f03c));import{fieldColumn,qi}from'./sql.js';function _0x2a1b(_0x3c34d6,_0x280e13){_0x3c34d6=_0x3c34d6-0xc1;const _0x30d402=_0x30d4();let _0x2a1bef=_0x30d402[_0x3c34d6];return _0x2a1bef;}import{ValidationError}from'../../../errors.js';function _0x30d4(){const _0x4f81cf=['wuHaF','map','borep','USlfI','DESC','ASC','hxYVJ','startsWith','2836728OUkByk','join','311475XkfkwW','sortable','length','fields','199030dESbKv','4CUYNFy','1576624dlznrU','375303KkiGRw','Field\x20is\x20not\x20sortable:\x20','gVEXa','GNhtd','slice','sort','1467744dfloPV','\x20ORDER\x20BY\x20','46810awISbD'];_0x30d4=function(){return _0x4f81cf;};return _0x30d4();}export function buildSort(_0x508786,_0x6553f3){const _0x457e3d=_0x2a1b,_0x16b6c7={'wuHaF':function(_0x3749b6,_0x3a47d6){return _0x3749b6!==_0x3a47d6;},'borep':function(_0x77cd94,_0x5e7ef8){return _0x77cd94!==_0x5e7ef8;},'USlfI':function(_0x1cf25a,_0x4b38ab){return _0x1cf25a(_0x4b38ab);},'GNhtd':function(_0x1e8cf7,_0x3f944d,_0x32b78b){return _0x1e8cf7(_0x3f944d,_0x32b78b);},'gVEXa':_0x457e3d(0xd9),'hxYVJ':_0x457e3d(0xda)};if(!_0x6553f3?.[_0x457e3d(0xc7)])return'';const _0x39f8a1=_0x6553f3[_0x457e3d(0xd6)](_0x67ea50=>{const _0x4bc383=_0x457e3d,_0x281caf=_0x67ea50[_0x4bc383(0xc2)]('-'),_0x530f6b=_0x281caf?_0x67ea50[_0x4bc383(0xd0)](0x1):_0x67ea50,_0x5b3e23=_0x508786[_0x4bc383(0xc8)][_0x530f6b];if(!_0x5b3e23||_0x16b6c7[_0x4bc383(0xd5)](_0x5b3e23[_0x4bc383(0xd1)],!![])&&_0x16b6c7[_0x4bc383(0xd7)](_0x5b3e23[_0x4bc383(0xc6)],!![]))throw new ValidationError(_0x4bc383(0xcd)+_0x530f6b);return _0x16b6c7[_0x4bc383(0xd8)](qi,_0x16b6c7[_0x4bc383(0xcf)](fieldColumn,_0x508786,_0x530f6b))+'\x20'+(_0x281caf?_0x16b6c7[_0x4bc383(0xce)]:_0x16b6c7[_0x4bc383(0xc1)]);});return _0x457e3d(0xd3)+_0x39f8a1[_0x457e3d(0xc4)](',\x20');}
1
+ import{fieldColumn,qi}from'./sql.js';import{ValidationError}from'../../../errors.js';function z(C,N){C=C-0x6f;const r=U();let p=r[C];return p;}function U(){const L=['slice','sort'];U=function(){return L;};return U();}export function buildSort(C,N){if(!N?.['length'])return'';typeof N==='string'&&(N=[N]);const r=N['map'](p=>{const u=z,c=p['startsWith']('-'),m=c?p[u(0x6f)](0x1):p,Q=C['fields'][m];if(!Q||Q[u(0x70)]!==!![]&&Q['sortable']!==!![])throw new ValidationError('Field\x20is\x20not\x20sortable:\x20'+m);return qi(fieldColumn(C,m))+'\x20'+(c?'DESC':'ASC');});return'\x20ORDER\x20BY\x20'+r['join'](',\x20');}
@@ -1 +1 @@
1
- const _0x2838d2=_0x3531;(function(_0x526798,_0xc7d034){const _0x493971=_0x3531,_0x7cb80b=_0x526798();while(!![]){try{const _0x513f42=parseInt(_0x493971(0x1ec))/0x1+parseInt(_0x493971(0x1fc))/0x2+parseInt(_0x493971(0x1e3))/0x3+-parseInt(_0x493971(0x1eb))/0x4*(parseInt(_0x493971(0x1ef))/0x5)+parseInt(_0x493971(0x1dc))/0x6+parseInt(_0x493971(0x1e6))/0x7+parseInt(_0x493971(0x1dd))/0x8*(-parseInt(_0x493971(0x1f8))/0x9);if(_0x513f42===_0xc7d034)break;else _0x7cb80b['push'](_0x7cb80b['shift']());}catch(_0x16d1a4){_0x7cb80b['push'](_0x7cb80b['shift']());}}}(_0x2080,0x3c7ef));import{ValidationError}from'../../../errors.js';export const quoteIdentifier=_0x44b8ca=>'\x22'+_0x44b8ca[_0x2838d2(0x1f1)](/"/g,'\x22\x22')+'\x22';function _0x2080(){const _0x6026a1=['rMJho','Unknown\x20field:\x20','DCnzE','key','vEiRj','343701oQlSBh','filter','write','PQJXL','652444FIdKRG','oHmLB','unshift','readable','WzPdz','WZfFj','1761528cwuAFE','168XFnIER','join','yYMLe','KcIBi','Field\x20is\x20not\x20writable:\x20','writable','996924ZtZyGr','entries','fields','496356xkszcH','GsiAR','\x20AS\x20','read','map','165708DsIAcG','358150pbEvak','CwusY','split','40iYEQcB','column','replace','push'];_0x2080=function(){return _0x6026a1;};return _0x2080();}export const quoteTable=_0x21a9f0=>_0x21a9f0[_0x2838d2(0x1ee)]('.')[_0x2838d2(0x1ea)](quoteIdentifier)[_0x2838d2(0x1de)]('.');export function fieldColumn(_0xde8a38,_0x594b01){const _0x6b236f=_0x2838d2,_0x5409cc={};_0x5409cc[_0x6b236f(0x1fd)]=function(_0x4a9808,_0x5bccd){return _0x4a9808===_0x5bccd;};const _0x32469b=_0x5409cc;if(_0x32469b[_0x6b236f(0x1fd)](_0x594b01,_0xde8a38[_0x6b236f(0x1f6)]))return _0xde8a38[_0x6b236f(0x1f6)];const _0xe5e81=_0xde8a38[_0x6b236f(0x1e5)][_0x594b01];if(!_0xe5e81)throw new ValidationError(_0x6b236f(0x1f4)+_0x594b01);return _0xe5e81[_0x6b236f(0x1f0)]??_0x594b01;}function _0x3531(_0xc47018,_0x551ece){_0xc47018=_0xc47018-0x1dc;const _0x20803a=_0x2080();let _0x35314d=_0x20803a[_0xc47018];return _0x35314d;}export function readableFields(_0x4bd0ab){const _0x9bd111=_0x2838d2,_0xde8ed6={};_0xde8ed6[_0x9bd111(0x1fb)]=function(_0x420edf,_0xe31b7b){return _0x420edf===_0xe31b7b;},_0xde8ed6[_0x9bd111(0x1e0)]=function(_0x5e78c3,_0x9216f3){return _0x5e78c3===_0x9216f3;},_0xde8ed6[_0x9bd111(0x1ed)]=_0x9bd111(0x1f5);const _0x4e1f10=_0xde8ed6,_0x1b4bb2=Object[_0x9bd111(0x1e4)](_0x4bd0ab[_0x9bd111(0x1e5)])[_0x9bd111(0x1f9)](([,_0x3183f0])=>_0x3183f0[_0x9bd111(0x1e9)]!==![]&&_0x3183f0[_0x9bd111(0x1ff)]!==![])[_0x9bd111(0x1ea)](([_0x475da1,_0xaa9072])=>quoteIdentifier(_0xaa9072[_0x9bd111(0x1f0)]??_0x475da1)+_0x9bd111(0x1e8)+quoteIdentifier(_0x475da1));if(!_0x4bd0ab[_0x9bd111(0x1e5)][_0x4bd0ab[_0x9bd111(0x1f6)]]){if(_0x4e1f10[_0x9bd111(0x1ed)]!==_0x4e1f10[_0x9bd111(0x1ed)]){const _0x1047b3=_0x52cfbc[_0x9bd111(0x1e5)][_0x85f1f1];if(!_0x1047b3||_0x4e1f10[_0x9bd111(0x1fb)](_0x1047b3[_0x9bd111(0x1fa)],![])||_0x4e1f10[_0x9bd111(0x1e0)](_0x1047b3[_0x9bd111(0x1e2)],![]))throw new _0x4b9f7e(_0x9bd111(0x1e1)+_0x5d2b21);_0x4bf34a[_0x9bd111(0x1f2)]([_0x1047b3[_0x9bd111(0x1f0)]??_0x3c185a,_0x46d947]);}else _0x1b4bb2[_0x9bd111(0x1fe)](quoteIdentifier(_0x4bd0ab[_0x9bd111(0x1f6)]));}return _0x1b4bb2;}export function writableData(_0xf6c7ec,_0x1eb168){const _0x2a4275=_0x2838d2,_0x1d01d8={'yYMLe':function(_0x1f99d9,_0x20542f){return _0x1f99d9(_0x20542f);},'rMJho':function(_0x38331f,_0x3e4d4a){return _0x38331f===_0x3e4d4a;},'GsiAR':_0x2a4275(0x1f7),'WzPdz':function(_0xf82900,_0x610b1){return _0xf82900===_0x610b1;}},_0x4b77ec=[];for(const [_0x2c3c85,_0x248896]of Object[_0x2a4275(0x1e4)](_0x1eb168)){if(_0x1d01d8[_0x2a4275(0x1f3)](_0x2a4275(0x201),_0x1d01d8[_0x2a4275(0x1e7)])){const _0x2830df=_0x49b4a9[_0x2a4275(0x1e4)](_0x5335a6[_0x2a4275(0x1e5)])[_0x2a4275(0x1f9)](([,_0x5dd8b8])=>_0x5dd8b8[_0x2a4275(0x1e9)]!==![]&&_0x5dd8b8[_0x2a4275(0x1ff)]!==![])[_0x2a4275(0x1ea)](([_0x4b8fa8,_0x5409b8])=>_0x3cca4c(_0x5409b8[_0x2a4275(0x1f0)]??_0x4b8fa8)+_0x2a4275(0x1e8)+_0x31d43d(_0x4b8fa8));return!_0x37bd54[_0x2a4275(0x1e5)][_0xd20d84[_0x2a4275(0x1f6)]]&&_0x2830df[_0x2a4275(0x1fe)](Mmakrz[_0x2a4275(0x1df)](_0x3a9117,_0x525489[_0x2a4275(0x1f6)])),_0x2830df;}else{const _0x115e07=_0xf6c7ec[_0x2a4275(0x1e5)][_0x2c3c85];if(!_0x115e07||_0x1d01d8[_0x2a4275(0x200)](_0x115e07[_0x2a4275(0x1fa)],![])||_0x1d01d8[_0x2a4275(0x200)](_0x115e07[_0x2a4275(0x1e2)],![]))throw new ValidationError(_0x2a4275(0x1e1)+_0x2c3c85);_0x4b77ec[_0x2a4275(0x1f2)]([_0x115e07[_0x2a4275(0x1f0)]??_0x2c3c85,_0x248896]);}}return _0x4b77ec;}export const qi=quoteIdentifier;export const qt=quoteTable;
1
+ const m=z;import{ValidationError}from'../../../errors.js';export const quoteIdentifier=C=>'\x22'+C['replace'](/"/g,'\x22\x22')+'\x22';function z(C,N){C=C-0xa1;const r=U();let p=r[C];return p;}export const quoteTable=C=>C['split']('.')['map'](quoteIdentifier)[m(0xa1)]('.');function U(){const T=['join','key','fields','column','map','\x20AS\x20'];U=function(){return T;};return U();}export function fieldColumn(C,N){const Q=m;if(N===C[Q(0xa2)])return C[Q(0xa2)];const r=C[Q(0xa3)][N];if(!r)throw new ValidationError('Unknown\x20field:\x20'+N);return r[Q(0xa4)]??N;}export function readableFields(C){const u=m,N=Object['entries'](C['fields'])['filter'](([,r])=>r['read']!==![]&&r['readable']!==![])[u(0xa5)](([r,p])=>quoteIdentifier(p['column']??r)+u(0xa6)+quoteIdentifier(r));return!C[u(0xa3)][C[u(0xa2)]]&&N['unshift'](quoteIdentifier(C['key'])),N;}export function writableData(C,N){const L=m,r=[];for(const [p,c]of Object['entries'](N)){const x=C[L(0xa3)][p];if(!x||x['write']===![]||x['writable']===![])throw new ValidationError('Field\x20is\x20not\x20writable:\x20'+p);r['push']([x['column']??p,c]);}return r;}export const qi=quoteIdentifier;export const qt=quoteTable;
@@ -1 +1 @@
1
- function _0x5b19(){const _0x3cb3ff=['remoteAddress','290463ykJHIB','2876502wFJwsO','2zWVUqg','pop','8yQdbFy','x-forwarded-for','429889dcFLGt','connection','654608RvttZg','2453245tMJkYI','2497900KPTXJs','headers','split','35SDhyeT','x-real-ip','553662ddrMcZ'];_0x5b19=function(){return _0x3cb3ff;};return _0x5b19();}const _0x1e0cd2=_0x3e9e;function _0x3e9e(_0x59a0ab,_0x1b3f34){_0x59a0ab=_0x59a0ab-0x74;const _0x5b19f5=_0x5b19();let _0x3e9e1e=_0x5b19f5[_0x59a0ab];return _0x3e9e1e;}(function(_0x1b99f0,_0x363513){const _0x391a78=_0x3e9e,_0x370e02=_0x1b99f0();while(!![]){try{const _0x3d57ad=-parseInt(_0x391a78(0x80))/0x1*(-parseInt(_0x391a78(0x7c))/0x2)+parseInt(_0x391a78(0x7a))/0x3*(parseInt(_0x391a78(0x7e))/0x4)+-parseInt(_0x391a78(0x83))/0x5+-parseInt(_0x391a78(0x7b))/0x6+-parseInt(_0x391a78(0x76))/0x7*(-parseInt(_0x391a78(0x82))/0x8)+-parseInt(_0x391a78(0x78))/0x9+parseInt(_0x391a78(0x84))/0xa;if(_0x3d57ad===_0x363513)break;else _0x370e02['push'](_0x370e02['shift']());}catch(_0x50fddb){_0x370e02['push'](_0x370e02['shift']());}}}(_0x5b19,0x3d3f3));const getIP=_0x28d53a=>(_0x28d53a[_0x1e0cd2(0x74)]?.[_0x1e0cd2(0x77)]||_0x28d53a[_0x1e0cd2(0x74)]?.[_0x1e0cd2(0x7f)]||_0x28d53a['ip']||_0x28d53a[_0x1e0cd2(0x81)]?.[_0x1e0cd2(0x79)]||'')[_0x1e0cd2(0x75)](':')[_0x1e0cd2(0x7d)]();export default getIP;
1
+ function z(C,N){C=C-0x123;const r=U();let p=r[C];return p;}const N=z,getIP=C=>(C['headers']?.[N(0x123)]||C[N(0x124)]?.[N(0x125)]||C['ip']||C['connection']?.['remoteAddress']||'')['split'](':')[N(0x126)]();function U(){const r=['x-real-ip','headers','x-forwarded-for','pop'];U=function(){return r;};return U();}export default getIP;
@@ -1,43 +1,43 @@
1
- ALTER TABLE admin.users
2
- ADD CONSTRAINT users_created_by_fkey
3
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
4
- ADD CONSTRAINT users_updated_by_fkey
5
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
6
-
7
- ALTER TABLE admin.user_roles
8
- ADD CONSTRAINT user_roles_created_by_fkey
9
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
10
- ADD CONSTRAINT user_roles_updated_by_fkey
11
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
12
-
13
- ALTER TABLE admin.role_access
14
- ADD CONSTRAINT role_access_user_uid_fkey
15
- FOREIGN KEY (user_uid) REFERENCES admin.users(uid) ON DELETE CASCADE,
16
- ADD CONSTRAINT role_access_created_by_fkey
17
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
18
- ADD CONSTRAINT role_access_updated_by_fkey
19
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
20
-
21
- ALTER TABLE admin.dictionaries
22
- ADD CONSTRAINT dictionaries_created_by_fkey
23
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
24
- ADD CONSTRAINT dictionaries_updated_by_fkey
25
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
26
-
27
- ALTER TABLE admin.notes
28
- ADD CONSTRAINT notes_created_by_fkey
29
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
30
- ADD CONSTRAINT notes_updated_by_fkey
31
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
32
-
33
- ALTER TABLE admin.files
34
- ADD CONSTRAINT files_created_by_fkey
35
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
36
- ADD CONSTRAINT files_updated_by_fkey
37
- FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
38
-
39
- ALTER TABLE admin.settings
40
- ADD CONSTRAINT settings_created_by_fkey
41
- FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
42
- ADD CONSTRAINT settings_updated_by_fkey
1
+ ALTER TABLE admin.users
2
+ ADD CONSTRAINT users_created_by_fkey
3
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
4
+ ADD CONSTRAINT users_updated_by_fkey
5
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
6
+
7
+ ALTER TABLE admin.user_roles
8
+ ADD CONSTRAINT user_roles_created_by_fkey
9
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
10
+ ADD CONSTRAINT user_roles_updated_by_fkey
11
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
12
+
13
+ ALTER TABLE admin.role_access
14
+ ADD CONSTRAINT role_access_user_uid_fkey
15
+ FOREIGN KEY (user_uid) REFERENCES admin.users(uid) ON DELETE CASCADE,
16
+ ADD CONSTRAINT role_access_created_by_fkey
17
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
18
+ ADD CONSTRAINT role_access_updated_by_fkey
19
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
20
+
21
+ ALTER TABLE admin.dictionaries
22
+ ADD CONSTRAINT dictionaries_created_by_fkey
23
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
24
+ ADD CONSTRAINT dictionaries_updated_by_fkey
25
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
26
+
27
+ ALTER TABLE admin.notes
28
+ ADD CONSTRAINT notes_created_by_fkey
29
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
30
+ ADD CONSTRAINT notes_updated_by_fkey
31
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
32
+
33
+ ALTER TABLE admin.files
34
+ ADD CONSTRAINT files_created_by_fkey
35
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
36
+ ADD CONSTRAINT files_updated_by_fkey
37
+ FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
38
+
39
+ ALTER TABLE admin.settings
40
+ ADD CONSTRAINT settings_created_by_fkey
41
+ FOREIGN KEY (created_by) REFERENCES admin.users(uid) ON DELETE SET NULL,
42
+ ADD CONSTRAINT settings_updated_by_fkey
43
43
  FOREIGN KEY (updated_by) REFERENCES admin.users(uid) ON DELETE SET NULL;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fcore",
3
- "version": "0.0.1-beta.5",
3
+ "version": "0.0.1-beta.7",
4
4
  "description": "Reusable backend foundation for OpenGIS Node.js applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -53,7 +53,6 @@
53
53
  "node": ">=20"
54
54
  },
55
55
  "dependencies": {
56
- "@sinclair/typebox": "^0.34.52",
57
56
  "@aws-sdk/client-s3": "3.1125.0",
58
57
  "@aws-sdk/lib-storage": "3.1125.0",
59
58
  "@fastify/cookie": "11.1.2",
@@ -61,11 +60,13 @@
61
60
  "@fastify/passport": "4.0.2",
62
61
  "@fastify/rate-limit": "11.2.0",
63
62
  "@fastify/session": "11.1.2",
63
+ "@sinclair/typebox": "^0.34.52",
64
64
  "apache-crypt": "1.2.6",
65
65
  "dotenv": "17.4.2",
66
66
  "fastify-session-redis-store": "7.1.2",
67
67
  "file-type": "22.0.2",
68
68
  "ioredis": "6.0.0",
69
+ "jose": "^6.2.12",
69
70
  "otplib": "13.5.0",
70
71
  "pg": "8.23.0",
71
72
  "pino": "10.3.1",