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

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 (151) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +71 -71
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/context.d.ts +4 -4
  7. package/dist/context.d.ts.map +1 -1
  8. package/dist/context.js +1 -1
  9. package/dist/errors.js +1 -1
  10. package/dist/fastify.d.ts.map +1 -1
  11. package/dist/fastify.js +1 -1
  12. package/dist/fcore.js +1 -1
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/migrations/cli.js +1 -1
  17. package/dist/migrations/runner.d.ts.map +1 -1
  18. package/dist/migrations/runner.js +1 -1
  19. package/dist/modules/auth/index.js +1 -1
  20. package/dist/modules/auth/route.js +1 -1
  21. package/dist/modules/auth/schema.js +1 -1
  22. package/dist/modules/auth/services/get-current-user.js +1 -1
  23. package/dist/modules/auth/services/login.js +1 -1
  24. package/dist/modules/auth/services/logout.js +1 -1
  25. package/dist/modules/auth/services/verify-two-factor.js +1 -1
  26. package/dist/modules/auth/services/verifyPassword.js +1 -1
  27. package/dist/modules/file/index.js +1 -1
  28. package/dist/modules/file/route.js +1 -1
  29. package/dist/modules/file/schema.js +1 -1
  30. package/dist/modules/file/services/get-file.js +1 -1
  31. package/dist/modules/file/services/resize-file.js +1 -1
  32. package/dist/modules/file/services/upload-file.d.ts.map +1 -1
  33. package/dist/modules/file/services/upload-file.js +1 -1
  34. package/dist/modules/resource/index.js +1 -1
  35. package/dist/modules/resource/route.js +1 -1
  36. package/dist/modules/resource/schema.js +1 -1
  37. package/dist/modules/resource/services/add-note.d.ts.map +1 -1
  38. package/dist/modules/resource/services/add-note.js +1 -1
  39. package/dist/modules/resource/services/add-resource-file.d.ts.map +1 -1
  40. package/dist/modules/resource/services/add-resource-file.js +1 -1
  41. package/dist/modules/resource/services/create-resource-relation.js +1 -1
  42. package/dist/modules/resource/services/create-resource.js +1 -1
  43. package/dist/modules/resource/services/delete-resource-relation.js +1 -1
  44. package/dist/modules/resource/services/delete-resource.js +1 -1
  45. package/dist/modules/resource/services/export-resource.js +1 -1
  46. package/dist/modules/resource/services/get-resource.js +1 -1
  47. package/dist/modules/resource/services/list-children.js +1 -1
  48. package/dist/modules/resource/services/list-resource-relation.js +1 -1
  49. package/dist/modules/resource/services/list-resources.js +1 -1
  50. package/dist/modules/resource/services/search-resource.js +1 -1
  51. package/dist/modules/resource/services/suggest-resource.js +1 -1
  52. package/dist/modules/resource/services/update-resource.js +1 -1
  53. package/dist/modules/resource/services/upload-resource-file.d.ts.map +1 -1
  54. package/dist/modules/resource/services/upload-resource-file.js +1 -1
  55. package/dist/modules/system/index.js +1 -1
  56. package/dist/modules/system/route.js +1 -1
  57. package/dist/modules/system/schema.js +1 -1
  58. package/dist/modules/system/services/check-system.d.ts.map +1 -1
  59. package/dist/modules/system/services/check-system.js +1 -1
  60. package/dist/modules/system/services/get-api-list.js +1 -1
  61. package/dist/modules/system/services/get-audit-log.d.ts.map +1 -1
  62. package/dist/modules/system/services/get-audit-log.js +1 -1
  63. package/dist/modules/system/services/get-dictionary.js +1 -1
  64. package/dist/modules/system/services/get-system-log.d.ts.map +1 -1
  65. package/dist/modules/system/services/get-system-log.js +1 -1
  66. package/dist/modules/system/services/get-system-settings.d.ts.map +1 -1
  67. package/dist/modules/system/services/get-system-settings.js +1 -1
  68. package/dist/modules/system/services/list-dictionaries.js +1 -1
  69. package/dist/modules/system/services/update-system-settings.d.ts.map +1 -1
  70. package/dist/modules/system/services/update-system-settings.js +1 -1
  71. package/dist/modules/utils/get-user-permissions.d.ts.map +1 -1
  72. package/dist/modules/utils/get-user-permissions.js +1 -1
  73. package/dist/modules/utils/require-admin.d.ts +1 -1
  74. package/dist/modules/utils/require-admin.d.ts.map +1 -1
  75. package/dist/modules/utils/require-admin.js +1 -1
  76. package/dist/modules/utils/safe-user.js +1 -1
  77. package/dist/modules/utils/unsupported.js +1 -1
  78. package/dist/plugins/audit/audit.d.ts +2 -2
  79. package/dist/plugins/audit/audit.d.ts.map +1 -1
  80. package/dist/plugins/audit/audit.js +1 -1
  81. package/dist/plugins/audit/index.js +1 -1
  82. package/dist/plugins/audit/services/write-audit.d.ts +2 -2
  83. package/dist/plugins/audit/services/write-audit.d.ts.map +1 -1
  84. package/dist/plugins/audit/services/write-audit.js +1 -1
  85. package/dist/plugins/auth/index.js +1 -1
  86. package/dist/plugins/dictionary.d.ts.map +1 -1
  87. package/dist/plugins/dictionary.js +1 -1
  88. package/dist/plugins/file.d.ts +1 -1
  89. package/dist/plugins/file.d.ts.map +1 -1
  90. package/dist/plugins/file.js +1 -1
  91. package/dist/plugins/index.js +1 -1
  92. package/dist/plugins/logger/index.d.ts +9 -4
  93. package/dist/plugins/logger/index.d.ts.map +1 -1
  94. package/dist/plugins/logger/index.js +1 -1
  95. package/dist/plugins/logger/transport.d.ts +3 -0
  96. package/dist/plugins/logger/transport.d.ts.map +1 -0
  97. package/dist/plugins/logger/transport.js +1 -0
  98. package/dist/plugins/pg.d.ts +1 -1
  99. package/dist/plugins/pg.d.ts.map +1 -1
  100. package/dist/plugins/pg.js +1 -1
  101. package/dist/plugins/redis.js +1 -1
  102. package/dist/plugins/resource/index.js +1 -1
  103. package/dist/plugins/resource/resource.js +1 -1
  104. package/dist/plugins/resource/resource.registry.js +1 -1
  105. package/dist/plugins/resource/resource.types.d.ts +10 -4
  106. package/dist/plugins/resource/resource.types.d.ts.map +1 -1
  107. package/dist/plugins/resource/services/create.js +1 -1
  108. package/dist/plugins/resource/services/delete.js +1 -1
  109. package/dist/plugins/resource/services/find-one.js +1 -1
  110. package/dist/plugins/resource/services/find.js +1 -1
  111. package/dist/plugins/resource/services/update.js +1 -1
  112. package/dist/plugins/resource/utils/fields.js +1 -1
  113. package/dist/plugins/resource/utils/filters.js +1 -1
  114. package/dist/plugins/resource/utils/permissions.js +1 -1
  115. package/dist/plugins/resource/utils/sort.js +1 -1
  116. package/dist/plugins/resource/utils/sql.js +1 -1
  117. package/dist/shared/getIP.js +1 -1
  118. package/dist/type.d.ts +23 -0
  119. package/dist/type.d.ts.map +1 -0
  120. package/dist/type.js +1 -0
  121. package/migrations/20260903120000_core_schema.sql +256 -0
  122. package/migrations/20260903130000_move_notes_files_to_admin.sql +18 -0
  123. package/migrations/20260903140000_settings_nulls_not_distinct.sql +19 -0
  124. package/package.json +87 -86
  125. package/dist/plugins/logger/checkUserAccess.d.ts +0 -11
  126. package/dist/plugins/logger/checkUserAccess.d.ts.map +0 -1
  127. package/dist/plugins/logger/checkUserAccess.js +0 -1
  128. package/dist/plugins/logger/createFileStream.d.ts +0 -3
  129. package/dist/plugins/logger/createFileStream.d.ts.map +0 -1
  130. package/dist/plugins/logger/createFileStream.js +0 -1
  131. package/dist/plugins/logger/createLogger.d.ts +0 -9
  132. package/dist/plugins/logger/createLogger.d.ts.map +0 -1
  133. package/dist/plugins/logger/createLogger.js +0 -1
  134. package/dist/plugins/logger/errorStatus.d.ts +0 -2
  135. package/dist/plugins/logger/errorStatus.d.ts.map +0 -1
  136. package/dist/plugins/logger/errorStatus.js +0 -1
  137. package/dist/plugins/logger/getHooks.d.ts +0 -5
  138. package/dist/plugins/logger/getHooks.d.ts.map +0 -1
  139. package/dist/plugins/logger/getHooks.js +0 -1
  140. package/dist/plugins/logger/getRootDir.d.ts +0 -3
  141. package/dist/plugins/logger/getRootDir.d.ts.map +0 -1
  142. package/dist/plugins/logger/getRootDir.js +0 -1
  143. package/dist/plugins/logger/labels.d.ts +0 -3
  144. package/dist/plugins/logger/labels.d.ts.map +0 -1
  145. package/dist/plugins/logger/labels.js +0 -1
  146. package/dist/plugins/logger/serializers.d.ts +0 -14
  147. package/dist/plugins/logger/serializers.d.ts.map +0 -1
  148. package/dist/plugins/logger/serializers.js +0 -1
  149. package/dist/plugins/logger/timestampWithTimeZone.d.ts +0 -2
  150. package/dist/plugins/logger/timestampWithTimeZone.d.ts.map +0 -1
  151. package/dist/plugins/logger/timestampWithTimeZone.js +0 -1
@@ -1 +1 @@
1
- (function(n,a){const g=b,E=n();while(!![]){try{const M=-parseInt(g(0xb9))/0x1*(-parseInt(g(0xc1))/0x2)+parseInt(g(0xa8))/0x3+parseInt(g(0xac))/0x4+parseInt(g(0xc0))/0x5*(-parseInt(g(0xad))/0x6)+parseInt(g(0xb0))/0x7+parseInt(g(0xbd))/0x8+-parseInt(g(0xb7))/0x9;if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0x7831b));import{assertOperation}from'../utils/permissions.js';function b(n,a){n=n-0xa7;const E=I();let M=E[n];return M;}import{qt,qi}from'../utils/sql.js';export function createRemove(n,a){const e=b,E={'eOBrT':function(M,X,G,j){return M(X,G,j);},'KPNKG':e(0xba),'BiXtK':function(M,X){return M(X);},'TDIOb':function(M,X){return M>X;},'TGdQc':e(0xae)};return async function M({name:X,id:G,user:j}){const h=e,u=a[h(0xc2)](X);E[h(0xb2)](assertOperation,u,h(0xae),j);if(!n['pg'])throw new Error(E[h(0xaa)]);const Y=await n['pg'][h(0xbf)](h(0xb5)+E[h(0xb1)](qt,u[h(0xaf)])+h(0xbe)+qi(u[h(0xab)])+h(0xbc),[G]);if(E[h(0xb6)](Y[h(0xb3)]??0x0,0x0))await n[h(0xb4)]?.[h(0xa9)]({'module':u[h(0xb8)],'resource':u[h(0xbb)],'resourceId':G,'action':E[h(0xa7)]});return E[h(0xb6)](Y[h(0xb3)]??0x0,0x0);};}function I(){const Z=['5LtkBIu','3880JwLRxM','get','TGdQc','1750053XifZNw','write','KPNKG','key','2806980WCjKqO','1904424sSjVVW','delete','table','1869133QZOpDP','BiXtK','eOBrT','rowCount','audit','DELETE\x20FROM\x20','TDIOb','10023354VJPlsh','module','133idsOoE','empty\x20pg','name','=$1','906320zcGqYT','\x20WHERE\x20','query'];I=function(){return Z;};return I();}
1
+ function _0x360c(_0x31788e,_0x2dfded){_0x31788e=_0x31788e-0x74;const _0x5078bb=_0x5078();let _0x360cdd=_0x5078bb[_0x31788e];return _0x360cdd;}function _0x5078(){const _0x544ecb=['2020370aFRVHz','action','module','key','=$1','name','325969NfFWiu','delete','1203336sYQqgs','resource','resourceId','1852210zmpnXb','\x20WHERE\x20','write','VDSes','40234PMcptm','audit','15HHeuSB','get','query','yKTKt','SZTRe','OUSxV','table','30SMMByg','jRzpB','empty\x20pg','rowCount','1246143PEnJcR','DELETE\x20FROM\x20','18TuNPmZ','11RVZIBE','159612nNMesQ'];_0x5078=function(){return _0x544ecb;};return _0x5078();}(function(_0x5175ce,_0x280e7b){const _0x3d0960=_0x360c,_0x45dcdf=_0x5175ce();while(!![]){try{const _0x133337=-parseInt(_0x3d0960(0x7f))/0x1*(parseInt(_0x3d0960(0x90))/0x2)+parseInt(_0x3d0960(0x7c))/0x3+-parseInt(_0x3d0960(0x80))/0x4*(-parseInt(_0x3d0960(0x92))/0x5)+parseInt(_0x3d0960(0x78))/0x6*(parseInt(_0x3d0960(0x87))/0x7)+-parseInt(_0x3d0960(0x89))/0x8+-parseInt(_0x3d0960(0x7e))/0x9*(parseInt(_0x3d0960(0x8c))/0xa)+parseInt(_0x3d0960(0x81))/0xb;if(_0x133337===_0x280e7b)break;else _0x45dcdf['push'](_0x45dcdf['shift']());}catch(_0x84e3ad){_0x45dcdf['push'](_0x45dcdf['shift']());}}}(_0x5078,0x33229));import{assertOperation}from'../utils/permissions.js';import{qt,qi}from'../utils/sql.js';export function createRemove(_0x453d8e,_0x4e3002){const _0x3779c1=_0x360c,_0x400e31={'SZTRe':function(_0x1f6b1a,_0x30a2c5,_0x9c3db7,_0x10cdad){return _0x1f6b1a(_0x30a2c5,_0x9c3db7,_0x10cdad);},'VDSes':_0x3779c1(0x88),'jRzpB':_0x3779c1(0x7a),'yKTKt':function(_0x59674a,_0x48a7a0){return _0x59674a(_0x48a7a0);},'OUSxV':function(_0x111e8d,_0x5138a2){return _0x111e8d>_0x5138a2;}};return async function _0x16d9dc({name:_0x11989f,id:_0x31b209,user:_0x58379b}){const _0x4de63e=_0x3779c1,_0x481772=_0x4e3002[_0x4de63e(0x93)](_0x11989f);_0x400e31[_0x4de63e(0x75)](assertOperation,_0x481772,_0x400e31[_0x4de63e(0x8f)],_0x58379b);if(!_0x453d8e['pg'])throw new Error(_0x400e31[_0x4de63e(0x79)]);const _0x5b4de0=await _0x453d8e['pg'][_0x4de63e(0x94)](_0x4de63e(0x7d)+_0x400e31[_0x4de63e(0x74)](qt,_0x481772[_0x4de63e(0x77)])+_0x4de63e(0x8d)+_0x400e31[_0x4de63e(0x74)](qi,_0x481772[_0x4de63e(0x84)])+_0x4de63e(0x85),[_0x31b209]),_0x2e7363={};_0x2e7363[_0x4de63e(0x83)]=_0x481772[_0x4de63e(0x83)],_0x2e7363[_0x4de63e(0x8a)]=_0x481772[_0x4de63e(0x86)],_0x2e7363[_0x4de63e(0x8b)]=_0x31b209,_0x2e7363[_0x4de63e(0x82)]=_0x400e31[_0x4de63e(0x8f)];if((_0x5b4de0[_0x4de63e(0x7b)]??0x0)>0x0)await _0x453d8e[_0x4de63e(0x91)]?.[_0x4de63e(0x8e)](_0x2e7363);return _0x400e31[_0x4de63e(0x76)](_0x5b4de0[_0x4de63e(0x7b)]??0x0,0x0);};}
@@ -1 +1 @@
1
- (function(n,a){const g=b,E=n();while(!![]){try{const M=-parseInt(g(0x1c1))/0x1*(-parseInt(g(0x1bd))/0x2)+-parseInt(g(0x1d0))/0x3+-parseInt(g(0x1c6))/0x4+parseInt(g(0x1bf))/0x5*(parseInt(g(0x1be))/0x6)+-parseInt(g(0x1d1))/0x7+-parseInt(g(0x1d2))/0x8*(-parseInt(g(0x1cf))/0x9)+parseInt(g(0x1cb))/0xa;if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0x517db));function b(n,a){n=n-0x1bd;const E=I();let M=E[n];return M;}import{assertOperation}from'../utils/permissions.js';import{qt,qi,readableFields}from'../utils/sql.js';function I(){const Z=['bCsRw','query','2lIrCNL','6ZTStBV','756685uJHUjn','join','593953EfGxAF','sTMMn','XhRHf','read','empty\x20pg','1730408GSARxG','get','UoIZg','=$1\x20LIMIT\x201','table','1412110hkCvuv','SELECT\x20','rows','key','186453aAdhiS','899505rFozlr','1207262UvmBWj','136aCZUCd','\x20WHERE\x20','KMQPf','\x20FROM\x20'];I=function(){return Z;};return I();}export function createFindOne(n,a){const e=b,E={'UoIZg':function(M,X,G,j){return M(X,G,j);},'KMQPf':e(0x1c4),'sTMMn':e(0x1c5),'XhRHf':function(M,X){return M(X);},'bCsRw':function(M,X){return M(X);}};return async function M({name:X,id:G,user:j}){const h=e,u=a[h(0x1c7)](X);E[h(0x1c8)](assertOperation,u,E[h(0x1d4)],j);if(!n['pg'])throw new Error(E[h(0x1c2)]);const Y=await n['pg'][h(0x1d7)](h(0x1cc)+readableFields(u)[h(0x1c0)](',\x20')+h(0x1d5)+E[h(0x1c3)](qt,u[h(0x1ca)])+h(0x1d3)+E[h(0x1d6)](qi,u[h(0x1ce)])+h(0x1c9),[G]);return Y[h(0x1cd)][0x0]??null;};}
1
+ function _0x41ca(_0x13c984,_0x2584f){_0x13c984=_0x13c984-0x10e;const _0x1e1a7e=_0x1e1a();let _0x41ca33=_0x1e1a7e[_0x13c984];return _0x41ca33;}function _0x1e1a(){const _0x3376f0=['1916978RrApyb','=$1\x20LIMIT\x201','rows','69772ALMpWK','6135vVsAne','6115604tJntIx','Lckpq','table','99gIoKFh','query','2eibuxK','125284GNCXbG','read','wrkav','SELECT\x20','join','60wPvYXi','3690910ilCMrN','empty\x20pg','upzJM','iHLCB','6352zvhphx','key','\x20WHERE\x20','\x20FROM\x20','get','2154RtcHVz'];_0x1e1a=function(){return _0x3376f0;};return _0x1e1a();}(function(_0x4e8fe5,_0x2fff3d){const _0x524e75=_0x41ca,_0x49f1e7=_0x4e8fe5();while(!![]){try{const _0x15e8a7=-parseInt(_0x524e75(0x112))/0x1*(-parseInt(_0x524e75(0x111))/0x2)+-parseInt(_0x524e75(0x117))/0x3*(-parseInt(_0x524e75(0x125))/0x4)+-parseInt(_0x524e75(0x126))/0x5*(-parseInt(_0x524e75(0x121))/0x6)+parseInt(_0x524e75(0x122))/0x7+-parseInt(_0x524e75(0x11c))/0x8*(parseInt(_0x524e75(0x10f))/0x9)+-parseInt(_0x524e75(0x118))/0xa+-parseInt(_0x524e75(0x127))/0xb;if(_0x15e8a7===_0x2fff3d)break;else _0x49f1e7['push'](_0x49f1e7['shift']());}catch(_0x1664e7){_0x49f1e7['push'](_0x49f1e7['shift']());}}}(_0x1e1a,0x3e2ee));import{assertOperation}from'../utils/permissions.js';import{qt,qi,readableFields}from'../utils/sql.js';export function createFindOne(_0x2c20ba,_0x2c5d91){const _0x55dc72=_0x41ca,_0x3dba14={'upzJM':function(_0x4580f7,_0x158ab2,_0x1039ec,_0x243bae){return _0x4580f7(_0x158ab2,_0x1039ec,_0x243bae);},'Lckpq':_0x55dc72(0x113),'iHLCB':_0x55dc72(0x119),'wrkav':function(_0x4133e6,_0x1d988a){return _0x4133e6(_0x1d988a);}};return async function _0x463d96({name:_0x15666f,id:_0x28198f,user:_0x58779f}){const _0x20e46a=_0x55dc72,_0x401351=_0x2c5d91[_0x20e46a(0x120)](_0x15666f);_0x3dba14[_0x20e46a(0x11a)](assertOperation,_0x401351,_0x3dba14[_0x20e46a(0x128)],_0x58779f);if(!_0x2c20ba['pg'])throw new Error(_0x3dba14[_0x20e46a(0x11b)]);const _0x48699d=await _0x2c20ba['pg'][_0x20e46a(0x110)](_0x20e46a(0x115)+readableFields(_0x401351)[_0x20e46a(0x116)](',\x20')+_0x20e46a(0x11f)+qt(_0x401351[_0x20e46a(0x10e)])+_0x20e46a(0x11e)+_0x3dba14[_0x20e46a(0x114)](qi,_0x401351[_0x20e46a(0x11d)])+_0x20e46a(0x123),[_0x28198f]);return _0x48699d[_0x20e46a(0x124)][0x0]??null;};}
@@ -1 +1 @@
1
- (function(n,a){const t=b,E=n();while(!![]){try{const M=parseInt(t(0x1c2))/0x1*(-parseInt(t(0x1ca))/0x2)+parseInt(t(0x1a9))/0x3+parseInt(t(0x1bb))/0x4+-parseInt(t(0x1b3))/0x5+parseInt(t(0x1b6))/0x6+-parseInt(t(0x1c5))/0x7*(-parseInt(t(0x1b0))/0x8)+-parseInt(t(0x1bd))/0x9*(parseInt(t(0x1ac))/0xa);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0xa7134));function b(n,a){n=n-0x1a4;const E=I();let M=E[n];return M;}import{ValidationError}from'../../../errors.js';import{buildFilters}from'../utils/filters.js';import{assertOperation}from'../utils/permissions.js';import{buildSort}from'../utils/sort.js';import{qt,readableFields}from'../utils/sql.js';export function createFind(n,a){const B=b,E={'LvWRy':function(M,X,G){return M(X,G);},'QEPGy':B(0x1ba),'RsoxC':function(M,X){return M+X;},'SgBPS':function(M,X){return M+X;},'GCmSu':function(M,X){return M+X;},'mjIxU':function(M,X){return M(X);},'DKHDQ':B(0x1bc)};return async function M({name:X,query:query={},user:G}){const A=B,j=a[A(0x1c0)](X);assertOperation(j,A(0x1aa),G);const u=Math[A(0x1ab)](Math[A(0x1ae)](query[A(0x1a6)]??0x14,0x1),0xc8),Y=Math[A(0x1ae)](query[A(0x1be)]??0x0,0x0),g=E[A(0x1c6)](buildFilters,j,query[A(0x1b7)]),e=E[A(0x1c6)](buildSort,j,query[A(0x1a7)]);if(!Number[A(0x1bf)](u)||!Number[A(0x1bf)](Y))throw new ValidationError(E[A(0x1b5)]);const h=E[A(0x1b9)](E[A(0x1b2)](E[A(0x1af)](A(0x1a5)+E[A(0x1b8)](readableFields,j)[A(0x1a8)](',\x20')+'\x20',A(0x1c4)+E[A(0x1b8)](qt,j[A(0x1ad)])),''+g[A(0x1c9)]+e+'\x20')+(A(0x1b4)+E[A(0x1b2)](g[A(0x1c1)][A(0x1c8)],0x1)+'\x20'),A(0x1b1)+(g[A(0x1c1)][A(0x1c8)]+0x2));if(!n['pg'])throw new Error(E[A(0x1a4)]);const Z=await n['pg'][A(0x1c7)](h,[...g[A(0x1c1)],u,Y]),H={};return H[A(0x1c3)]=Z[A(0x1c3)],H[A(0x1a6)]=u,H[A(0x1be)]=Y,H;};}function I(){const r=['LIMIT\x20$','QEPGy','4088388CQQnDs','filter','mjIxU','RsoxC','Invalid\x20pagination','4330124VtGuMV','empty\x20pg','1363977PTNYAs','offset','isFinite','get','values','25jJNiWP','rows','FROM\x20','24703JmYygX','LvWRy','query','length','sql','55646sxRsZJ','DKHDQ','SELECT\x20','limit','sort','join','2311182smTfwr','read','min','10TaGgcO','table','max','GCmSu','8ACycxr','OFFSET\x20$','SgBPS','5031920DNckjx'];I=function(){return r;};return I();}
1
+ (function(_0x1a8d2a,_0x73e788){const _0x21f8c5=_0xce7b,_0x219871=_0x1a8d2a();while(!![]){try{const _0xbd3ec3=-parseInt(_0x21f8c5(0x1aa))/0x1+-parseInt(_0x21f8c5(0x1b6))/0x2*(-parseInt(_0x21f8c5(0x1a8))/0x3)+-parseInt(_0x21f8c5(0x1bb))/0x4+-parseInt(_0x21f8c5(0x19f))/0x5+parseInt(_0x21f8c5(0x1a2))/0x6+-parseInt(_0x21f8c5(0x1ac))/0x7*(parseInt(_0x21f8c5(0x1ae))/0x8)+parseInt(_0x21f8c5(0x19c))/0x9*(parseInt(_0x21f8c5(0x1b9))/0xa);if(_0xbd3ec3===_0x73e788)break;else _0x219871['push'](_0x219871['shift']());}catch(_0x5baf04){_0x219871['push'](_0x219871['shift']());}}}(_0x24a6,0xc9fbb));import{ValidationError}from'../../../errors.js';function _0x24a6(){const _0x35ed79=['DwiYp','table','min','qQpVZ','706590HyeZwD','PItvc','values','5207885vKxXjA','join','offset','418914jxpjUp','length','sort','query','empty\x20pg','filter','2965629VMMRPJ','FROM\x20','431969pOYbSM','FsyAw','266jrXwJk','get','330800zrHefc','LIMIT\x20$','rows','iytIG','AGEES','OFFSET\x20$','limit','Invalid\x20pagination','2JKDZsA','sql','read','360XPwgCW','SELECT\x20','50212jfrGZB','vhwQy','isFinite','max','HLRlk'];_0x24a6=function(){return _0x35ed79;};return _0x24a6();}import{buildFilters}from'../utils/filters.js';import{assertOperation}from'../utils/permissions.js';import{buildSort}from'../utils/sort.js';import{qt,readableFields}from'../utils/sql.js';function _0xce7b(_0x241a1a,_0x5af080){_0x241a1a=_0x241a1a-0x19b;const _0x24a6e4=_0x24a6();let _0xce7b97=_0x24a6e4[_0x241a1a];return _0xce7b97;}export function createFind(_0x21d310,_0x5da74d){const _0x2cf2d6=_0xce7b,_0x25d54f={'DwiYp':function(_0xdd5a66,_0x28a09a,_0x3ca440,_0xa394b1){return _0xdd5a66(_0x28a09a,_0x3ca440,_0xa394b1);},'FsyAw':_0x2cf2d6(0x1b8),'HLRlk':function(_0x3fd2c4,_0x2ec291,_0x2b0b81){return _0x3fd2c4(_0x2ec291,_0x2b0b81);},'vhwQy':_0x2cf2d6(0x1b5),'AGEES':function(_0x190ac9,_0x48ca8c){return _0x190ac9+_0x48ca8c;},'qQpVZ':function(_0x2c7d7e,_0x483f89){return _0x2c7d7e+_0x483f89;},'PItvc':function(_0x2bf0d9,_0x3f8c3d){return _0x2bf0d9(_0x3f8c3d);},'iytIG':function(_0x13e56d,_0x203f09){return _0x13e56d(_0x203f09);}};return async function _0x3aafce({name:_0x3542e5,query:query={},user:_0x47abb2}){const _0x23ab01=_0x2cf2d6,_0x54687f=_0x5da74d[_0x23ab01(0x1ad)](_0x3542e5);_0x25d54f[_0x23ab01(0x1c0)](assertOperation,_0x54687f,_0x25d54f[_0x23ab01(0x1ab)],_0x47abb2);const _0x439219=Math[_0x23ab01(0x1c2)](Math[_0x23ab01(0x1be)](query[_0x23ab01(0x1b4)]??0x14,0x1),0xc8),_0x21713a=Math[_0x23ab01(0x1be)](query[_0x23ab01(0x1a1)]??0x0,0x0),_0x35cd4d=_0x25d54f[_0x23ab01(0x1bf)](buildFilters,_0x54687f,query[_0x23ab01(0x1a7)]),_0x2aae2e=_0x25d54f[_0x23ab01(0x1bf)](buildSort,_0x54687f,query[_0x23ab01(0x1a4)]);if(!Number[_0x23ab01(0x1bd)](_0x439219)||!Number[_0x23ab01(0x1bd)](_0x21713a))throw new ValidationError(_0x25d54f[_0x23ab01(0x1bc)]);const _0x325639=_0x25d54f[_0x23ab01(0x1b2)](_0x25d54f[_0x23ab01(0x19b)](_0x25d54f[_0x23ab01(0x19b)](_0x23ab01(0x1ba)+_0x25d54f[_0x23ab01(0x19d)](readableFields,_0x54687f)[_0x23ab01(0x1a0)](',\x20')+'\x20',_0x23ab01(0x1a9)+_0x25d54f[_0x23ab01(0x1b1)](qt,_0x54687f[_0x23ab01(0x1c1)])),''+_0x35cd4d[_0x23ab01(0x1b7)]+_0x2aae2e+'\x20'),_0x23ab01(0x1af)+(_0x35cd4d[_0x23ab01(0x19e)][_0x23ab01(0x1a3)]+0x1)+'\x20')+(_0x23ab01(0x1b3)+_0x25d54f[_0x23ab01(0x1b2)](_0x35cd4d[_0x23ab01(0x19e)][_0x23ab01(0x1a3)],0x2));if(!_0x21d310['pg'])throw new Error(_0x23ab01(0x1a6));const _0x125d9e=await _0x21d310['pg'][_0x23ab01(0x1a5)](_0x325639,[..._0x35cd4d[_0x23ab01(0x19e)],_0x439219,_0x21713a]),_0x5fbc4f={};return _0x5fbc4f[_0x23ab01(0x1b0)]=_0x125d9e[_0x23ab01(0x1b0)],_0x5fbc4f[_0x23ab01(0x1b4)]=_0x439219,_0x5fbc4f[_0x23ab01(0x1a1)]=_0x21713a,_0x5fbc4f;};}
@@ -1 +1 @@
1
- (function(n,a){const A=b,E=n();while(!![]){try{const M=parseInt(A(0x170))/0x1+parseInt(A(0x184))/0x2*(parseInt(A(0x160))/0x3)+-parseInt(A(0x16c))/0x4+-parseInt(A(0x16e))/0x5+parseInt(A(0x185))/0x6*(parseInt(A(0x16b))/0x7)+parseInt(A(0x179))/0x8+parseInt(A(0x172))/0x9*(-parseInt(A(0x178))/0xa);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0xb3a65));function I(){const p=['3962890xZifvc','7382160JVVfQO','name','map','audit','update','SET\x20','BobIx','WHERE\x20','UPDATE\x20','gfWZd','RETURNING\x20','62RoOKdA','6gLtoDZ','67434bRdTdl','key','JLaFV','YBfIw','PpLxI','query','tuuep','write','\x20=\x20$','table','join','6492276lHfVEN','2270248YaNDkX','keys','3348330gQKNME','FMafc','1407462QGCMfn','module','45VLZwsi','empty\x20pg','length','rows','get','No\x20writable\x20fields'];I=function(){return p;};return I();}import{NotFoundError,ValidationError}from'../../../errors.js';import{assertOperation}from'../utils/permissions.js';function b(n,a){n=n-0x160;const E=I();let M=E[n];return M;}import{qi,qt,readableFields,writableData}from'../utils/sql.js';export function createUpdate(n,a){const r=b,E={'YBfIw':function(M,X,G,j){return M(X,G,j);},'gfWZd':r(0x17d),'tuuep':function(M,X,G){return M(X,G);},'PpLxI':r(0x177),'FMafc':function(M,X){return M+X;},'BobIx':function(M,X){return M(X);},'JLaFV':function(M,X){return M(X);}};return async function M({name:X,id:G,data:j,user:u}){const k=r,Y=a[k(0x176)](X);E[k(0x163)](assertOperation,Y,E[k(0x182)],u);const g=E[k(0x166)](writableData,Y,j);if(!g[k(0x174)])throw new ValidationError(E[k(0x164)]);if(!n['pg'])throw new Error(k(0x173));const e=g[k(0x17b)](([t],B)=>qi(t)+k(0x168)+(B+0x1)),h=[...g[k(0x17b)](([,t])=>t),G],Z=await n['pg'][k(0x165)](E[k(0x16f)](E[k(0x16f)](E[k(0x16f)](k(0x181)+E[k(0x17f)](qt,Y[k(0x169)])+'\x20',k(0x17e)+e[k(0x16a)](',\x20')+'\x20'),k(0x180)+qi(Y[k(0x161)])+k(0x168)+(g[k(0x174)]+0x1)+'\x20'),k(0x183)+E[k(0x162)](readableFields,Y)[k(0x16a)](',\x20')),h),H=Z[k(0x175)][0x0];if(!H)throw new NotFoundError(X+':'+G);return await n[k(0x17c)]?.[k(0x167)]({'userId':u?.['id'],'module':Y[k(0x171)],'resource':Y[k(0x17a)],'resourceId':G,'action':E[k(0x182)],'fields':Object[k(0x16d)](j)}),H;};}
1
+ function _0x4ffc(){const _0x225c4a=['No\x20writable\x20fields','name','map','module','empty\x20pg','68664fIxRqo','WHERE\x20','RETURNING\x20','table','SET\x20','query','write','get','BzEeJ','3940560tQXKHf','20979dbYJbr','KRsZP','rows','9jOFJtk','2469805BmiSZf','keys','8pOUMbG','UPDATE\x20','kdQOd','update','12LTXfJd','kEXTa','audit','\x20=\x20$','key','1469325CvROHo','6733232fRmTPP','length','882UXZETF','WxIkj','5301410NXEbDW','join','nxmEk'];_0x4ffc=function(){return _0x225c4a;};return _0x4ffc();}(function(_0x425d7a,_0x2b5626){const _0x3f66fb=_0x510b,_0xf3ff29=_0x425d7a();while(!![]){try{const _0x722d06=parseInt(_0x3f66fb(0xa1))/0x1*(-parseInt(_0x3f66fb(0x91))/0x2)+parseInt(_0x3f66fb(0x84))/0x3+-parseInt(_0x3f66fb(0x7f))/0x4*(-parseInt(_0x3f66fb(0x9f))/0x5)+parseInt(_0x3f66fb(0x87))/0x6*(-parseInt(_0x3f66fb(0x9b))/0x7)+-parseInt(_0x3f66fb(0x9a))/0x8+parseInt(_0x3f66fb(0x9e))/0x9*(-parseInt(_0x3f66fb(0x89))/0xa)+parseInt(_0x3f66fb(0x85))/0xb;if(_0x722d06===_0x2b5626)break;else _0xf3ff29['push'](_0xf3ff29['shift']());}catch(_0x384c6f){_0xf3ff29['push'](_0xf3ff29['shift']());}}}(_0x4ffc,0xce814));function _0x510b(_0x4af633,_0x35699d){_0x4af633=_0x4af633-0x7c;const _0x4ffc3e=_0x4ffc();let _0x510b4f=_0x4ffc3e[_0x4af633];return _0x510b4f;}import{NotFoundError,ValidationError}from'../../../errors.js';import{assertOperation}from'../utils/permissions.js';import{qi,qt,readableFields,writableData}from'../utils/sql.js';export function createUpdate(_0x50e3cb,_0x1fb9d3){const _0x579ea1=_0x510b,_0x50289e={'KRsZP':function(_0x453650,_0xdcb4ad,_0x5c72f3,_0x261627){return _0x453650(_0xdcb4ad,_0x5c72f3,_0x261627);},'kdQOd':_0x579ea1(0x7e),'BzEeJ':_0x579ea1(0x8c),'nxmEk':function(_0x35a8d7,_0x5b2932){return _0x35a8d7+_0x5b2932;},'kEXTa':function(_0x59044d,_0x1f4257){return _0x59044d(_0x1f4257);},'WxIkj':function(_0xc853b5,_0x5e4606){return _0xc853b5(_0x5e4606);}};return async function _0x46560a({name:_0x5267b5,id:_0x33fdb4,data:_0x3cb378,user:_0x3563e2}){const _0x5ad279=_0x579ea1,_0x13464d=_0x1fb9d3[_0x5ad279(0x98)](_0x5267b5);_0x50289e[_0x5ad279(0x9c)](assertOperation,_0x13464d,_0x50289e[_0x5ad279(0x7d)],_0x3563e2);const _0x163e21=writableData(_0x13464d,_0x3cb378);if(!_0x163e21[_0x5ad279(0x86)])throw new ValidationError(_0x50289e[_0x5ad279(0x99)]);if(!_0x50e3cb['pg'])throw new Error(_0x5ad279(0x90));const _0x3be3dc=_0x163e21[_0x5ad279(0x8e)](([_0x50b322],_0x215daf)=>qi(_0x50b322)+_0x5ad279(0x82)+(_0x215daf+0x1)),_0x4eb997=[..._0x163e21[_0x5ad279(0x8e)](([,_0x499ee2])=>_0x499ee2),_0x33fdb4],_0x657a63=await _0x50e3cb['pg'][_0x5ad279(0x96)](_0x50289e[_0x5ad279(0x8b)](_0x50289e[_0x5ad279(0x8b)](_0x5ad279(0x7c)+qt(_0x13464d[_0x5ad279(0x94)])+'\x20'+(_0x5ad279(0x95)+_0x3be3dc[_0x5ad279(0x8a)](',\x20')+'\x20'),_0x5ad279(0x92)+_0x50289e[_0x5ad279(0x80)](qi,_0x13464d[_0x5ad279(0x83)])+_0x5ad279(0x82)+_0x50289e[_0x5ad279(0x8b)](_0x163e21[_0x5ad279(0x86)],0x1)+'\x20'),_0x5ad279(0x93)+_0x50289e[_0x5ad279(0x88)](readableFields,_0x13464d)[_0x5ad279(0x8a)](',\x20')),_0x4eb997),_0x51bae4=_0x657a63[_0x5ad279(0x9d)][0x0];if(!_0x51bae4)throw new NotFoundError(_0x5267b5+':'+_0x33fdb4);return await _0x50e3cb[_0x5ad279(0x81)]?.[_0x5ad279(0x97)]({'userId':_0x3563e2?.['id'],'module':_0x13464d[_0x5ad279(0x8f)],'resource':_0x13464d[_0x5ad279(0x8d)],'resourceId':_0x33fdb4,'action':_0x50289e[_0x5ad279(0x7d)],'fields':Object[_0x5ad279(0xa0)](_0x3cb378)}),_0x51bae4;};}
@@ -1 +1 @@
1
- (function(n,a){var G=b,E=n();while(!![]){try{var M=-parseInt(G(0xe8))/0x1+-parseInt(G(0xe0))/0x2*(parseInt(G(0xe7))/0x3)+-parseInt(G(0xe1))/0x4*(parseInt(G(0xe3))/0x5)+-parseInt(G(0xe5))/0x6*(parseInt(G(0xeb))/0x7)+-parseInt(G(0xe4))/0x8+parseInt(G(0xe6))/0x9*(-parseInt(G(0xea))/0xa)+parseInt(G(0xe2))/0xb*(parseInt(G(0xe9))/0xc);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0x4f879));export{readableFields,writableData,fieldColumn}from'./sql.js';function b(n,a){n=n-0xe0;var E=I();var M=E[n];return M;}function I(){var j=['86379mTdpNP','115036yJyMuk','13632GCDtZp','207880VBICtk','49qQsVqe','20DDhmms','155912iwZPMY','21406gTAdMp','35nQoHIS','4490856EqActx','270108YRWMrW','144WDFlkO'];I=function(){return j;};return I();}
1
+ function _0x47ea(){var _0x54c420=['720297sVyWAd','11100130KdXUgr','15714530eyAzFj','734007ejrgPD','5XAvWaG','666744RgUdeC','14RJebKJ','318104diadJY','12fJPxcK','104PFoSTu','849192hydblW','11DWdIqK','3LlaKsJ'];_0x47ea=function(){return _0x54c420;};return _0x47ea();}function _0x30bb(_0x196643,_0x2c9c74){_0x196643=_0x196643-0x77;var _0x47ea78=_0x47ea();var _0x30bb29=_0x47ea78[_0x196643];return _0x30bb29;}(function(_0x16d8ab,_0x44d3bb){var _0x120462=_0x30bb,_0x38ed2a=_0x16d8ab();while(!![]){try{var _0x50d1b1=-parseInt(_0x120462(0x81))/0x1+-parseInt(_0x120462(0x83))/0x2*(parseInt(_0x120462(0x7d))/0x3)+parseInt(_0x120462(0x78))/0x4*(parseInt(_0x120462(0x82))/0x5)+parseInt(_0x120462(0x7b))/0x6*(parseInt(_0x120462(0x77))/0x7)+-parseInt(_0x120462(0x7a))/0x8*(parseInt(_0x120462(0x7e))/0x9)+-parseInt(_0x120462(0x7f))/0xa*(-parseInt(_0x120462(0x7c))/0xb)+parseInt(_0x120462(0x79))/0xc*(parseInt(_0x120462(0x80))/0xd);if(_0x50d1b1===_0x44d3bb)break;else _0x38ed2a['push'](_0x38ed2a['shift']());}catch(_0x5d8d8f){_0x38ed2a['push'](_0x38ed2a['shift']());}}}(_0x47ea,0x8c0a5));export{readableFields,writableData,fieldColumn}from'./sql.js';
@@ -1 +1 @@
1
- (function(n,a){const S=b,E=n();while(!![]){try{const M=-parseInt(S(0x18c))/0x1*(-parseInt(S(0x18b))/0x2)+-parseInt(S(0x175))/0x3*(parseInt(S(0x174))/0x4)+parseInt(S(0x185))/0x5+parseInt(S(0x17b))/0x6*(parseInt(S(0x17d))/0x7)+parseInt(S(0x188))/0x8+parseInt(S(0x18a))/0x9+parseInt(S(0x177))/0xa*(-parseInt(S(0x17e))/0xb);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0xd5aae));import{fieldColumn,qi}from'./sql.js';import{ValidationError}from'../../../errors.js';function b(n,a){n=n-0x173;const E=I();let M=E[n];return M;}export function buildFilters(n,a,E=0x1){const c=b,M={'cDEcv':function(j,u){return j??u;},'YWyuJ':function(j,u){return j!==u;},'jvBoi':function(j,u){return j(u);},'fIsri':function(j,u,Y){return j(u,Y);}},X=[],G=[];for(const [j,u]of Object[c(0x179)](M[c(0x173)](a,{}))){const Y=n[c(0x183)][j];if(!Y||Y[c(0x176)]!==!![]&&M[c(0x186)](Y[c(0x189)],!![]))throw new ValidationError(c(0x178)+j);G[c(0x180)](u),X[c(0x180)](M[c(0x17a)](qi,M[c(0x17c)](fieldColumn,n,j))+c(0x17f)+(E+G[c(0x184)]-0x1));}return{'sql':X[c(0x184)]?c(0x187)+X[c(0x182)](c(0x181)):'','values':G};}function I(){const U=['filter','38583730OFqCQf','Field\x20is\x20not\x20filterable:\x20','entries','jvBoi','18JLUFxH','fIsri','2817003EFnQSn','11XImeTk','\x20=\x20$','push','\x20AND\x20','join','fields','length','4985050yuzaDZ','YWyuJ','\x20WHERE\x20','6785648xJvWCh','filterable','14763132rHYpua','246GniapA','8254lYrshW','cDEcv','216564GlQqfL','54XQnWsB'];I=function(){return U;};return I();}
1
+ function _0x593e(_0x3518ab,_0x5dd91c){_0x3518ab=_0x3518ab-0xb7;const _0x405c56=_0x405c();let _0x593e70=_0x405c56[_0x3518ab];return _0x593e70;}function _0x405c(){const _0x3224e8=['push','54819CMBHBc','Field\x20is\x20not\x20filterable:\x20','\x20=\x20$','75UhJLai','2440FaRlyL','length','6974565kPXmNj','entries','\x20AND\x20','7961864SyCZxi','69640hHzPsU','aJvMY','wVgZc','2890222BPUGfB','216966rJFJqb','filter','fields','77aSieQZ','204745qLNxHc','join','filterable','\x20WHERE\x20','MFqnW','uCEMI'];_0x405c=function(){return _0x3224e8;};return _0x405c();}(function(_0x272311,_0x9a0135){const _0x557621=_0x593e,_0x1453fa=_0x272311();while(!![]){try{const _0x352fab=parseInt(_0x557621(0xcc))/0x1+parseInt(_0x557621(0xc7))/0x2+-parseInt(_0x557621(0xbd))/0x3*(-parseInt(_0x557621(0xc4))/0x4)+-parseInt(_0x557621(0xc0))/0x5+parseInt(_0x557621(0xc8))/0x6*(-parseInt(_0x557621(0xcb))/0x7)+-parseInt(_0x557621(0xc3))/0x8+parseInt(_0x557621(0xba))/0x9*(parseInt(_0x557621(0xbe))/0xa);if(_0x352fab===_0x9a0135)break;else _0x1453fa['push'](_0x1453fa['shift']());}catch(_0x8f0cfa){_0x1453fa['push'](_0x1453fa['shift']());}}}(_0x405c,0xbf421));import{fieldColumn,qi}from'./sql.js';import{ValidationError}from'../../../errors.js';export function buildFilters(_0x27e2ff,_0x1231a3,_0x343539=0x1){const _0x16bef6=_0x593e,_0x38e6b5={'MFqnW':function(_0x9e2da8,_0x3d07c3){return _0x9e2da8??_0x3d07c3;},'uCEMI':function(_0x127377,_0x333f1e,_0x5b117f){return _0x127377(_0x333f1e,_0x5b117f);},'wVgZc':function(_0x56816b,_0x5a3875){return _0x56816b-_0x5a3875;},'aJvMY':_0x16bef6(0xc2)},_0x14d913=[],_0x11ea00=[];for(const [_0x412529,_0x4f3ce4]of Object[_0x16bef6(0xc1)](_0x38e6b5[_0x16bef6(0xb7)](_0x1231a3,{}))){const _0x599483=_0x27e2ff[_0x16bef6(0xca)][_0x412529];if(!_0x599483||_0x599483[_0x16bef6(0xc9)]!==!![]&&_0x599483[_0x16bef6(0xce)]!==!![])throw new ValidationError(_0x16bef6(0xbb)+_0x412529);_0x11ea00[_0x16bef6(0xb9)](_0x4f3ce4),_0x14d913[_0x16bef6(0xb9)](qi(_0x38e6b5[_0x16bef6(0xb8)](fieldColumn,_0x27e2ff,_0x412529))+_0x16bef6(0xbc)+_0x38e6b5[_0x16bef6(0xc6)](_0x343539+_0x11ea00[_0x16bef6(0xbf)],0x1));}return{'sql':_0x14d913[_0x16bef6(0xbf)]?_0x16bef6(0xcf)+_0x14d913[_0x16bef6(0xcd)](_0x38e6b5[_0x16bef6(0xc5)]):'','values':_0x11ea00};}
@@ -1 +1 @@
1
- (function(n,a){const O=b,E=n();while(!![]){try{const M=-parseInt(O(0xdc))/0x1+parseInt(O(0xe7))/0x2+parseInt(O(0xeb))/0x3*(parseInt(O(0xe6))/0x4)+parseInt(O(0xf3))/0x5*(-parseInt(O(0xed))/0x6)+parseInt(O(0xdd))/0x7*(-parseInt(O(0xe3))/0x8)+parseInt(O(0xf0))/0x9+-parseInt(O(0xec))/0xa*(-parseInt(O(0xee))/0xb);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0xc724d));function I(){const K=['66190rVpqLZ','access','Authentication\x20required','public','admin','operations','includes','\x20is\x20disabled','664687pJPQHq','2810423CnZRSS','GUKZn','JzMHN','fAWhL','name','klXIa','8pysjRI','Admin\x20access\x20required','type','4NUTxtB','2210316JEDXGJ','permission','KXARt','cHfVv','375042ymQJIl','10vKkNdJ','456bbzdnM','13909874cnaxHH','permissions','3539259qgHpem','Missing\x20permission:\x20','sIyVm'];I=function(){return K;};return I();}function b(n,a){n=n-0xdb;const E=I();let M=E[n];return M;}import{ForbiddenError}from'../../../errors.js';export function assertOperation(a,E,M){const q=b,X={};X[q(0xea)]=function(j,u){return j!==u;},X[q(0xe9)]=q(0xf6),X[q(0xde)]=function(j,u){return j===u;},X[q(0xdf)]=q(0xf5),X[q(0xe0)]=function(j,u){return j===u;},X[q(0xf2)]=q(0xf7),X[q(0xe2)]=q(0xe4);const G=X;if(!a[q(0xf8)][q(0xf9)](E))throw new ForbiddenError(a[q(0xe1)]+'.'+E+q(0xdb));if(G[q(0xea)](a[q(0xf4)],G[q(0xe9)])&&G[q(0xde)](M,undefined))throw new ForbiddenError(G[q(0xdf)]);if(G[q(0xe0)](a[q(0xf4)],G[q(0xf2)])&&M?.[q(0xe5)]!==G[q(0xf2)])throw new ForbiddenError(G[q(0xe2)]);if(G[q(0xea)](M?.[q(0xe5)],q(0xf7))){const j=(a[q(0xe8)]??a[q(0xe1)])+':'+E;if(!M?.[q(0xef)]?.[q(0xf9)](j))throw new ForbiddenError(q(0xf1)+j);}}
1
+ (function(_0x343859,_0x2a062f){const _0x401000=_0x3712,_0x27779d=_0x343859();while(!![]){try{const _0x4cd70f=-parseInt(_0x401000(0x108))/0x1*(-parseInt(_0x401000(0x11b))/0x2)+-parseInt(_0x401000(0x10a))/0x3*(-parseInt(_0x401000(0x120))/0x4)+parseInt(_0x401000(0x119))/0x5*(parseInt(_0x401000(0x11e))/0x6)+-parseInt(_0x401000(0x11c))/0x7+parseInt(_0x401000(0x122))/0x8*(parseInt(_0x401000(0x10f))/0x9)+-parseInt(_0x401000(0x121))/0xa*(-parseInt(_0x401000(0x11f))/0xb)+-parseInt(_0x401000(0x116))/0xc;if(_0x4cd70f===_0x2a062f)break;else _0x27779d['push'](_0x27779d['shift']());}catch(_0x2b2685){_0x27779d['push'](_0x27779d['shift']());}}}(_0x551c,0x5ba7f));function _0x3712(_0x3b9820,_0x1a1349){_0x3b9820=_0x3b9820-0x108;const _0x551cfb=_0x551c();let _0x371269=_0x551cfb[_0x3b9820];return _0x371269;}import{ForbiddenError}from'../../../errors.js';export function assertOperation(_0x32e34f,_0x44f39a,_0x282ef9){const _0x259101=_0x3712,_0xe559e8={};_0xe559e8[_0x259101(0x10b)]=function(_0x1a203b,_0xa06d42){return _0x1a203b!==_0xa06d42;},_0xe559e8[_0x259101(0x125)]=_0x259101(0x10d),_0xe559e8[_0x259101(0x123)]=_0x259101(0x111),_0xe559e8[_0x259101(0x10e)]=function(_0x5dfe2f,_0x243e9d){return _0x5dfe2f===_0x243e9d;},_0xe559e8[_0x259101(0x114)]=_0x259101(0x110),_0xe559e8[_0x259101(0x124)]=_0x259101(0x11a);const _0x28d4f7=_0xe559e8;if(!_0x32e34f[_0x259101(0x115)][_0x259101(0x113)](_0x44f39a))throw new ForbiddenError(_0x32e34f[_0x259101(0x112)]+'.'+_0x44f39a+_0x259101(0x11d));if(_0x28d4f7[_0x259101(0x10b)](_0x32e34f[_0x259101(0x109)],_0x28d4f7[_0x259101(0x125)])&&_0x282ef9===undefined)throw new ForbiddenError(_0x28d4f7[_0x259101(0x123)]);if(_0x28d4f7[_0x259101(0x10e)](_0x32e34f[_0x259101(0x109)],_0x259101(0x110))&&_0x28d4f7[_0x259101(0x10b)](_0x282ef9?.[_0x259101(0x117)],_0x28d4f7[_0x259101(0x114)]))throw new ForbiddenError(_0x28d4f7[_0x259101(0x124)]);if(_0x282ef9?.[_0x259101(0x117)]!==_0x28d4f7[_0x259101(0x114)]){const _0x1ac1ec=(_0x32e34f[_0x259101(0x118)]??_0x32e34f[_0x259101(0x112)])+':'+_0x44f39a;if(!_0x282ef9?.[_0x259101(0x126)]?.[_0x259101(0x113)](_0x1ac1ec))throw new ForbiddenError(_0x259101(0x10c)+_0x1ac1ec);}}function _0x551c(){const _0x43136b=['EnTqo','Missing\x20permission:\x20','public','VtowG','333pEUqzj','admin','Authentication\x20required','name','includes','uaVWK','operations','23464932WAtzbX','type','permission','5wbQiyL','Admin\x20access\x20required','1007186cQbgrc','456708ohKSqq','\x20is\x20disabled','1449066AzmEIv','22yzQzeD','8mSQXSX','2570180oghNoF','119728kiMokh','VvybY','QGCPN','oEogT','permissions','1EYiKSI','access','874794piHnbE'];_0x551c=function(){return _0x43136b;};return _0x551c();}
@@ -1 +1 @@
1
- (function(n,a){const m=b,E=n();while(!![]){try{const M=parseInt(m(0x14b))/0x1+-parseInt(m(0x147))/0x2+parseInt(m(0x14f))/0x3+-parseInt(m(0x14a))/0x4+parseInt(m(0x144))/0x5+parseInt(m(0x142))/0x6*(parseInt(m(0x14c))/0x7)+parseInt(m(0x158))/0x8*(-parseInt(m(0x156))/0x9);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0x57c8f));function b(n,a){n=n-0x142;const E=I();let M=E[n];return M;}import{fieldColumn,qi}from'./sql.js';import{ValidationError}from'../../../errors.js';export function buildSort(n,a){const T=b,E={'qorcx':function(X,G){return X!==G;},'jWQdJ':function(X,G){return X(G);},'dPvwC':function(X,G,j){return X(G,j);}};if(!a?.[T(0x151)])return'';const M=a[T(0x153)](X=>{const y=T,G=X[y(0x14d)]('-'),j=G?X[y(0x159)](0x1):X,u=n[y(0x14e)][j];if(!u||E[y(0x149)](u[y(0x146)],!![])&&E[y(0x149)](u[y(0x148)],!![]))throw new ValidationError(y(0x157)+j);return E[y(0x145)](qi,E[y(0x155)](fieldColumn,n,j))+'\x20'+(G?y(0x150):y(0x154));});return T(0x152)+M[T(0x143)](',\x20');}function I(){const s=['Field\x20is\x20not\x20sortable:\x20','3702328LtQizL','slice','201642EGMwSw','join','3160545CipAaz','jWQdJ','sort','234568kvNKlI','sortable','qorcx','1642072cHnsGs','279974INTucW','14vQADyf','startsWith','fields','1112589iWDbKg','DESC','length','\x20ORDER\x20BY\x20','map','ASC','dPvwC','9JTPRoC'];I=function(){return s;};return I();}
1
+ (function(_0x2b492,_0x3dd408){const _0x2e5973=_0x5caa,_0x4960e4=_0x2b492();while(!![]){try{const _0x401af6=parseInt(_0x2e5973(0x16a))/0x1*(-parseInt(_0x2e5973(0x168))/0x2)+-parseInt(_0x2e5973(0x16f))/0x3*(parseInt(_0x2e5973(0x166))/0x4)+-parseInt(_0x2e5973(0x178))/0x5*(parseInt(_0x2e5973(0x165))/0x6)+-parseInt(_0x2e5973(0x162))/0x7*(-parseInt(_0x2e5973(0x179))/0x8)+parseInt(_0x2e5973(0x160))/0x9*(parseInt(_0x2e5973(0x164))/0xa)+parseInt(_0x2e5973(0x174))/0xb+-parseInt(_0x2e5973(0x175))/0xc*(-parseInt(_0x2e5973(0x171))/0xd);if(_0x401af6===_0x3dd408)break;else _0x4960e4['push'](_0x4960e4['shift']());}catch(_0x517d2b){_0x4960e4['push'](_0x4960e4['shift']());}}}(_0x5776,0xa1232));function _0x5caa(_0x915cc2,_0x1327c9){_0x915cc2=_0x915cc2-0x15f;const _0x5776d4=_0x5776();let _0x5caaa4=_0x5776d4[_0x915cc2];return _0x5caaa4;}import{fieldColumn,qi}from'./sql.js';function _0x5776(){const _0x21601b=['4XtdaZf','slice','76GEipkw','startsWith','19813xtzLlc','map','sortable','gIGMZ','\x20ORDER\x20BY\x20','3599934wmzKmt','sort','26ThRguv','fields','length','11096261eiEMZd','2194344iBHNHU','DESC','ASC','365NeJYmi','5067432iPgymG','join','378secqOW','yJIvS','14PJHqfo','Field\x20is\x20not\x20sortable:\x20','232720DbAXmW','82674lnBbkV'];_0x5776=function(){return _0x21601b;};return _0x5776();}import{ValidationError}from'../../../errors.js';export function buildSort(_0x220b0d,_0x20f902){const _0x228e63=_0x5caa,_0xd31ddf={'gIGMZ':function(_0x497f61,_0x45c34b){return _0x497f61!==_0x45c34b;},'yJIvS':function(_0x570cf3,_0x1fa054,_0x36c1a6){return _0x570cf3(_0x1fa054,_0x36c1a6);}};if(!_0x20f902?.[_0x228e63(0x173)])return'';const _0x179624=_0x20f902[_0x228e63(0x16b)](_0x4c1212=>{const _0x56d067=_0x228e63,_0x28b682=_0x4c1212[_0x56d067(0x169)]('-'),_0x1e732e=_0x28b682?_0x4c1212[_0x56d067(0x167)](0x1):_0x4c1212,_0x3e260d=_0x220b0d[_0x56d067(0x172)][_0x1e732e];if(!_0x3e260d||_0xd31ddf[_0x56d067(0x16d)](_0x3e260d[_0x56d067(0x170)],!![])&&_0x3e260d[_0x56d067(0x16c)]!==!![])throw new ValidationError(_0x56d067(0x163)+_0x1e732e);return qi(_0xd31ddf[_0x56d067(0x161)](fieldColumn,_0x220b0d,_0x1e732e))+'\x20'+(_0x28b682?_0x56d067(0x176):_0x56d067(0x177));});return _0x228e63(0x16e)+_0x179624[_0x228e63(0x15f)](',\x20');}
@@ -1 +1 @@
1
- function b(n,a){n=n-0x15a;const E=I();let M=E[n];return M;}const J=b;function I(){const s=['LOuDA','fields','column','4610646TQyizb','filter','read','write','unshift','entries','1784466VxWwng','writable','1777800AOSVYW','74714IiaMMQ','30797jnFmVr','Field\x20is\x20not\x20writable:\x20','39rslQNA','Dvoda','RSGFm','2305264CDcwma','readable','replace','Unknown\x20field:\x20','push','split','11975JoFMff','join','key','\x20AS\x20','7QSQmts','map','400eWkyHZ'];I=function(){return s;};return I();}(function(n,a){const P=b,E=n();while(!![]){try{const M=-parseInt(P(0x162))/0x1+-parseInt(P(0x161))/0x2*(parseInt(P(0x164))/0x3)+-parseInt(P(0x173))/0x4*(-parseInt(P(0x16d))/0x5)+parseInt(P(0x177))/0x6+parseInt(P(0x171))/0x7*(parseInt(P(0x167))/0x8)+-parseInt(P(0x15e))/0x9+-parseInt(P(0x160))/0xa;if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0x62897));import{ValidationError}from'../../../errors.js';export const quoteIdentifier=n=>'\x22'+n[J(0x169)](/"/g,'\x22\x22')+'\x22';export const quoteTable=n=>n[J(0x16c)]('.')[J(0x172)](quoteIdentifier)[J(0x16e)]('.');export function fieldColumn(n,a){const m=J;if(a===n[m(0x16f)])return n[m(0x16f)];const E=n[m(0x175)][a];if(!E)throw new ValidationError(m(0x16a)+a);return E[m(0x176)]??a;}export function readableFields(n){const T=J,a={'LOuDA':function(M,X){return M(X);}},E=Object[T(0x15d)](n[T(0x175)])[T(0x178)](([,M])=>M[T(0x15a)]!==![]&&M[T(0x168)]!==![])[T(0x172)](([M,X])=>quoteIdentifier(X[T(0x176)]??M)+T(0x170)+quoteIdentifier(M));return!n[T(0x175)][n[T(0x16f)]]&&E[T(0x15c)](a[T(0x174)](quoteIdentifier,n[T(0x16f)])),E;}export function writableData(a,E){const y=J,M={};M[y(0x165)]=function(j,u){return j===u;},M[y(0x166)]=function(j,u){return j===u;};const X=M,G=[];for(const [j,u]of Object[y(0x15d)](E)){const Y=a[y(0x175)][j];if(!Y||X[y(0x165)](Y[y(0x15b)],![])||X[y(0x166)](Y[y(0x15f)],![]))throw new ValidationError(y(0x163)+j);G[y(0x16b)]([Y[y(0x176)]??j,u]);}return G;}export const qi=quoteIdentifier;export const qt=quoteTable;
1
+ const _0x24f37e=_0x24b7;(function(_0x3e2eb4,_0x19d75f){const _0x4cc894=_0x24b7,_0x1ce041=_0x3e2eb4();while(!![]){try{const _0x491c0a=parseInt(_0x4cc894(0x9e))/0x1*(parseInt(_0x4cc894(0x9c))/0x2)+parseInt(_0x4cc894(0x7c))/0x3+-parseInt(_0x4cc894(0x9d))/0x4+-parseInt(_0x4cc894(0x85))/0x5+-parseInt(_0x4cc894(0x88))/0x6*(-parseInt(_0x4cc894(0x75))/0x7)+parseInt(_0x4cc894(0x9b))/0x8*(-parseInt(_0x4cc894(0x80))/0x9)+parseInt(_0x4cc894(0x83))/0xa;if(_0x491c0a===_0x19d75f)break;else _0x1ce041['push'](_0x1ce041['shift']());}catch(_0x38a5bf){_0x1ce041['push'](_0x1ce041['shift']());}}}(_0xf91d,0x9e65a));import{ValidationError}from'../../../errors.js';function _0x24b7(_0x542d31,_0x1c32e1){_0x542d31=_0x542d31-0x75;const _0xf91d0d=_0xf91d();let _0x24b767=_0xf91d0d[_0x542d31];return _0x24b767;}export const quoteIdentifier=_0x3f0244=>'\x22'+_0x3f0244[_0x24f37e(0x92)](/"/g,'\x22\x22')+'\x22';export const quoteTable=_0x4f7474=>_0x4f7474[_0x24f37e(0x77)]('.')[_0x24f37e(0x89)](quoteIdentifier)[_0x24f37e(0xa0)]('.');export function fieldColumn(_0x191889,_0x130db2){const _0x36af74=_0x24f37e,_0x2b6f1a={};_0x2b6f1a[_0x36af74(0x87)]=function(_0x4402e6,_0x281ff7){return _0x4402e6===_0x281ff7;},_0x2b6f1a[_0x36af74(0x7d)]=function(_0x3692e6,_0x2ad71e){return _0x3692e6!==_0x2ad71e;},_0x2b6f1a[_0x36af74(0x8f)]=_0x36af74(0x8d),_0x2b6f1a[_0x36af74(0x91)]=function(_0x5090bf,_0x41bc4c){return _0x5090bf!==_0x41bc4c;},_0x2b6f1a[_0x36af74(0x94)]=_0x36af74(0x8a);const _0x1e0306=_0x2b6f1a;if(_0x1e0306[_0x36af74(0x87)](_0x130db2,_0x191889[_0x36af74(0x78)])){if(_0x1e0306[_0x36af74(0x7d)](_0x1e0306[_0x36af74(0x8f)],_0x1e0306[_0x36af74(0x8f)])){const _0x2dcc94=[];for(const [_0x16626f,_0x25ee96]of _0x408edc[_0x36af74(0x96)](_0x2f0bd0)){const _0x28f20e=_0x262736[_0x36af74(0x90)][_0x16626f];if(!_0x28f20e||_0x28f20e[_0x36af74(0x7b)]===![]||_0x1e0306[_0x36af74(0x87)](_0x28f20e[_0x36af74(0x84)],![]))throw new _0x4f6ec8(_0x36af74(0x97)+_0x16626f);_0x2dcc94[_0x36af74(0x7f)]([_0x28f20e[_0x36af74(0x8b)]??_0x16626f,_0x25ee96]);}return _0x2dcc94;}else return _0x191889[_0x36af74(0x78)];}const _0x4457d2=_0x191889[_0x36af74(0x90)][_0x130db2];if(!_0x4457d2){if(_0x1e0306[_0x36af74(0x91)](_0x1e0306[_0x36af74(0x94)],_0x36af74(0x8a)))throw new _0x41e147(_0x36af74(0x93)+_0x15ccf6);else throw new ValidationError(_0x36af74(0x93)+_0x130db2);}return _0x4457d2[_0x36af74(0x8b)]??_0x130db2;}function _0xf91d(){const _0x56a962=['504hrLxhs','map','JLhcI','column','XiftU','fanWe','read','tOvOE','fields','KngqN','replace','Unknown\x20field:\x20','DRAPz','EwZqQ','entries','Field\x20is\x20not\x20writable:\x20','dRBgj','LWdfx','unshift','16zTHfmK','12JAZRiF','2309248MRNtzt','2653TVPNTL','readable','join','83363RXntiT','TKMQW','split','key','filter','HiLdQ','write','3870198IWSHKZ','HzNOj','msMVq','push','2463732xXpPJg','\x20AS\x20','SKoFj','3496610MTBQYp','writable','4411995UhIojv','PJxEE','fbeXK'];_0xf91d=function(){return _0x56a962;};return _0xf91d();}export function readableFields(_0x307a33){const _0x47300f=_0x24f37e,_0x5ead5a={'PJxEE':function(_0x2cdfcc,_0x43a84e){return _0x2cdfcc(_0x43a84e);}},_0x30e664=Object[_0x47300f(0x96)](_0x307a33[_0x47300f(0x90)])[_0x47300f(0x79)](([,_0x8ed2f4])=>_0x8ed2f4[_0x47300f(0x8e)]!==![]&&_0x8ed2f4[_0x47300f(0x9f)]!==![])[_0x47300f(0x89)](([_0x24c8e8,_0x411135])=>quoteIdentifier(_0x411135[_0x47300f(0x8b)]??_0x24c8e8)+_0x47300f(0x81)+quoteIdentifier(_0x24c8e8));return!_0x307a33[_0x47300f(0x90)][_0x307a33[_0x47300f(0x78)]]&&_0x30e664[_0x47300f(0x9a)](_0x5ead5a[_0x47300f(0x86)](quoteIdentifier,_0x307a33[_0x47300f(0x78)])),_0x30e664;}export function writableData(_0x419b7c,_0x1e824f){const _0x4495e2=_0x24f37e,_0xfe53f6={};_0xfe53f6[_0x4495e2(0x98)]=_0x4495e2(0x8c),_0xfe53f6[_0x4495e2(0x82)]=function(_0x4715fa,_0x710583){return _0x4715fa===_0x710583;},_0xfe53f6[_0x4495e2(0x99)]=function(_0x58a0d5,_0xe23781){return _0x58a0d5!==_0xe23781;},_0xfe53f6[_0x4495e2(0x76)]=_0x4495e2(0x7a),_0xfe53f6[_0x4495e2(0x7e)]=_0x4495e2(0x95);const _0x10f55a=_0xfe53f6,_0x3262a1=[];for(const [_0x3be011,_0x2c2f6a]of Object[_0x4495e2(0x96)](_0x1e824f)){if(_0x10f55a[_0x4495e2(0x98)]!==_0x4495e2(0x8c))return _0x36a2f3[_0x4495e2(0x78)];else{const _0x1db8a1=_0x419b7c[_0x4495e2(0x90)][_0x3be011];if(!_0x1db8a1||_0x1db8a1[_0x4495e2(0x7b)]===![]||_0x10f55a[_0x4495e2(0x82)](_0x1db8a1[_0x4495e2(0x84)],![])){if(_0x10f55a[_0x4495e2(0x99)](_0x10f55a[_0x4495e2(0x76)],_0x10f55a[_0x4495e2(0x7e)]))throw new ValidationError(_0x4495e2(0x97)+_0x3be011);else throw new _0x289c01(_0x4495e2(0x97)+_0x2218eb);}_0x3262a1[_0x4495e2(0x7f)]([_0x1db8a1[_0x4495e2(0x8b)]??_0x3be011,_0x2c2f6a]);}}return _0x3262a1;}export const qi=quoteIdentifier;export const qt=quoteTable;
@@ -1 +1 @@
1
- function b(n,a){n=n-0x95;const E=I();let M=E[n];return M;}const j=b;(function(n,a){const G=b,E=n();while(!![]){try{const M=parseInt(G(0xa3))/0x1+-parseInt(G(0xa1))/0x2*(-parseInt(G(0xa5))/0x3)+parseInt(G(0xa0))/0x4*(-parseInt(G(0x99))/0x5)+-parseInt(G(0x95))/0x6*(parseInt(G(0x98))/0x7)+parseInt(G(0x9d))/0x8*(parseInt(G(0xa6))/0x9)+parseInt(G(0x9a))/0xa*(parseInt(G(0x9b))/0xb)+-parseInt(G(0xa8))/0xc*(parseInt(G(0xa4))/0xd);if(M===a)break;else E['push'](E['shift']());}catch(X){E['push'](E['shift']());}}}(I,0xc62fd));function I(){const u=['pop','x-forwarded-for','82047QABZUF','134565epUFPD','10IbdDak','601931fXMUwG','x-real-ip','21448TIvyvH','headers','remoteAddress','12YxDIvk','2uUqBWK','connection','1544730gJigSQ','17074759XCMocw','642822xSYLIS','5094murhGY','split','12UfZfOq','576YvslMw'];I=function(){return u;};return I();}const getIP=n=>(n[j(0x9e)]?.[j(0x9c)]||n[j(0x9e)]?.[j(0x97)]||n['ip']||n[j(0xa2)]?.[j(0x9f)]||'')[j(0xa7)](':')[j(0x96)]();export default getIP;
1
+ const _0x3e856a=_0x34b9;function _0x34b9(_0x5d1275,_0x5ab6bc){_0x5d1275=_0x5d1275-0x122;const _0xdbca20=_0xdbca();let _0x34b9d9=_0xdbca20[_0x5d1275];return _0x34b9d9;}(function(_0xf68e46,_0x55984f){const _0x44adb5=_0x34b9,_0x2d6e21=_0xf68e46();while(!![]){try{const _0x517092=-parseInt(_0x44adb5(0x12d))/0x1+-parseInt(_0x44adb5(0x126))/0x2+parseInt(_0x44adb5(0x122))/0x3+parseInt(_0x44adb5(0x12c))/0x4*(parseInt(_0x44adb5(0x123))/0x5)+parseInt(_0x44adb5(0x129))/0x6*(-parseInt(_0x44adb5(0x132))/0x7)+parseInt(_0x44adb5(0x131))/0x8+parseInt(_0x44adb5(0x12b))/0x9*(-parseInt(_0x44adb5(0x130))/0xa);if(_0x517092===_0x55984f)break;else _0x2d6e21['push'](_0x2d6e21['shift']());}catch(_0x47d873){_0x2d6e21['push'](_0x2d6e21['shift']());}}}(_0xdbca,0x3f305));const getIP=_0x439f1a=>(_0x439f1a[_0x3e856a(0x128)]?.[_0x3e856a(0x124)]||_0x439f1a[_0x3e856a(0x128)]?.[_0x3e856a(0x12a)]||_0x439f1a['ip']||_0x439f1a[_0x3e856a(0x12e)]?.[_0x3e856a(0x125)]||'')[_0x3e856a(0x127)](':')[_0x3e856a(0x12f)]();export default getIP;function _0xdbca(){const _0x4bb4a7=['5qHdoSk','x-real-ip','remoteAddress','196932PjoWAi','split','headers','67692DlFxco','x-forwarded-for','1508652zVpRzQ','1647964cXaHOL','66562UvudAv','connection','pop','20mkbLxn','574264tddOSk','28Vchpjd','961377TXfBrG'];_0xdbca=function(){return _0x4bb4a7;};return _0xdbca();}
package/dist/type.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import type { FastifySchema } from "fastify";
2
+ /** Рівень доступу до HTTP API-маршруту. */
3
+ export type RouteAccess = "public" | "user" | "admin";
4
+ /** Декларація права у форматі `ресурс:дія`; перевірка прав тимчасово не активна. */
5
+ export type RoutePermission = `${string}:${string}`;
6
+ type AccessMetadata = {
7
+ /** Групи маршруту для OpenAPI/Swagger. */
8
+ tags: string[];
9
+ /** Код пакета, якому належить маршрут. */
10
+ package: string;
11
+ /** Короткий заголовок операції в OpenAPI/Swagger. */
12
+ summary: string;
13
+ /** Розгорнутий опис операції в OpenAPI/Swagger. */
14
+ description: string;
15
+ /** Активний рівень доступу: `public`, `user` або `admin`. */
16
+ access: RouteAccess;
17
+ /** Декларація потрібних прав; їхня runtime-валідація та перевірка тимчасово не активні. */
18
+ permissions: RoutePermission[];
19
+ };
20
+ /** Повна схема Fastify і метадані маршруту API. */
21
+ export type ApiRouteSchema = FastifySchema & AccessMetadata;
22
+ export {};
23
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AACtD,oFAAoF;AACpF,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAGpD,KAAK,cAAc,GAAG;IACpB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC"}
package/dist/type.js ADDED
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,256 @@
1
+ CREATE EXTENSION IF NOT EXISTS pgcrypto;
2
+
3
+ CREATE OR REPLACE FUNCTION next_id() RETURNS text
4
+ LANGUAGE sql
5
+ AS $$
6
+ SELECT encode(gen_random_bytes(6), 'hex')::text
7
+ $$;
8
+
9
+ CREATE SCHEMA IF NOT EXISTS admin;
10
+
11
+
12
+ CREATE TABLE IF NOT EXISTS admin.users (
13
+ uid text PRIMARY KEY DEFAULT next_id(),
14
+ login text,
15
+ password text NOT NULL DEFAULT '',
16
+ first_name text,
17
+ middle_name text,
18
+ last_name text,
19
+ email text,
20
+ phone text,
21
+ avatar text,
22
+ enabled boolean DEFAULT true,
23
+ user_personal_code text,
24
+ last_activity_date timestamptz,
25
+ user_type text NOT NULL DEFAULT 'regular',
26
+ salt text,
27
+ created_by text,
28
+ updated_by text,
29
+ created_at timestamp NOT NULL DEFAULT now(),
30
+ updated_at timestamp NOT NULL DEFAULT now(),
31
+ twofa boolean NOT NULL DEFAULT false,
32
+ UNIQUE (user_personal_code)
33
+ );
34
+
35
+ CREATE TABLE IF NOT EXISTS admin.user_auth_providers (
36
+ id text PRIMARY KEY DEFAULT next_id(),
37
+
38
+ uid text NOT NULL
39
+ REFERENCES admin.users(uid)
40
+ ON DELETE CASCADE,
41
+
42
+ provider text NOT NULL,
43
+ provider_user_id text NOT NULL,
44
+ user_code text,
45
+
46
+ email text,
47
+ username text,
48
+
49
+ data jsonb NOT NULL DEFAULT '{}'::jsonb,
50
+
51
+ enabled boolean NOT NULL DEFAULT true,
52
+
53
+ created_at timestamptz NOT NULL DEFAULT now(),
54
+ updated_at timestamptz NOT NULL DEFAULT now()
55
+ );
56
+
57
+ COMMENT ON TABLE admin.user_auth_providers IS
58
+ 'External authentication providers linked to users';
59
+
60
+ COMMENT ON COLUMN admin.user_auth_providers.provider IS
61
+ 'Authentication provider: google, microsoft, apple, facebook, telegram, oidc, etc.';
62
+
63
+ COMMENT ON COLUMN admin.user_auth_providers.provider_user_id IS
64
+ 'Stable unique user identifier returned by the provider (e.g. OIDC sub)';
65
+
66
+ COMMENT ON COLUMN admin.user_auth_providers.user_code IS
67
+ 'Optional external user code/login used by the provider or external system';
68
+
69
+ COMMENT ON COLUMN admin.user_auth_providers.data IS
70
+ 'Additional provider-specific user metadata';
71
+
72
+
73
+ CREATE UNIQUE INDEX IF NOT EXISTS user_auth_providers_provider_user_uidx
74
+ ON admin.user_auth_providers (provider, provider_user_id);
75
+
76
+ CREATE UNIQUE INDEX IF NOT EXISTS user_auth_providers_uid_provider_uidx
77
+ ON admin.user_auth_providers (uid, provider);
78
+
79
+ CREATE INDEX IF NOT EXISTS user_auth_providers_uid_idx
80
+ ON admin.user_auth_providers (uid);
81
+
82
+ CREATE INDEX IF NOT EXISTS user_auth_providers_user_code_idx
83
+ ON admin.user_auth_providers (user_code);
84
+
85
+
86
+ CREATE TABLE IF NOT EXISTS admin.roles (
87
+ role_id text PRIMARY KEY DEFAULT next_id(),
88
+ name text,
89
+ enabled boolean,
90
+ info text,
91
+ crea timestamptz DEFAULT date_trunc('seconds', now())
92
+ );
93
+
94
+ CREATE TABLE IF NOT EXISTS admin.user_roles (
95
+ ugr_id text PRIMARY KEY DEFAULT next_id(),
96
+ user_uid text NOT NULL REFERENCES admin.users(uid),
97
+ role_id text NOT NULL REFERENCES admin.roles(role_id),
98
+ expiration date,
99
+ actions text[],
100
+
101
+ created_by text,
102
+ updated_by text,
103
+ created_at timestamp NOT NULL DEFAULT now(),
104
+ updated_at timestamp NOT NULL DEFAULT now(),
105
+ UNIQUE (user_uid, role_id)
106
+ );
107
+
108
+ CREATE TABLE IF NOT EXISTS admin.role_access (
109
+ access_id text PRIMARY KEY DEFAULT next_id(),
110
+ route_id text NOT NULL,
111
+ role_id text REFERENCES admin.roles(role_id),
112
+ user_uid text,
113
+ scope text,
114
+ actions text[],
115
+ resource_id text,
116
+
117
+ created_by text,
118
+ updated_by text,
119
+ created_at timestamp NOT NULL DEFAULT now(),
120
+ updated_at timestamp NOT NULL DEFAULT now(),
121
+ UNIQUE (route_id, user_uid, role_id)
122
+ );
123
+
124
+
125
+ CREATE TABLE IF NOT EXISTS admin.dictionaries (
126
+ id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
127
+ code varchar(100) NOT NULL UNIQUE,
128
+ name varchar(255) NOT NULL,
129
+ module varchar(50),
130
+ description text,
131
+ source text NOT NULL DEFAULT 'git' CHECK (source IN ('git', 'custom')),
132
+ editable boolean NOT NULL DEFAULT false,
133
+ system boolean NOT NULL DEFAULT false,
134
+ created_by text,
135
+ updated_by text,
136
+ created_at timestamp NOT NULL DEFAULT now(),
137
+ updated_at timestamp NOT NULL DEFAULT now()
138
+ );
139
+
140
+ CREATE TABLE IF NOT EXISTS admin.dictionary_items (
141
+ id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
142
+ dictionary_id uuid NOT NULL REFERENCES admin.dictionaries(id) ON DELETE CASCADE,
143
+ code varchar(100) NOT NULL,
144
+ name varchar(255) NOT NULL,
145
+ description text,
146
+ color varchar(20),
147
+ icon varchar(50),
148
+ sort_order integer,
149
+ parent_id uuid REFERENCES admin.dictionary_items(id),
150
+ active boolean NOT NULL DEFAULT true,
151
+ system boolean NOT NULL DEFAULT false,
152
+ metadata jsonb,
153
+ created_at timestamp NOT NULL DEFAULT now(),
154
+ updated_at timestamp NOT NULL DEFAULT now(),
155
+ UNIQUE (dictionary_id, code)
156
+ );
157
+
158
+
159
+ CREATE TABLE IF NOT EXISTS admin.notes (
160
+ note_id text PRIMARY KEY DEFAULT next_id(),
161
+ resource text NOT NULL,
162
+ resource_id text NOT NULL,
163
+ body text NOT NULL,
164
+ created_by text,
165
+ created_at timestamptz DEFAULT now(),
166
+ updated_by text,
167
+ updated_at timestamptz DEFAULT now()
168
+ );
169
+
170
+ CREATE INDEX IF NOT EXISTS admin_notes_resource_idx ON admin.notes(resource, resource_id);
171
+ CREATE INDEX IF NOT EXISTS admin_notes_uid_idx ON admin.notes(created_by);
172
+
173
+ CREATE TABLE IF NOT EXISTS admin.files (
174
+ file_id text PRIMARY KEY DEFAULT next_id(),
175
+ resource text,
176
+ resource_id text,
177
+ uploaded_name text,
178
+ file_type text,
179
+ file_status numeric,
180
+ file_name text,
181
+ size numeric,
182
+ ext text,
183
+ tags text[],
184
+ file_path text,
185
+ verified boolean DEFAULT false,
186
+ resized boolean,
187
+ created_by text,
188
+ created_at timestamptz DEFAULT now(),
189
+ updated_by text,
190
+ updated_at timestamptz default now()
191
+ );
192
+
193
+ CREATE TABLE IF NOT EXISTS admin.settings (
194
+ id text PRIMARY KEY DEFAULT next_id(),
195
+
196
+ resource text NOT NULL DEFAULT 'system',
197
+ resource_id text,
198
+
199
+ key text NOT NULL,
200
+ value jsonb,
201
+
202
+ updated_by text,
203
+ updated_at timestamptz NOT NULL DEFAULT now(),
204
+ created_by text,
205
+ created_at timestamptz NOT NULL DEFAULT now()
206
+ );
207
+
208
+ CREATE UNIQUE INDEX IF NOT EXISTS settings_resource_key_uidx
209
+ ON admin.settings (resource, resource_id, key)
210
+ NULLS NOT DISTINCT;
211
+
212
+ CREATE INDEX IF NOT EXISTS settings_resource_idx
213
+ ON admin.settings (resource, resource_id);
214
+
215
+ COMMENT ON TABLE admin.settings IS
216
+ 'Application settings linked to a resource or system';
217
+
218
+ COMMENT ON COLUMN admin.settings.resource IS
219
+ 'Resource type, e.g. system, user, organization';
220
+
221
+ COMMENT ON COLUMN admin.settings.resource_id IS
222
+ 'Resource identifier; NULL for resource-level or system settings';
223
+
224
+ COMMENT ON COLUMN admin.settings.key IS
225
+ 'Setting key using dot notation, e.g. map.position.x';
226
+
227
+ COMMENT ON COLUMN admin.settings.value IS
228
+ 'Setting value stored as JSONB';
229
+
230
+ CREATE TABLE IF NOT EXISTS admin.audit_log (
231
+ id bigserial PRIMARY KEY,
232
+ created_at timestamptz NOT NULL DEFAULT now(),
233
+ workspace_id bigint,
234
+ user_id varchar(64),
235
+ module varchar(64) NOT NULL,
236
+ resource varchar(128) NOT NULL,
237
+ resource_id varchar(128),
238
+ fields varchar(64)[],
239
+ action varchar(64) NOT NULL,
240
+ request_id varchar(64),
241
+ ip_address inet,
242
+ user_agent text,
243
+ metadata jsonb
244
+ );
245
+
246
+ CREATE TABLE IF NOT EXISTS admin.audit_log_data (
247
+ id bigserial PRIMARY KEY,
248
+ audit_log_id bigint NOT NULL REFERENCES admin.audit_log(id) ON DELETE CASCADE,
249
+ field varchar(128) NOT NULL,
250
+ old_value jsonb,
251
+ new_value jsonb
252
+ );
253
+
254
+ CREATE INDEX IF NOT EXISTS admin_audit_log_created_at_idx ON admin.audit_log (created_at DESC);
255
+ CREATE INDEX IF NOT EXISTS admin_audit_log_resource_idx ON admin.audit_log (module, resource, resource_id, created_at DESC);
256
+ CREATE INDEX IF NOT EXISTS admin_audit_log_data_log_idx ON admin.audit_log_data (audit_log_id);
@@ -0,0 +1,18 @@
1
+ CREATE SCHEMA IF NOT EXISTS admin;
2
+
3
+ DO $$
4
+ BEGIN
5
+ IF to_regclass('crm.notes') IS NOT NULL
6
+ AND to_regclass('admin.notes') IS NULL THEN
7
+ ALTER TABLE crm.notes SET SCHEMA admin;
8
+ END IF;
9
+
10
+ IF to_regclass('crm.files') IS NOT NULL
11
+ AND to_regclass('admin.files') IS NULL THEN
12
+ ALTER TABLE crm.files SET SCHEMA admin;
13
+ END IF;
14
+ END
15
+ $$;
16
+
17
+ ALTER INDEX IF EXISTS crm_notes_resource_idx RENAME TO admin_notes_resource_idx;
18
+ ALTER INDEX IF EXISTS crm_notes_uid_idx RENAME TO admin_notes_uid_idx;
@@ -0,0 +1,19 @@
1
+ CREATE SCHEMA IF NOT EXISTS admin;
2
+
3
+ CREATE TABLE IF NOT EXISTS admin.settings (
4
+ id text PRIMARY KEY DEFAULT next_id(),
5
+ resource text NOT NULL DEFAULT 'system',
6
+ resource_id text,
7
+ key text NOT NULL,
8
+ value jsonb,
9
+ updated_by text,
10
+ updated_at timestamptz NOT NULL DEFAULT now(),
11
+ created_by text,
12
+ created_at timestamptz NOT NULL DEFAULT now()
13
+ );
14
+
15
+ DROP INDEX IF EXISTS settings_resource_key_uidx;
16
+
17
+ CREATE UNIQUE INDEX settings_resource_key_uidx
18
+ ON admin.settings (resource, resource_id, key)
19
+ NULLS NOT DISTINCT;