@flusys/nestjs-shared 9.1.0-rc.1 → 9.1.1

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.
package/fesm/index.js CHANGED
@@ -338,12 +338,14 @@ __webpack_require__.d(__webpack_exports__, {
338
338
  mKy: () => (/* reexport */ constants/* .AUTH_MESSAGES */.mK),
339
339
  x_h: () => (/* reexport */ src_decorators/* .ApiResponseDto */.x_),
340
340
  GfA: () => (/* reexport */ classes/* .ApiService */.Gf),
341
+ __v: () => (/* reexport */ interfaces/* .BRANCH_HIERARCHY_RESOLVER */.__),
341
342
  wA5: () => (/* reexport */ classes/* .BRANCH_PERMISSIONS */.wA),
342
343
  m8j: () => (/* reexport */ exceptions/* .BaseAppException */.m8),
343
344
  L3w: () => (/* reexport */ dtos/* .BulkMetaDto */.L3),
344
345
  jSz: () => (/* reexport */ dtos/* .BulkResponseDto */.jS),
345
346
  zlh: () => (/* reexport */ constants/* .CACHE_INSTANCE */.zl),
346
347
  xwl: () => (/* reexport */ constants/* .CLIENT_TYPE_HEADER */.xw),
348
+ i1s: () => (/* reexport */ interfaces/* .COMPANY_ACCESS_RESOLVER */.i1),
347
349
  aO_: () => (/* reexport */ classes/* .COMPANY_ACTION_PERMISSIONS */.aO),
348
350
  t$1: () => (/* reexport */ classes/* .COMPANY_PERMISSIONS */.t$),
349
351
  vdX: () => (/* reexport */ modules/* .CacheModule */.vd),
@@ -361,6 +363,7 @@ __webpack_require__.d(__webpack_exports__, {
361
363
  ndZ: () => (/* reexport */ interceptors/* .DeleteEmptyIdFromBodyInterceptor */.nd),
362
364
  XIn: () => (/* reexport */ classes/* .DisabledEventBus */.XI),
363
365
  zTW: () => (/* reexport */ pipes/* .DtoBodyValidationPipe */.zT),
366
+ Ti4: () => (/* reexport */ interfaces/* .EMAIL_ADAPTER */.Ti),
364
367
  V0D: () => (/* reexport */ classes/* .EMAIL_CONFIG_PERMISSIONS */.V0),
365
368
  z$E: () => (/* reexport */ classes/* .EMAIL_TEMPLATE_PERMISSIONS */.z$),
366
369
  G0M: () => (/* reexport */ classes/* .ENTITY_BUILDER_ALL_DYNAMIC */.G0),
@@ -400,6 +403,8 @@ __webpack_require__.d(__webpack_exports__, {
400
403
  TWO: () => (/* reexport */ dtos/* .ListResponseDto */.TW),
401
404
  JzB: () => (/* reexport */ src_decorators/* .LogAction */.Jz),
402
405
  pqH: () => (/* reexport */ middlewares/* .LoggerMiddleware */.pq),
406
+ DfB: () => (/* reexport */ utils/* .MAX_PERMISSION_LOGIC_CODES */.Df),
407
+ kWK: () => (/* reexport */ utils/* .MAX_PERMISSION_LOGIC_DEPTH */.kW),
403
408
  PSy: () => (/* reexport */ classes/* .MemoryTransport */.PS),
404
409
  qs7: () => (/* reexport */ dtos/* .MessageResponseDto */.qs),
405
410
  Ct1: () => (/* reexport */ modules/* .MultiTenantDataSourceService */.Ct),
@@ -459,6 +464,7 @@ __webpack_require__.d(__webpack_exports__, {
459
464
  uhy: () => (/* reexport */ modules/* .UtilsModule */.uh),
460
465
  TJO: () => (/* reexport */ modules/* .UtilsService */.TJ),
461
466
  drm: () => (/* reexport */ exceptions/* .ValidationException */.dr),
467
+ f7g: () => (/* reexport */ utils/* .applyBranchFilter */.f7),
462
468
  wfV: () => (/* reexport */ utils/* .applyCompanyFilter */.wf),
463
469
  kQr: () => (/* reexport */ utils/* .buildCompanyWhereCondition */.kQ),
464
470
  fJ7: () => (/* reexport */ utils/* .buildCookieOptions */.fJ),
@@ -467,6 +473,8 @@ __webpack_require__.d(__webpack_exports__, {
467
473
  ntB: () => (/* reexport */ utils/* .buildPermissionCacheKey */.nt),
468
474
  Zq5: () => (/* reexport */ classes/* .buildQuery */.Zq),
469
475
  qWZ: () => (/* reexport */ utils/* .cacheTenantId */.qW),
476
+ SfM: () => (/* reexport */ utils/* .collectBranchAncestorIds */.Sf),
477
+ qY6: () => (/* reexport */ utils/* .collectBranchDescendantIds */.qY),
470
478
  RDX: () => (/* reexport */ classes/* .createApiController */.RD),
471
479
  fv2: () => (/* reexport */ modules/* .createModuleEventsProvider */.fv),
472
480
  Xvj: () => (/* reexport */ classes/* .createModuleLogger */.Xv),
@@ -475,11 +483,13 @@ __webpack_require__.d(__webpack_exports__, {
475
483
  GHQ: () => (/* reexport */ classes/* .dynamicEntityPermissionParent */.GH),
476
484
  ZD5: () => (/* reexport */ utils/* .escapeHtml */.ZD),
477
485
  qob: () => (/* reexport */ utils/* .escapeHtmlVariables */.qo),
486
+ Ngr: () => (/* reexport */ utils/* .evaluatePermissionLogic */.Ng),
478
487
  hXo: () => (/* reexport */ utils/* .extractFrontendUrl */.hX),
479
488
  Sdq: () => (/* reexport */ utils/* .formatInTimezone */.Sd),
480
489
  sN5: () => (/* reexport */ utils/* .generateSecureToken */.sN),
481
490
  z9G: () => (/* reexport */ utils/* .generateSlug */.z9),
482
491
  ool: () => (/* reexport */ utils/* .generateUniqueSlug */.oo),
492
+ gNH: () => (/* reexport */ utils/* .getBranchPath */.gN),
483
493
  TjQ: () => (/* reexport */ classes/* .getCastIntType */.Tj),
484
494
  xRP: () => (/* reexport */ middlewares/* .getCompanyId */.xR),
485
495
  pfh: () => (/* reexport */ classes/* .getJsonColumnType */.pf),
@@ -490,16 +500,21 @@ __webpack_require__.d(__webpack_exports__, {
490
500
  faw: () => (/* reexport */ utils/* .hasCompanyId */.f),
491
501
  QKw: () => (/* reexport */ utils/* .hashToken */.QK),
492
502
  KJ$: () => (/* reexport */ classes/* .instance */.KJ),
503
+ QUx: () => (/* reexport */ utils/* .isBranchWithin */.QU),
493
504
  whA: () => (/* reexport */ utils/* .isBrowserRequest */.wh),
494
505
  _dF: () => (/* reexport */ utils/* .isExpired */._d),
495
506
  _cr: () => (/* reexport */ utils/* .isMultiWildcard */._c),
496
507
  lkO: () => (/* reexport */ utils/* .loadOptionalModule */.lk),
508
+ CQw: () => (/* reexport */ utils/* .loadPermissionCodes */.CQ),
497
509
  vfv: () => (/* reexport */ utils/* .localToUtc */.vf),
498
510
  qe: () => (/* reexport */ utils/* .matchEventPattern */.qe),
499
511
  xYV: () => (/* reexport */ utils/* .matchesPermission */.xY),
500
512
  RGt: () => (/* reexport */ utils/* .messageRef */.RG),
501
513
  RiU: () => (/* reexport */ modules/* .moduleEventsToken */.Ri),
514
+ kW7: () => (/* reexport */ utils/* .normalizeBranchIds */.Ty),
502
515
  Ju5: () => (/* reexport */ utils/* .parseDurationToMs */.Ju),
516
+ MOQ: () => (/* reexport */ utils/* .permissionLogicCodes */.MO),
517
+ HUk: () => (/* reexport */ utils/* .permissionLogicProblem */.HU),
503
518
  wTm: () => (/* reexport */ classes/* .publishDomainEvent */.wT),
504
519
  V8o: () => (/* reexport */ middlewares/* .requestContext */.V8),
505
520
  INw: () => (/* reexport */ utils/* .sanitizeEventPayload */.IN),
@@ -803,14 +818,14 @@ GlobalExceptionFilter = _ts_decorate([
803
818
  var guards = __webpack_require__(510);
804
819
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/interceptors/index.ts + 7 modules
805
820
  var interceptors = __webpack_require__(863);
806
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/interfaces/index.ts + 6 modules
807
- var interfaces = __webpack_require__(74);
821
+ // EXTERNAL MODULE: ./projects/nestjs-shared/src/interfaces/index.ts + 9 modules
822
+ var interfaces = __webpack_require__(85);
808
823
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/middlewares/index.ts
809
824
  var middlewares = __webpack_require__(799);
810
825
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/modules/index.ts + 9 modules
811
826
  var modules = __webpack_require__(686);
812
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/index.ts + 7 modules
813
- var utils = __webpack_require__(528);
827
+ // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/index.ts + 8 modules
828
+ var utils = __webpack_require__(301);
814
829
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/pipes/index.ts + 1 modules
815
830
  var pipes = __webpack_require__(928);
816
831
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/index.ts
@@ -832,13 +847,16 @@ var pipes = __webpack_require__(928);
832
847
 
833
848
 
834
849
  },
835
- 74(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
850
+ 85(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
836
851
 
837
852
  // EXPORTS
838
853
  __webpack_require__.d(__webpack_exports__, {
839
854
  Fi: () => (/* reexport */ AI_ASSISTANT_AUTH_PROVIDER),
840
855
  Hb: () => (/* reexport */ AI_ASSISTANT_TOOL_PROVIDER),
841
856
  T4: () => (/* reexport */ AI_ASSISTANT_USER_LOOKUP_PROVIDER),
857
+ __: () => (/* reexport */ BRANCH_HIERARCHY_RESOLVER),
858
+ i1: () => (/* reexport */ COMPANY_ACCESS_RESOLVER),
859
+ Ti: () => (/* reexport */ EMAIL_ADAPTER),
842
860
  LO: () => (/* reexport */ EVENT_MANAGER_ADAPTER),
843
861
  KR: () => (/* reexport */ NOTIFICATION_ADAPTER),
844
862
  VG: () => (/* reexport */ PERMISSION_ACTION_REGISTRY),
@@ -851,6 +869,15 @@ const AI_ASSISTANT_AUTH_PROVIDER = 'AI_ASSISTANT_AUTH_PROVIDER';
851
869
  const AI_ASSISTANT_TOOL_PROVIDER = 'AI_ASSISTANT_TOOL_PROVIDER';
852
870
  const AI_ASSISTANT_USER_LOOKUP_PROVIDER = 'AI_ASSISTANT_USER_LOOKUP_PROVIDER';
853
871
 
872
+ ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/branch-hierarchy-resolver.interface.ts
873
+ const BRANCH_HIERARCHY_RESOLVER = 'BRANCH_HIERARCHY_RESOLVER';
874
+
875
+ ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/company-access-resolver.interface.ts
876
+ const COMPANY_ACCESS_RESOLVER = 'COMPANY_ACCESS_RESOLVER';
877
+
878
+ ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/email-adapter.interface.ts
879
+ const EMAIL_ADAPTER = 'EMAIL_ADAPTER';
880
+
854
881
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/event-manager-adapter.interface.ts
855
882
  const EVENT_MANAGER_ADAPTER = 'EVENT_MANAGER_ADAPTER';
856
883
 
@@ -883,6 +910,9 @@ const PERMISSION_SYNC_ADAPTER = 'PERMISSION_SYNC_ADAPTER';
883
910
 
884
911
 
885
912
 
913
+
914
+
915
+
886
916
  },
887
917
  799(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
888
918
  /* import */ var _logger_middleware_js__rspack_import_0 = __webpack_require__(591);
@@ -899,538 +929,6 @@ __webpack_require__.d(__webpack_exports__, {
899
929
  });
900
930
 
901
931
 
902
- },
903
- 528(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
904
-
905
- // EXPORTS
906
- __webpack_require__.d(__webpack_exports__, {
907
- s8: () => (/* reexport */ permission_cache_key_util/* .DEFAULT_COMPANY_PERMISSION_KEY_FORMAT */.s8),
908
- q6: () => (/* reexport */ permission_cache_key_util/* .DEFAULT_USER_PERMISSION_KEY_FORMAT */.q6),
909
- wf: () => (/* reexport */ applyCompanyFilter),
910
- kQ: () => (/* reexport */ buildCompanyWhereCondition),
911
- fJ: () => (/* reexport */ buildCookieOptions),
912
- oV: () => (/* reexport */ buildFrontendUrl),
913
- nt: () => (/* reexport */ permission_cache_key_util/* .buildPermissionCacheKey */.nt),
914
- qW: () => (/* reexport */ cache_tenant_util/* .cacheTenantId */.q),
915
- ZD: () => (/* reexport */ escapeHtml),
916
- qo: () => (/* reexport */ escapeHtmlVariables),
917
- hX: () => (/* reexport */ extractFrontendUrl),
918
- Sd: () => (/* reexport */ formatInTimezone),
919
- sN: () => (/* reexport */ generateSecureToken),
920
- z9: () => (/* reexport */ generateSlug),
921
- oo: () => (/* reexport */ generateUniqueSlug),
922
- oB: () => (/* reexport */ getTodayInTimezone),
923
- f: () => (/* reexport */ hasCompanyId),
924
- QK: () => (/* reexport */ hashToken),
925
- wh: () => (/* reexport */ isBrowserRequest),
926
- _d: () => (/* reexport */ isExpired),
927
- _c: () => (/* reexport */ event_pattern_util/* .isMultiWildcard */._c),
928
- lk: () => (/* reexport */ optional_module_util/* .loadOptionalModule */.l),
929
- vf: () => (/* reexport */ localToUtc),
930
- qe: () => (/* reexport */ event_pattern_util/* .matchEventPattern */.qe),
931
- xY: () => (/* reexport */ permission_match_util/* .matchesPermission */.x),
932
- RG: () => (/* reexport */ messageRef),
933
- Ju: () => (/* reexport */ parseDurationToMs),
934
- IN: () => (/* reexport */ event_pattern_util/* .sanitizeEventPayload */.IN),
935
- v4: () => (/* reexport */ utcToLocal),
936
- bE: () => (/* reexport */ validateCompanyOwnership),
937
- o0: () => (/* reexport */ withSavepoint)
938
- });
939
-
940
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/cache-tenant.util.ts
941
- var cache_tenant_util = __webpack_require__(154);
942
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/date-time.util.ts
943
- function getOffsetMinutes(utcDate, timezone) {
944
- const extract = (tz)=>{
945
- const parts = new Intl.DateTimeFormat('en-US', {
946
- timeZone: tz,
947
- year: 'numeric',
948
- month: '2-digit',
949
- day: '2-digit',
950
- hour: '2-digit',
951
- minute: '2-digit',
952
- second: '2-digit',
953
- hour12: false
954
- }).formatToParts(utcDate);
955
- const p = Object.fromEntries(parts.filter((x)=>x.type !== 'literal').map((x)=>[
956
- x.type,
957
- parseInt(x.value)
958
- ]));
959
- return Date.UTC(p['year'], p['month'] - 1, p['day'], p['hour'], p['minute'], p['second']);
960
- };
961
- return (extract(timezone) - extract('UTC')) / 60_000;
962
- }
963
- function localToUtc(dateStr, timeStr, timezone) {
964
- const [year, month, day] = dateStr.split('-').map(Number);
965
- const [hours, minutes] = timeStr.split(':').map(Number);
966
- const approx = new Date(Date.UTC(year, month - 1, day, hours, minutes, 0));
967
- const offset = getOffsetMinutes(approx, timezone);
968
- const utcDate = new Date(approx.getTime() - offset * 60_000);
969
- // DST boundary guard: re-check offset after adjustment
970
- const finalOffset = getOffsetMinutes(utcDate, timezone);
971
- return finalOffset !== offset ? new Date(approx.getTime() - finalOffset * 60_000) : utcDate;
972
- }
973
- function utcToLocal(utcDate, timezone) {
974
- const d = typeof utcDate === 'string' ? new Date(utcDate) : utcDate;
975
- const parts = new Intl.DateTimeFormat('en-CA', {
976
- timeZone: timezone,
977
- year: 'numeric',
978
- month: '2-digit',
979
- day: '2-digit',
980
- hour: '2-digit',
981
- minute: '2-digit',
982
- hour12: false
983
- }).formatToParts(d);
984
- const p = Object.fromEntries(parts.filter((x)=>x.type !== 'literal').map((x)=>[
985
- x.type,
986
- x.value
987
- ]));
988
- // en-CA formats midnight hour as '24' — normalize to '00'
989
- const hour = p['hour'] === '24' ? '00' : p['hour'];
990
- return {
991
- date: `${p['year']}-${p['month']}-${p['day']}`,
992
- time: `${hour}:${p['minute']}`,
993
- display: new Intl.DateTimeFormat('en-US', {
994
- timeZone: timezone,
995
- dateStyle: 'medium',
996
- timeStyle: 'short'
997
- }).format(d)
998
- };
999
- }
1000
- function formatInTimezone(utcDate, timezone, options = {
1001
- dateStyle: 'medium',
1002
- timeStyle: 'short'
1003
- }) {
1004
- const d = typeof utcDate === 'string' ? new Date(utcDate) : utcDate;
1005
- return new Intl.DateTimeFormat('en-US', {
1006
- ...options,
1007
- timeZone: timezone
1008
- }).format(d);
1009
- }
1010
- function getTodayInTimezone(timezone) {
1011
- return utcToLocal(new Date(), timezone).date;
1012
- }
1013
-
1014
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/event-pattern.util.ts
1015
- var event_pattern_util = __webpack_require__(456);
1016
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/html-sanitizer.util.ts
1017
- /**
1018
- * HTML Sanitizer Utilities
1019
- *
1020
- * Provides functions for escaping HTML content to prevent XSS attacks.
1021
- * Use these utilities when interpolating user-provided variables into HTML content.
1022
- */ /**
1023
- * HTML entity mapping for escaping special characters
1024
- */ const HTML_ESCAPE_MAP = {
1025
- '&': '&',
1026
- '<': '&lt;',
1027
- '>': '&gt;',
1028
- '"': '&quot;',
1029
- "'": '&#x27;',
1030
- '/': '&#x2F;',
1031
- '`': '&#x60;',
1032
- '=': '&#x3D;'
1033
- };
1034
- /**
1035
- * Regex pattern matching characters that need HTML escaping
1036
- */ const HTML_ESCAPE_REGEX = /[&<>"'`=/]/g;
1037
- /**
1038
- * Escapes HTML special characters to prevent XSS attacks.
1039
- *
1040
- * @param str - The string to escape
1041
- * @returns The escaped string safe for HTML insertion
1042
- *
1043
- * @example
1044
- * ```typescript
1045
- * escapeHtml('<script>alert("xss")</script>')
1046
- * // Returns: '&lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;'
1047
- * ```
1048
- */ function escapeHtml(str) {
1049
- if (!str || typeof str !== 'string') {
1050
- return str ?? '';
1051
- }
1052
- return str.replace(HTML_ESCAPE_REGEX, (char)=>HTML_ESCAPE_MAP[char]);
1053
- }
1054
- /**
1055
- * Escapes all string values in a variables object for safe HTML interpolation.
1056
- * Non-string values are converted to strings and escaped.
1057
- *
1058
- * @param variables - Object containing template variables
1059
- * @returns New object with all string values HTML-escaped
1060
- *
1061
- * @example
1062
- * ```typescript
1063
- * escapeHtmlVariables({ name: '<script>xss</script>', count: 5 })
1064
- * // Returns: { name: '&lt;script&gt;xss&lt;/script&gt;', count: '5' }
1065
- * ```
1066
- */ function escapeHtmlVariables(variables) {
1067
- if (!variables || typeof variables !== 'object') {
1068
- return {};
1069
- }
1070
- const escaped = {};
1071
- for (const [key, value] of Object.entries(variables)){
1072
- if (value === null || value === undefined) {
1073
- escaped[key] = '';
1074
- } else if (typeof value === 'string') {
1075
- escaped[key] = escapeHtml(value);
1076
- } else if (typeof value === 'object') {
1077
- // For objects/arrays, stringify and escape
1078
- escaped[key] = escapeHtml(JSON.stringify(value));
1079
- } else {
1080
- // For numbers, booleans, etc., convert to string (no escaping needed)
1081
- escaped[key] = String(value);
1082
- }
1083
- }
1084
- return escaped;
1085
- }
1086
-
1087
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/message-ref.util.ts
1088
- function messageRef(messageKey, messageVariables) {
1089
- return messageVariables ? {
1090
- messageKey,
1091
- messageVariables
1092
- } : {
1093
- messageKey
1094
- };
1095
- }
1096
-
1097
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/optional-module.util.ts
1098
- var optional_module_util = __webpack_require__(368);
1099
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/permission-cache-key.util.ts
1100
- var permission_cache_key_util = __webpack_require__(199);
1101
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/permission-match.util.ts
1102
- var permission_match_util = __webpack_require__(788);
1103
- // EXTERNAL MODULE: external "@nestjs/common"
1104
- var common_ = __webpack_require__(157);
1105
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/constants/index.ts
1106
- var constants = __webpack_require__(43);
1107
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/query-helpers.util.ts
1108
-
1109
-
1110
- /**
1111
- * Apply company filter to a query builder if company feature is enabled.
1112
- * Centralizes the common pattern of filtering by user's company.
1113
- *
1114
- * @param query - TypeORM SelectQueryBuilder
1115
- * @param config - Company filter configuration
1116
- * @param user - Current logged user (may be null)
1117
- * @returns The modified query builder
1118
- *
1119
- * @example
1120
- * ```typescript
1121
- * applyCompanyFilter(query, {
1122
- * isCompanyFeatureEnabled: this.config.isCompanyFeatureEnabled(),
1123
- * entityAlias: 'file_manager',
1124
- * }, user);
1125
- * ```
1126
- */ function applyCompanyFilter(query, config, user) {
1127
- const columnName = config.columnName ?? 'companyId';
1128
- if (config.isCompanyFeatureEnabled && user?.companyId) {
1129
- query.andWhere(`${config.entityAlias}.${columnName} = :companyId`, {
1130
- companyId: user.companyId
1131
- });
1132
- }
1133
- return query;
1134
- }
1135
- /**
1136
- * Build a where condition object with optional company filter.
1137
- *
1138
- * @param baseWhere - Base where condition object
1139
- * @param isCompanyFeatureEnabled - Whether company feature is enabled
1140
- * @param user - Current logged user
1141
- * @returns Where condition with companyId added if applicable
1142
- *
1143
- * @example
1144
- * ```typescript
1145
- * const where = buildCompanyWhereCondition(
1146
- * { id: dto.id },
1147
- * this.config.isCompanyFeatureEnabled(),
1148
- * user
1149
- * );
1150
- * // Returns { id: dto.id, companyId: user.companyId } if company feature enabled
1151
- * ```
1152
- */ function buildCompanyWhereCondition(baseWhere, isCompanyFeatureEnabled, user) {
1153
- if (isCompanyFeatureEnabled && user?.companyId) {
1154
- return {
1155
- ...baseWhere,
1156
- companyId: user.companyId
1157
- };
1158
- }
1159
- return baseWhere;
1160
- }
1161
- /**
1162
- * Type guard to check if entity has companyId property
1163
- */ function hasCompanyId(entity) {
1164
- return entity !== null && typeof entity === 'object' && 'companyId' in entity;
1165
- }
1166
- /**
1167
- * Validates that an entity with companyId belongs to the user's company.
1168
- * Throws BadRequestException if the entity belongs to another company.
1169
- *
1170
- * @param entity - Entity to validate
1171
- * @param user - Current logged user
1172
- * @param isCompanyFeatureEnabled - Whether company feature is enabled
1173
- * @param entityName - Name of entity for error message (e.g., 'Email configuration')
1174
- * @throws BadRequestException if entity belongs to another company
1175
- *
1176
- * @example
1177
- * ```typescript
1178
- * validateCompanyOwnership(config, user, this.config.isCompanyFeatureEnabled(), 'Email configuration');
1179
- * ```
1180
- */ function validateCompanyOwnership(entity, user, isCompanyFeatureEnabled, entityName) {
1181
- if (isCompanyFeatureEnabled && user?.companyId && hasCompanyId(entity)) {
1182
- if (entity.companyId && entity.companyId !== user.companyId) {
1183
- throw new common_.BadRequestException({
1184
- message: `${entityName} belongs to another company`,
1185
- messageKey: constants/* .AUTH_MESSAGES.ENTITY_BELOG_ANOTHER_COMPANY */.mK.ENTITY_BELOG_ANOTHER_COMPANY,
1186
- messageVariables: {
1187
- entity: entityName
1188
- }
1189
- });
1190
- }
1191
- }
1192
- }
1193
- /**
1194
- * Runs `fn` inside a savepoint of an already-open transaction. A failure rolls back only what
1195
- * `fn` did, so the caller can swallow the error and keep using the transaction - without it,
1196
- * PostgreSQL aborts the whole transaction after any failed statement.
1197
- */ async function withSavepoint(queryRunner, fn) {
1198
- await queryRunner.startTransaction();
1199
- try {
1200
- const result = await fn();
1201
- await queryRunner.commitTransaction();
1202
- return result;
1203
- } catch (error) {
1204
- await queryRunner.rollbackTransaction();
1205
- throw error;
1206
- }
1207
- }
1208
-
1209
- // EXTERNAL MODULE: external "@flusys/nestjs-core/config"
1210
- var config_ = __webpack_require__(307);
1211
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/request.util.ts
1212
-
1213
-
1214
-
1215
- /** Time unit multipliers in milliseconds */ const TIME_UNIT_MS = {
1216
- s: 1000,
1217
- m: 60 * 1000,
1218
- h: 60 * 60 * 1000,
1219
- d: 24 * 60 * 60 * 1000,
1220
- w: 7 * 24 * 60 * 60 * 1000
1221
- };
1222
- /** Get normalized client type from request header */ function getClientType(req) {
1223
- const clientType = req.headers[constants/* .CLIENT_TYPE_HEADER */.xw];
1224
- return clientType ? clientType.toLowerCase() : null;
1225
- }
1226
- /**
1227
- * Detect if request is from a browser client.
1228
- * Uses x-client-type header first, then falls back to user-agent detection.
1229
- */ function isBrowserRequest(req) {
1230
- const clientType = getClientType(req);
1231
- if (clientType) {
1232
- return clientType === 'browser' || clientType === 'web';
1233
- }
1234
- const accept = req.headers['accept'] || '';
1235
- if (accept.includes('text/html')) return true;
1236
- const userAgent = req.headers['user-agent'] || '';
1237
- const browserPatterns = /mozilla|chrome|safari|firefox|edge|opera|msie/i;
1238
- return browserPatterns.test(userAgent) && !userAgent.includes('Postman');
1239
- }
1240
- /**
1241
- * Build secure cookie options based on request context.
1242
- * Handles HTTPS detection for TLS-terminating proxies.
1243
- */ function buildCookieOptions(req) {
1244
- const hostname = req.hostname || '';
1245
- const origin = req.headers.origin || '';
1246
- const isProduction = config_.envConfig.isProduction();
1247
- const forwardedProto = req.headers['x-forwarded-proto'];
1248
- const isHttps = isProduction || forwardedProto === 'https' || origin.startsWith('https://') || req.secure;
1249
- let domain;
1250
- const domainParts = hostname.split('.');
1251
- if (domainParts.length > 2 && !hostname.includes('localhost')) {
1252
- domain = '.' + domainParts.slice(-2).join('.');
1253
- }
1254
- return {
1255
- secure: isHttps,
1256
- sameSite: isHttps ? 'strict' : 'lax',
1257
- ...domain && {
1258
- domain
1259
- }
1260
- };
1261
- }
1262
- /**
1263
- * Parse duration string to milliseconds.
1264
- * @example '7d' → 604800000, '24h' → 86400000, '30m' → 1800000
1265
- */ function parseDurationToMs(duration, defaultMs = TIME_UNIT_MS.w) {
1266
- const match = duration.match(/^(\d+)(s|m|h|d|w)$/);
1267
- if (!match) return defaultMs;
1268
- const value = parseInt(match[1], 10);
1269
- const unit = match[2];
1270
- return value * (TIME_UNIT_MS[unit] ?? TIME_UNIT_MS.d);
1271
- }
1272
- /**
1273
- * Determine the frontend base URL for auth-related links.
1274
- * Matches the request's Origin/Referer against configured allowed origins.
1275
- * Never trusts the request's Host header - it is client-controlled and would
1276
- * let an attacker redirect password-reset/verification links to their own domain.
1277
- */ function extractFrontendUrl(req) {
1278
- const allowedOrigins = config_.envConfig.getOrigins();
1279
- const origin = (req.get('origin') ?? req.get('referer') ?? '').trim();
1280
- if (origin && allowedOrigins.length) {
1281
- const matched = allowedOrigins.find((u)=>origin.startsWith(u));
1282
- if (matched) {
1283
- return matched;
1284
- }
1285
- }
1286
- if (allowedOrigins.length) {
1287
- return allowedOrigins[0];
1288
- }
1289
- throw new common_.BadRequestException({
1290
- message: 'Unable to determine frontend URL from request',
1291
- messageKey: constants/* .ERROR_MESSAGES.VALIDATION */.UU.VALIDATION
1292
- });
1293
- }
1294
- function buildFrontendUrl(req, path) {
1295
- const baseUrl = extractFrontendUrl(req);
1296
- return `${baseUrl}${path}`;
1297
- }
1298
-
1299
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/string.util.ts
1300
- /**
1301
- * String utility functions
1302
- */ /**
1303
- * Generate URL-friendly slug from a string
1304
- * @param text - The text to convert to slug
1305
- * @param maxLength - Maximum length of the slug (default: 100)
1306
- * @returns URL-friendly slug
1307
- *
1308
- * @example
1309
- * generateSlug('My Company Name') // 'my-company-name'
1310
- * generateSlug('Hello World!') // 'hello-world'
1311
- */ function generateSlug(text, maxLength = 100) {
1312
- return text.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, '') // Remove special characters
1313
- .replace(/\s+/g, '-') // Replace spaces with hyphens
1314
- .replace(/-+/g, '-') // Replace multiple hyphens with single
1315
- .replace(/^-+|-+$/g, '') // Remove leading/trailing hyphens
1316
- .substring(0, maxLength);
1317
- }
1318
- /**
1319
- * Generate unique slug using single database query (optimized for large datasets)
1320
- * Appends numeric suffix if collision exists (e.g., 'my-company-1', 'my-company-2')
1321
- *
1322
- * Performance: O(1) database query regardless of collision count
1323
- * - Works efficiently with millions of records
1324
- * - Requires index on slug column for best performance
1325
- *
1326
- * @param text - The text to convert to slug
1327
- * @param findMatchingSlugs - Async function that returns all slugs matching base pattern
1328
- * Should query: WHERE slug = baseSlug OR slug LIKE 'baseSlug-%'
1329
- * @param maxLength - Maximum length of the base slug (default: 100)
1330
- * @returns Unique URL-friendly slug
1331
- *
1332
- * @example
1333
- * const slug = await generateUniqueSlug('My Company', async (baseSlug) => {
1334
- * return repo
1335
- * .createQueryBuilder('c')
1336
- * .select('c.slug')
1337
- * .where('c.slug = :base OR c.slug LIKE :pattern', {
1338
- * base: baseSlug,
1339
- * pattern: `${baseSlug}-%`,
1340
- * })
1341
- * .getMany()
1342
- * .then(rows => rows.map(r => r.slug));
1343
- * });
1344
- */ async function generateUniqueSlug(text, findMatchingSlugs, maxLength = 100) {
1345
- const baseSlug = generateSlug(text, maxLength);
1346
- // Single query to get all matching slugs
1347
- const existingSlugs = await findMatchingSlugs(baseSlug);
1348
- // No collisions - base slug is available
1349
- if (existingSlugs.length === 0) {
1350
- return baseSlug;
1351
- }
1352
- // Build set for O(1) lookup
1353
- const existingSet = new Set(existingSlugs);
1354
- // Base slug not taken (only suffixed versions exist)
1355
- if (!existingSet.has(baseSlug)) {
1356
- return baseSlug;
1357
- }
1358
- // Find next available suffix in memory (fast)
1359
- let counter = 1;
1360
- while(counter < 10000){
1361
- const slugWithSuffix = `${baseSlug}-${counter}`;
1362
- if (!existingSet.has(slugWithSuffix)) {
1363
- return slugWithSuffix;
1364
- }
1365
- counter++;
1366
- }
1367
- // Fallback: append random string (extremely rare edge case)
1368
- const randomSuffix = Math.random().toString(36).substring(2, 8);
1369
- return `${baseSlug}-${randomSuffix}`;
1370
- }
1371
-
1372
- // EXTERNAL MODULE: external "crypto"
1373
- var external_crypto_ = __webpack_require__(823);
1374
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/token.util.ts
1375
-
1376
- /** 32 random bytes as hex, suitable for a password-reset/OTP/access-style token */ function generateSecureToken() {
1377
- return external_crypto_.randomBytes(32).toString('hex');
1378
- }
1379
- /** SHA-256 hash of a token, for storing/comparing tokens without keeping the raw value */ function hashToken(value) {
1380
- return external_crypto_.createHash('sha256').update(value).digest('hex');
1381
- }
1382
- function isExpired(expiresAt) {
1383
- return expiresAt < new Date();
1384
- }
1385
-
1386
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/index.ts
1387
-
1388
-
1389
-
1390
-
1391
-
1392
-
1393
-
1394
-
1395
-
1396
-
1397
-
1398
-
1399
-
1400
-
1401
- },
1402
- 368(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
1403
- /**
1404
- * Loads an optional peer dependency at runtime.
1405
- *
1406
- * The specifier has to stay invisible to the bundler. A plain `import(name)`
1407
- * looks dynamic in source but webpack rewrites it into a context module rooted
1408
- * at this directory - one that can only ever resolve files sitting next to this
1409
- * one - so `amqplib` and `kafkajs` fail to load in the bundled app no matter how
1410
- * correctly they are installed. Both lookups below are assembled at runtime,
1411
- * where no bundler can rewrite them.
1412
- *
1413
- * `require` is used first because it is what the CommonJS builds actually run
1414
- * on; native ESM has no `require`, and there `import()` is the only way in.
1415
- */ async function loadOptionalModule(name) {
1416
- const runtimeRequire = resolveRuntimeRequire();
1417
- if (runtimeRequire) return runtimeRequire(name);
1418
- const runtimeImport = new Function('specifier', 'return import(specifier);');
1419
- return runtimeImport(name);
1420
- }
1421
- /** Undefined under native ESM and inside a bundle that shadows nothing back */ function resolveRuntimeRequire() {
1422
- try {
1423
- return eval('typeof require === "function" ? require : undefined');
1424
- } catch {
1425
- return undefined;
1426
- }
1427
- }
1428
-
1429
- __webpack_require__.d(__webpack_exports__, {
1430
- l: () => (loadOptionalModule)
1431
- });
1432
-
1433
-
1434
932
  },
1435
933
 
1436
934
  };
@@ -1446,8 +944,10 @@ import * as __rspack_chunk_4 from './470.js';
1446
944
  __webpack_require__.C(__rspack_chunk_4);
1447
945
  import * as __rspack_chunk_5 from './667.js';
1448
946
  __webpack_require__.C(__rspack_chunk_5);
1449
- import * as __rspack_chunk_6 from './index.js';
947
+ import * as __rspack_chunk_6 from './270.js';
1450
948
  __webpack_require__.C(__rspack_chunk_6);
949
+ import * as __rspack_chunk_7 from './index.js';
950
+ __webpack_require__.C(__rspack_chunk_7);
1451
951
  var __webpack_exports__ = __webpack_exec__(560);var __webpack_exports__ACTION_PERMISSIONS = __webpack_exports__.Y75;
1452
952
  var __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER = __webpack_exports__.FiT;
1453
953
  var __webpack_exports__AI_ASSISTANT_PERMISSIONS = __webpack_exports__.Bzm;
@@ -1457,12 +957,14 @@ var __webpack_exports__AUDIT_BODY_KEYS = __webpack_exports__.gG9;
1457
957
  var __webpack_exports__AUTH_MESSAGES = __webpack_exports__.mKy;
1458
958
  var __webpack_exports__ApiResponseDto = __webpack_exports__.x_h;
1459
959
  var __webpack_exports__ApiService = __webpack_exports__.GfA;
960
+ var __webpack_exports__BRANCH_HIERARCHY_RESOLVER = __webpack_exports__.__v;
1460
961
  var __webpack_exports__BRANCH_PERMISSIONS = __webpack_exports__.wA5;
1461
962
  var __webpack_exports__BaseAppException = __webpack_exports__.m8j;
1462
963
  var __webpack_exports__BulkMetaDto = __webpack_exports__.L3w;
1463
964
  var __webpack_exports__BulkResponseDto = __webpack_exports__.jSz;
1464
965
  var __webpack_exports__CACHE_INSTANCE = __webpack_exports__.zlh;
1465
966
  var __webpack_exports__CLIENT_TYPE_HEADER = __webpack_exports__.xwl;
967
+ var __webpack_exports__COMPANY_ACCESS_RESOLVER = __webpack_exports__.i1s;
1466
968
  var __webpack_exports__COMPANY_ACTION_PERMISSIONS = __webpack_exports__.aO_;
1467
969
  var __webpack_exports__COMPANY_PERMISSIONS = __webpack_exports__.t$1;
1468
970
  var __webpack_exports__CacheModule = __webpack_exports__.vdX;
@@ -1480,6 +982,7 @@ var __webpack_exports__DeleteDto = __webpack_exports__.TG$;
1480
982
  var __webpack_exports__DeleteEmptyIdFromBodyInterceptor = __webpack_exports__.ndZ;
1481
983
  var __webpack_exports__DisabledEventBus = __webpack_exports__.XIn;
1482
984
  var __webpack_exports__DtoBodyValidationPipe = __webpack_exports__.zTW;
985
+ var __webpack_exports__EMAIL_ADAPTER = __webpack_exports__.Ti4;
1483
986
  var __webpack_exports__EMAIL_CONFIG_PERMISSIONS = __webpack_exports__.V0D;
1484
987
  var __webpack_exports__EMAIL_TEMPLATE_PERMISSIONS = __webpack_exports__.z$E;
1485
988
  var __webpack_exports__ENTITY_BUILDER_ALL_DYNAMIC = __webpack_exports__.G0M;
@@ -1519,6 +1022,8 @@ var __webpack_exports__LANGUAGE_PERMISSIONS = __webpack_exports__.Q5G;
1519
1022
  var __webpack_exports__ListResponseDto = __webpack_exports__.TWO;
1520
1023
  var __webpack_exports__LogAction = __webpack_exports__.JzB;
1521
1024
  var __webpack_exports__LoggerMiddleware = __webpack_exports__.pqH;
1025
+ var __webpack_exports__MAX_PERMISSION_LOGIC_CODES = __webpack_exports__.DfB;
1026
+ var __webpack_exports__MAX_PERMISSION_LOGIC_DEPTH = __webpack_exports__.kWK;
1522
1027
  var __webpack_exports__MemoryTransport = __webpack_exports__.PSy;
1523
1028
  var __webpack_exports__MessageResponseDto = __webpack_exports__.qs7;
1524
1029
  var __webpack_exports__MultiTenantDataSourceService = __webpack_exports__.Ct1;
@@ -1578,6 +1083,7 @@ var __webpack_exports__UserRoot = __webpack_exports__.q7i;
1578
1083
  var __webpack_exports__UtilsModule = __webpack_exports__.uhy;
1579
1084
  var __webpack_exports__UtilsService = __webpack_exports__.TJO;
1580
1085
  var __webpack_exports__ValidationException = __webpack_exports__.drm;
1086
+ var __webpack_exports__applyBranchFilter = __webpack_exports__.f7g;
1581
1087
  var __webpack_exports__applyCompanyFilter = __webpack_exports__.wfV;
1582
1088
  var __webpack_exports__buildCompanyWhereCondition = __webpack_exports__.kQr;
1583
1089
  var __webpack_exports__buildCookieOptions = __webpack_exports__.fJ7;
@@ -1586,6 +1092,8 @@ var __webpack_exports__buildFrontendUrl = __webpack_exports__.oVw;
1586
1092
  var __webpack_exports__buildPermissionCacheKey = __webpack_exports__.ntB;
1587
1093
  var __webpack_exports__buildQuery = __webpack_exports__.Zq5;
1588
1094
  var __webpack_exports__cacheTenantId = __webpack_exports__.qWZ;
1095
+ var __webpack_exports__collectBranchAncestorIds = __webpack_exports__.SfM;
1096
+ var __webpack_exports__collectBranchDescendantIds = __webpack_exports__.qY6;
1589
1097
  var __webpack_exports__createApiController = __webpack_exports__.RDX;
1590
1098
  var __webpack_exports__createModuleEventsProvider = __webpack_exports__.fv2;
1591
1099
  var __webpack_exports__createModuleLogger = __webpack_exports__.Xvj;
@@ -1594,11 +1102,13 @@ var __webpack_exports__dynamicEntityPermission = __webpack_exports__.aT4;
1594
1102
  var __webpack_exports__dynamicEntityPermissionParent = __webpack_exports__.GHQ;
1595
1103
  var __webpack_exports__escapeHtml = __webpack_exports__.ZD5;
1596
1104
  var __webpack_exports__escapeHtmlVariables = __webpack_exports__.qob;
1105
+ var __webpack_exports__evaluatePermissionLogic = __webpack_exports__.Ngr;
1597
1106
  var __webpack_exports__extractFrontendUrl = __webpack_exports__.hXo;
1598
1107
  var __webpack_exports__formatInTimezone = __webpack_exports__.Sdq;
1599
1108
  var __webpack_exports__generateSecureToken = __webpack_exports__.sN5;
1600
1109
  var __webpack_exports__generateSlug = __webpack_exports__.z9G;
1601
1110
  var __webpack_exports__generateUniqueSlug = __webpack_exports__.ool;
1111
+ var __webpack_exports__getBranchPath = __webpack_exports__.gNH;
1602
1112
  var __webpack_exports__getCastIntType = __webpack_exports__.TjQ;
1603
1113
  var __webpack_exports__getCompanyId = __webpack_exports__.xRP;
1604
1114
  var __webpack_exports__getJsonColumnType = __webpack_exports__.pfh;
@@ -1609,16 +1119,21 @@ var __webpack_exports__getUserId = __webpack_exports__.F64;
1609
1119
  var __webpack_exports__hasCompanyId = __webpack_exports__.faw;
1610
1120
  var __webpack_exports__hashToken = __webpack_exports__.QKw;
1611
1121
  var __webpack_exports__instance = __webpack_exports__.KJ$;
1122
+ var __webpack_exports__isBranchWithin = __webpack_exports__.QUx;
1612
1123
  var __webpack_exports__isBrowserRequest = __webpack_exports__.whA;
1613
1124
  var __webpack_exports__isExpired = __webpack_exports__._dF;
1614
1125
  var __webpack_exports__isMultiWildcard = __webpack_exports__._cr;
1615
1126
  var __webpack_exports__loadOptionalModule = __webpack_exports__.lkO;
1127
+ var __webpack_exports__loadPermissionCodes = __webpack_exports__.CQw;
1616
1128
  var __webpack_exports__localToUtc = __webpack_exports__.vfv;
1617
1129
  var __webpack_exports__matchEventPattern = __webpack_exports__.qe;
1618
1130
  var __webpack_exports__matchesPermission = __webpack_exports__.xYV;
1619
1131
  var __webpack_exports__messageRef = __webpack_exports__.RGt;
1620
1132
  var __webpack_exports__moduleEventsToken = __webpack_exports__.RiU;
1133
+ var __webpack_exports__normalizeBranchIds = __webpack_exports__.kW7;
1621
1134
  var __webpack_exports__parseDurationToMs = __webpack_exports__.Ju5;
1135
+ var __webpack_exports__permissionLogicCodes = __webpack_exports__.MOQ;
1136
+ var __webpack_exports__permissionLogicProblem = __webpack_exports__.HUk;
1622
1137
  var __webpack_exports__publishDomainEvent = __webpack_exports__.wTm;
1623
1138
  var __webpack_exports__requestContext = __webpack_exports__.V8o;
1624
1139
  var __webpack_exports__sanitizeEventPayload = __webpack_exports__.INw;
@@ -1626,4 +1141,4 @@ var __webpack_exports__setRequestUser = __webpack_exports__.ZVR;
1626
1141
  var __webpack_exports__utcToLocal = __webpack_exports__.v41;
1627
1142
  var __webpack_exports__validateCompanyOwnership = __webpack_exports__.bEU;
1628
1143
  var __webpack_exports__withSavepoint = __webpack_exports__.o0T;
1629
- export { __webpack_exports__ACTION_PERMISSIONS as ACTION_PERMISSIONS, __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER as AI_ASSISTANT_AUTH_PROVIDER, __webpack_exports__AI_ASSISTANT_PERMISSIONS as AI_ASSISTANT_PERMISSIONS, __webpack_exports__AI_ASSISTANT_TOOL_PROVIDER as AI_ASSISTANT_TOOL_PROVIDER, __webpack_exports__AI_ASSISTANT_USER_LOOKUP_PROVIDER as AI_ASSISTANT_USER_LOOKUP_PROVIDER, __webpack_exports__AUDIT_BODY_KEYS as AUDIT_BODY_KEYS, __webpack_exports__AUTH_MESSAGES as AUTH_MESSAGES, __webpack_exports__ApiResponseDto as ApiResponseDto, __webpack_exports__ApiService as ApiService, __webpack_exports__BRANCH_PERMISSIONS as BRANCH_PERMISSIONS, __webpack_exports__BaseAppException as BaseAppException, __webpack_exports__BulkMetaDto as BulkMetaDto, __webpack_exports__BulkResponseDto as BulkResponseDto, __webpack_exports__CACHE_INSTANCE as CACHE_INSTANCE, __webpack_exports__CLIENT_TYPE_HEADER as CLIENT_TYPE_HEADER, __webpack_exports__COMPANY_ACTION_PERMISSIONS as COMPANY_ACTION_PERMISSIONS, __webpack_exports__COMPANY_PERMISSIONS as COMPANY_PERMISSIONS, __webpack_exports__CacheModule as CacheModule, __webpack_exports__ConflictException as ConflictException, __webpack_exports__CurrentUser as CurrentUser, __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT as DEFAULT_COMPANY_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_EVENT_EXCHANGE as DEFAULT_EVENT_EXCHANGE, __webpack_exports__DEFAULT_EVENT_SERVICE_NAME as DEFAULT_EVENT_SERVICE_NAME, __webpack_exports__DEFAULT_EVENT_TOPIC as DEFAULT_EVENT_TOPIC, __webpack_exports__DEFAULT_USER_PERMISSION_KEY_FORMAT as DEFAULT_USER_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_VALIDATION_OPTIONS as DEFAULT_VALIDATION_OPTIONS, __webpack_exports__DOMAIN_EVENT_HANDLER_KEY as DOMAIN_EVENT_HANDLER_KEY, __webpack_exports__DOMAIN_EVENT_VERSION as DOMAIN_EVENT_VERSION, __webpack_exports__DeleteDto as DeleteDto, __webpack_exports__DeleteEmptyIdFromBodyInterceptor as DeleteEmptyIdFromBodyInterceptor, __webpack_exports__DisabledEventBus as DisabledEventBus, __webpack_exports__DtoBodyValidationPipe as DtoBodyValidationPipe, __webpack_exports__EMAIL_CONFIG_PERMISSIONS as EMAIL_CONFIG_PERMISSIONS, __webpack_exports__EMAIL_TEMPLATE_PERMISSIONS as EMAIL_TEMPLATE_PERMISSIONS, __webpack_exports__ENTITY_BUILDER_ALL_DYNAMIC as ENTITY_BUILDER_ALL_DYNAMIC, __webpack_exports__ENTITY_DEFINITION_PERMISSIONS as ENTITY_DEFINITION_PERMISSIONS, __webpack_exports__ERROR_MESSAGES as ERROR_MESSAGES, __webpack_exports__EVENT_BUS_INSTANCE as EVENT_BUS_INSTANCE, __webpack_exports__EVENT_BUS_MODULE_OPTIONS as EVENT_BUS_MODULE_OPTIONS, __webpack_exports__EVENT_MANAGER_ADAPTER as EVENT_MANAGER_ADAPTER, __webpack_exports__EVENT_PERMISSIONS as EVENT_PERMISSIONS, __webpack_exports__EventBusExplorer as EventBusExplorer, __webpack_exports__EventBusModule as EventBusModule, __webpack_exports__EventBusRegistry as EventBusRegistry, __webpack_exports__EventTransportRegistry as EventTransportRegistry, __webpack_exports__FIELD_DEFINITION_PERMISSIONS as FIELD_DEFINITION_PERMISSIONS, __webpack_exports__FILE_PERMISSIONS as FILE_PERMISSIONS, __webpack_exports__FLOW_DEFINITION_PERMISSIONS as FLOW_DEFINITION_PERMISSIONS, __webpack_exports__FOLDER_PERMISSIONS as FOLDER_PERMISSIONS, __webpack_exports__FORM_PERMISSIONS as FORM_PERMISSIONS, __webpack_exports__FORM_RESULT_PERMISSIONS as FORM_RESULT_PERMISSIONS, __webpack_exports__FilterAndPaginationDto as FilterAndPaginationDto, __webpack_exports__ForbiddenException as ForbiddenException, __webpack_exports__GetByIdBodyDto as GetByIdBodyDto, __webpack_exports__GetByIdsDto as GetByIdsDto, __webpack_exports__GlobalExceptionFilter as GlobalExceptionFilter, __webpack_exports__HybridCache as HybridCache, __webpack_exports__HybridEventBus as HybridEventBus, __webpack_exports__IDEMPOTENCY_CACHE_PREFIX as IDEMPOTENCY_CACHE_PREFIX, __webpack_exports__IDEMPOTENCY_KEY_HEADER as IDEMPOTENCY_KEY_HEADER, __webpack_exports__IS_PUBLIC_KEY as IS_PUBLIC_KEY, __webpack_exports__IdempotencyInterceptor as IdempotencyInterceptor, __webpack_exports__Identity as Identity, __webpack_exports__IdentityResponseDto as IdentityResponseDto, __webpack_exports__InsufficientPermissionsException as InsufficientPermissionsException, __webpack_exports__InternalServerException as InternalServerException, __webpack_exports__JwtAuthGuard as JwtAuthGuard, __webpack_exports__LANGUAGE_PERMISSIONS as LANGUAGE_PERMISSIONS, __webpack_exports__ListResponseDto as ListResponseDto, __webpack_exports__LogAction as LogAction, __webpack_exports__LoggerMiddleware as LoggerMiddleware, __webpack_exports__MemoryTransport as MemoryTransport, __webpack_exports__MessageResponseDto as MessageResponseDto, __webpack_exports__MultiTenantDataSourceService as MultiTenantDataSourceService, __webpack_exports__NOTIFICATION_ADAPTER as NOTIFICATION_ADAPTER, __webpack_exports__NOTIFICATION_PERMISSIONS as NOTIFICATION_PERMISSIONS, __webpack_exports__NoPermissionsFoundException as NoPermissionsFoundException, __webpack_exports__NotFoundException as NotFoundException, __webpack_exports__NotificationType as NotificationType, __webpack_exports__OnDomainEvent as OnDomainEvent, __webpack_exports__OptionalJwtGuard as OptionalJwtGuard, __webpack_exports__PERMISSIONS as PERMISSIONS, __webpack_exports__PERMISSIONS_CACHE_PREFIX as PERMISSIONS_CACHE_PREFIX, __webpack_exports__PERMISSIONS_KEY as PERMISSIONS_KEY, __webpack_exports__PERMISSION_ACTION_REGISTRY as PERMISSION_ACTION_REGISTRY, __webpack_exports__PERMISSION_GUARD_CONFIG as PERMISSION_GUARD_CONFIG, __webpack_exports__PERMISSION_RESOLVER as PERMISSION_RESOLVER, __webpack_exports__PERMISSION_SYNC_ADAPTER as PERMISSION_SYNC_ADAPTER, __webpack_exports__PaginationDto as PaginationDto, __webpack_exports__PaginationMetaDto as PaginationMetaDto, __webpack_exports__ParticipantStatus as ParticipantStatus, __webpack_exports__PermissionGuard as PermissionGuard, __webpack_exports__PermissionSystemUnavailableException as PermissionSystemUnavailableException, __webpack_exports__Public as Public, __webpack_exports__REQUEST_ID_HEADER as REQUEST_ID_HEADER, __webpack_exports__ROLE_ACTION_PERMISSIONS as ROLE_ACTION_PERMISSIONS, __webpack_exports__ROLE_PERMISSIONS as ROLE_PERMISSIONS, __webpack_exports__RecurrenceType as RecurrenceType, __webpack_exports__RequestMetaDto as RequestMetaDto, __webpack_exports__RequireAnyPermission as RequireAnyPermission, __webpack_exports__RequirePermission as RequirePermission, __webpack_exports__RequirePermissionLogic as RequirePermissionLogic, __webpack_exports__ResponseMetaInterceptor as ResponseMetaInterceptor, __webpack_exports__SOCIAL_AUTH_CONFIG_PERMISSIONS as SOCIAL_AUTH_CONFIG_PERMISSIONS, __webpack_exports__STORAGE_CONFIG_PERMISSIONS as STORAGE_CONFIG_PERMISSIONS, __webpack_exports__SYSTEM_MESSAGES as SYSTEM_MESSAGES, __webpack_exports__ServiceUnavailableException as ServiceUnavailableException, __webpack_exports__SetCreatedByOnBody as SetCreatedByOnBody, __webpack_exports__SetDeletedByOnBody as SetDeletedByOnBody, __webpack_exports__SetUpdateByOnBody as SetUpdateByOnBody, __webpack_exports__SharedPermissionCacheModule as SharedPermissionCacheModule, __webpack_exports__SharedPermissionCacheService as SharedPermissionCacheService, __webpack_exports__SingleResponseDto as SingleResponseDto, __webpack_exports__Slug as Slug, __webpack_exports__TASK_BOARD_PERMISSIONS as TASK_BOARD_PERMISSIONS, __webpack_exports__TASK_COMMENT_PERMISSIONS as TASK_COMMENT_PERMISSIONS, __webpack_exports__TASK_LABEL_PERMISSIONS as TASK_LABEL_PERMISSIONS, __webpack_exports__TASK_LIST_PERMISSIONS as TASK_LIST_PERMISSIONS, __webpack_exports__TASK_PERMISSIONS as TASK_PERMISSIONS, __webpack_exports__TRANSLATION_KEY_PERMISSIONS as TRANSLATION_KEY_PERMISSIONS, __webpack_exports__TRANSLATION_PERMISSIONS as TRANSLATION_PERMISSIONS, __webpack_exports__UPLOAD_CONFIG_PERMISSIONS as UPLOAD_CONFIG_PERMISSIONS, __webpack_exports__USER_ACTION_PERMISSIONS as USER_ACTION_PERMISSIONS, __webpack_exports__USER_PERMISSIONS as USER_PERMISSIONS, __webpack_exports__USER_ROLE_PERMISSIONS as USER_ROLE_PERMISSIONS, __webpack_exports__UnauthorizedException as UnauthorizedException, __webpack_exports__UserRoot as UserRoot, __webpack_exports__UtilsModule as UtilsModule, __webpack_exports__UtilsService as UtilsService, __webpack_exports__ValidationException as ValidationException, __webpack_exports__applyCompanyFilter as applyCompanyFilter, __webpack_exports__buildCompanyWhereCondition as buildCompanyWhereCondition, __webpack_exports__buildCookieOptions as buildCookieOptions, __webpack_exports__buildDomainEvent as buildDomainEvent, __webpack_exports__buildFrontendUrl as buildFrontendUrl, __webpack_exports__buildPermissionCacheKey as buildPermissionCacheKey, __webpack_exports__buildQuery as buildQuery, __webpack_exports__cacheTenantId as cacheTenantId, __webpack_exports__createApiController as createApiController, __webpack_exports__createModuleEventsProvider as createModuleEventsProvider, __webpack_exports__createModuleLogger as createModuleLogger, __webpack_exports__createSetUserFieldInterceptor as createSetUserFieldInterceptor, __webpack_exports__dynamicEntityPermission as dynamicEntityPermission, __webpack_exports__dynamicEntityPermissionParent as dynamicEntityPermissionParent, __webpack_exports__escapeHtml as escapeHtml, __webpack_exports__escapeHtmlVariables as escapeHtmlVariables, __webpack_exports__extractFrontendUrl as extractFrontendUrl, __webpack_exports__formatInTimezone as formatInTimezone, __webpack_exports__generateSecureToken as generateSecureToken, __webpack_exports__generateSlug as generateSlug, __webpack_exports__generateUniqueSlug as generateUniqueSlug, __webpack_exports__getCastIntType as getCastIntType, __webpack_exports__getCompanyId as getCompanyId, __webpack_exports__getJsonColumnType as getJsonColumnType, __webpack_exports__getRequestId as getRequestId, __webpack_exports__getTenantId as getTenantId, __webpack_exports__getTodayInTimezone as getTodayInTimezone, __webpack_exports__getUserId as getUserId, __webpack_exports__hasCompanyId as hasCompanyId, __webpack_exports__hashToken as hashToken, __webpack_exports__instance as instance, __webpack_exports__isBrowserRequest as isBrowserRequest, __webpack_exports__isExpired as isExpired, __webpack_exports__isMultiWildcard as isMultiWildcard, __webpack_exports__loadOptionalModule as loadOptionalModule, __webpack_exports__localToUtc as localToUtc, __webpack_exports__matchEventPattern as matchEventPattern, __webpack_exports__matchesPermission as matchesPermission, __webpack_exports__messageRef as messageRef, __webpack_exports__moduleEventsToken as moduleEventsToken, __webpack_exports__parseDurationToMs as parseDurationToMs, __webpack_exports__publishDomainEvent as publishDomainEvent, __webpack_exports__requestContext as requestContext, __webpack_exports__sanitizeEventPayload as sanitizeEventPayload, __webpack_exports__setRequestUser as setRequestUser, __webpack_exports__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership, __webpack_exports__withSavepoint as withSavepoint };
1144
+ export { __webpack_exports__ACTION_PERMISSIONS as ACTION_PERMISSIONS, __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER as AI_ASSISTANT_AUTH_PROVIDER, __webpack_exports__AI_ASSISTANT_PERMISSIONS as AI_ASSISTANT_PERMISSIONS, __webpack_exports__AI_ASSISTANT_TOOL_PROVIDER as AI_ASSISTANT_TOOL_PROVIDER, __webpack_exports__AI_ASSISTANT_USER_LOOKUP_PROVIDER as AI_ASSISTANT_USER_LOOKUP_PROVIDER, __webpack_exports__AUDIT_BODY_KEYS as AUDIT_BODY_KEYS, __webpack_exports__AUTH_MESSAGES as AUTH_MESSAGES, __webpack_exports__ApiResponseDto as ApiResponseDto, __webpack_exports__ApiService as ApiService, __webpack_exports__BRANCH_HIERARCHY_RESOLVER as BRANCH_HIERARCHY_RESOLVER, __webpack_exports__BRANCH_PERMISSIONS as BRANCH_PERMISSIONS, __webpack_exports__BaseAppException as BaseAppException, __webpack_exports__BulkMetaDto as BulkMetaDto, __webpack_exports__BulkResponseDto as BulkResponseDto, __webpack_exports__CACHE_INSTANCE as CACHE_INSTANCE, __webpack_exports__CLIENT_TYPE_HEADER as CLIENT_TYPE_HEADER, __webpack_exports__COMPANY_ACCESS_RESOLVER as COMPANY_ACCESS_RESOLVER, __webpack_exports__COMPANY_ACTION_PERMISSIONS as COMPANY_ACTION_PERMISSIONS, __webpack_exports__COMPANY_PERMISSIONS as COMPANY_PERMISSIONS, __webpack_exports__CacheModule as CacheModule, __webpack_exports__ConflictException as ConflictException, __webpack_exports__CurrentUser as CurrentUser, __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT as DEFAULT_COMPANY_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_EVENT_EXCHANGE as DEFAULT_EVENT_EXCHANGE, __webpack_exports__DEFAULT_EVENT_SERVICE_NAME as DEFAULT_EVENT_SERVICE_NAME, __webpack_exports__DEFAULT_EVENT_TOPIC as DEFAULT_EVENT_TOPIC, __webpack_exports__DEFAULT_USER_PERMISSION_KEY_FORMAT as DEFAULT_USER_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_VALIDATION_OPTIONS as DEFAULT_VALIDATION_OPTIONS, __webpack_exports__DOMAIN_EVENT_HANDLER_KEY as DOMAIN_EVENT_HANDLER_KEY, __webpack_exports__DOMAIN_EVENT_VERSION as DOMAIN_EVENT_VERSION, __webpack_exports__DeleteDto as DeleteDto, __webpack_exports__DeleteEmptyIdFromBodyInterceptor as DeleteEmptyIdFromBodyInterceptor, __webpack_exports__DisabledEventBus as DisabledEventBus, __webpack_exports__DtoBodyValidationPipe as DtoBodyValidationPipe, __webpack_exports__EMAIL_ADAPTER as EMAIL_ADAPTER, __webpack_exports__EMAIL_CONFIG_PERMISSIONS as EMAIL_CONFIG_PERMISSIONS, __webpack_exports__EMAIL_TEMPLATE_PERMISSIONS as EMAIL_TEMPLATE_PERMISSIONS, __webpack_exports__ENTITY_BUILDER_ALL_DYNAMIC as ENTITY_BUILDER_ALL_DYNAMIC, __webpack_exports__ENTITY_DEFINITION_PERMISSIONS as ENTITY_DEFINITION_PERMISSIONS, __webpack_exports__ERROR_MESSAGES as ERROR_MESSAGES, __webpack_exports__EVENT_BUS_INSTANCE as EVENT_BUS_INSTANCE, __webpack_exports__EVENT_BUS_MODULE_OPTIONS as EVENT_BUS_MODULE_OPTIONS, __webpack_exports__EVENT_MANAGER_ADAPTER as EVENT_MANAGER_ADAPTER, __webpack_exports__EVENT_PERMISSIONS as EVENT_PERMISSIONS, __webpack_exports__EventBusExplorer as EventBusExplorer, __webpack_exports__EventBusModule as EventBusModule, __webpack_exports__EventBusRegistry as EventBusRegistry, __webpack_exports__EventTransportRegistry as EventTransportRegistry, __webpack_exports__FIELD_DEFINITION_PERMISSIONS as FIELD_DEFINITION_PERMISSIONS, __webpack_exports__FILE_PERMISSIONS as FILE_PERMISSIONS, __webpack_exports__FLOW_DEFINITION_PERMISSIONS as FLOW_DEFINITION_PERMISSIONS, __webpack_exports__FOLDER_PERMISSIONS as FOLDER_PERMISSIONS, __webpack_exports__FORM_PERMISSIONS as FORM_PERMISSIONS, __webpack_exports__FORM_RESULT_PERMISSIONS as FORM_RESULT_PERMISSIONS, __webpack_exports__FilterAndPaginationDto as FilterAndPaginationDto, __webpack_exports__ForbiddenException as ForbiddenException, __webpack_exports__GetByIdBodyDto as GetByIdBodyDto, __webpack_exports__GetByIdsDto as GetByIdsDto, __webpack_exports__GlobalExceptionFilter as GlobalExceptionFilter, __webpack_exports__HybridCache as HybridCache, __webpack_exports__HybridEventBus as HybridEventBus, __webpack_exports__IDEMPOTENCY_CACHE_PREFIX as IDEMPOTENCY_CACHE_PREFIX, __webpack_exports__IDEMPOTENCY_KEY_HEADER as IDEMPOTENCY_KEY_HEADER, __webpack_exports__IS_PUBLIC_KEY as IS_PUBLIC_KEY, __webpack_exports__IdempotencyInterceptor as IdempotencyInterceptor, __webpack_exports__Identity as Identity, __webpack_exports__IdentityResponseDto as IdentityResponseDto, __webpack_exports__InsufficientPermissionsException as InsufficientPermissionsException, __webpack_exports__InternalServerException as InternalServerException, __webpack_exports__JwtAuthGuard as JwtAuthGuard, __webpack_exports__LANGUAGE_PERMISSIONS as LANGUAGE_PERMISSIONS, __webpack_exports__ListResponseDto as ListResponseDto, __webpack_exports__LogAction as LogAction, __webpack_exports__LoggerMiddleware as LoggerMiddleware, __webpack_exports__MAX_PERMISSION_LOGIC_CODES as MAX_PERMISSION_LOGIC_CODES, __webpack_exports__MAX_PERMISSION_LOGIC_DEPTH as MAX_PERMISSION_LOGIC_DEPTH, __webpack_exports__MemoryTransport as MemoryTransport, __webpack_exports__MessageResponseDto as MessageResponseDto, __webpack_exports__MultiTenantDataSourceService as MultiTenantDataSourceService, __webpack_exports__NOTIFICATION_ADAPTER as NOTIFICATION_ADAPTER, __webpack_exports__NOTIFICATION_PERMISSIONS as NOTIFICATION_PERMISSIONS, __webpack_exports__NoPermissionsFoundException as NoPermissionsFoundException, __webpack_exports__NotFoundException as NotFoundException, __webpack_exports__NotificationType as NotificationType, __webpack_exports__OnDomainEvent as OnDomainEvent, __webpack_exports__OptionalJwtGuard as OptionalJwtGuard, __webpack_exports__PERMISSIONS as PERMISSIONS, __webpack_exports__PERMISSIONS_CACHE_PREFIX as PERMISSIONS_CACHE_PREFIX, __webpack_exports__PERMISSIONS_KEY as PERMISSIONS_KEY, __webpack_exports__PERMISSION_ACTION_REGISTRY as PERMISSION_ACTION_REGISTRY, __webpack_exports__PERMISSION_GUARD_CONFIG as PERMISSION_GUARD_CONFIG, __webpack_exports__PERMISSION_RESOLVER as PERMISSION_RESOLVER, __webpack_exports__PERMISSION_SYNC_ADAPTER as PERMISSION_SYNC_ADAPTER, __webpack_exports__PaginationDto as PaginationDto, __webpack_exports__PaginationMetaDto as PaginationMetaDto, __webpack_exports__ParticipantStatus as ParticipantStatus, __webpack_exports__PermissionGuard as PermissionGuard, __webpack_exports__PermissionSystemUnavailableException as PermissionSystemUnavailableException, __webpack_exports__Public as Public, __webpack_exports__REQUEST_ID_HEADER as REQUEST_ID_HEADER, __webpack_exports__ROLE_ACTION_PERMISSIONS as ROLE_ACTION_PERMISSIONS, __webpack_exports__ROLE_PERMISSIONS as ROLE_PERMISSIONS, __webpack_exports__RecurrenceType as RecurrenceType, __webpack_exports__RequestMetaDto as RequestMetaDto, __webpack_exports__RequireAnyPermission as RequireAnyPermission, __webpack_exports__RequirePermission as RequirePermission, __webpack_exports__RequirePermissionLogic as RequirePermissionLogic, __webpack_exports__ResponseMetaInterceptor as ResponseMetaInterceptor, __webpack_exports__SOCIAL_AUTH_CONFIG_PERMISSIONS as SOCIAL_AUTH_CONFIG_PERMISSIONS, __webpack_exports__STORAGE_CONFIG_PERMISSIONS as STORAGE_CONFIG_PERMISSIONS, __webpack_exports__SYSTEM_MESSAGES as SYSTEM_MESSAGES, __webpack_exports__ServiceUnavailableException as ServiceUnavailableException, __webpack_exports__SetCreatedByOnBody as SetCreatedByOnBody, __webpack_exports__SetDeletedByOnBody as SetDeletedByOnBody, __webpack_exports__SetUpdateByOnBody as SetUpdateByOnBody, __webpack_exports__SharedPermissionCacheModule as SharedPermissionCacheModule, __webpack_exports__SharedPermissionCacheService as SharedPermissionCacheService, __webpack_exports__SingleResponseDto as SingleResponseDto, __webpack_exports__Slug as Slug, __webpack_exports__TASK_BOARD_PERMISSIONS as TASK_BOARD_PERMISSIONS, __webpack_exports__TASK_COMMENT_PERMISSIONS as TASK_COMMENT_PERMISSIONS, __webpack_exports__TASK_LABEL_PERMISSIONS as TASK_LABEL_PERMISSIONS, __webpack_exports__TASK_LIST_PERMISSIONS as TASK_LIST_PERMISSIONS, __webpack_exports__TASK_PERMISSIONS as TASK_PERMISSIONS, __webpack_exports__TRANSLATION_KEY_PERMISSIONS as TRANSLATION_KEY_PERMISSIONS, __webpack_exports__TRANSLATION_PERMISSIONS as TRANSLATION_PERMISSIONS, __webpack_exports__UPLOAD_CONFIG_PERMISSIONS as UPLOAD_CONFIG_PERMISSIONS, __webpack_exports__USER_ACTION_PERMISSIONS as USER_ACTION_PERMISSIONS, __webpack_exports__USER_PERMISSIONS as USER_PERMISSIONS, __webpack_exports__USER_ROLE_PERMISSIONS as USER_ROLE_PERMISSIONS, __webpack_exports__UnauthorizedException as UnauthorizedException, __webpack_exports__UserRoot as UserRoot, __webpack_exports__UtilsModule as UtilsModule, __webpack_exports__UtilsService as UtilsService, __webpack_exports__ValidationException as ValidationException, __webpack_exports__applyBranchFilter as applyBranchFilter, __webpack_exports__applyCompanyFilter as applyCompanyFilter, __webpack_exports__buildCompanyWhereCondition as buildCompanyWhereCondition, __webpack_exports__buildCookieOptions as buildCookieOptions, __webpack_exports__buildDomainEvent as buildDomainEvent, __webpack_exports__buildFrontendUrl as buildFrontendUrl, __webpack_exports__buildPermissionCacheKey as buildPermissionCacheKey, __webpack_exports__buildQuery as buildQuery, __webpack_exports__cacheTenantId as cacheTenantId, __webpack_exports__collectBranchAncestorIds as collectBranchAncestorIds, __webpack_exports__collectBranchDescendantIds as collectBranchDescendantIds, __webpack_exports__createApiController as createApiController, __webpack_exports__createModuleEventsProvider as createModuleEventsProvider, __webpack_exports__createModuleLogger as createModuleLogger, __webpack_exports__createSetUserFieldInterceptor as createSetUserFieldInterceptor, __webpack_exports__dynamicEntityPermission as dynamicEntityPermission, __webpack_exports__dynamicEntityPermissionParent as dynamicEntityPermissionParent, __webpack_exports__escapeHtml as escapeHtml, __webpack_exports__escapeHtmlVariables as escapeHtmlVariables, __webpack_exports__evaluatePermissionLogic as evaluatePermissionLogic, __webpack_exports__extractFrontendUrl as extractFrontendUrl, __webpack_exports__formatInTimezone as formatInTimezone, __webpack_exports__generateSecureToken as generateSecureToken, __webpack_exports__generateSlug as generateSlug, __webpack_exports__generateUniqueSlug as generateUniqueSlug, __webpack_exports__getBranchPath as getBranchPath, __webpack_exports__getCastIntType as getCastIntType, __webpack_exports__getCompanyId as getCompanyId, __webpack_exports__getJsonColumnType as getJsonColumnType, __webpack_exports__getRequestId as getRequestId, __webpack_exports__getTenantId as getTenantId, __webpack_exports__getTodayInTimezone as getTodayInTimezone, __webpack_exports__getUserId as getUserId, __webpack_exports__hasCompanyId as hasCompanyId, __webpack_exports__hashToken as hashToken, __webpack_exports__instance as instance, __webpack_exports__isBranchWithin as isBranchWithin, __webpack_exports__isBrowserRequest as isBrowserRequest, __webpack_exports__isExpired as isExpired, __webpack_exports__isMultiWildcard as isMultiWildcard, __webpack_exports__loadOptionalModule as loadOptionalModule, __webpack_exports__loadPermissionCodes as loadPermissionCodes, __webpack_exports__localToUtc as localToUtc, __webpack_exports__matchEventPattern as matchEventPattern, __webpack_exports__matchesPermission as matchesPermission, __webpack_exports__messageRef as messageRef, __webpack_exports__moduleEventsToken as moduleEventsToken, __webpack_exports__normalizeBranchIds as normalizeBranchIds, __webpack_exports__parseDurationToMs as parseDurationToMs, __webpack_exports__permissionLogicCodes as permissionLogicCodes, __webpack_exports__permissionLogicProblem as permissionLogicProblem, __webpack_exports__publishDomainEvent as publishDomainEvent, __webpack_exports__requestContext as requestContext, __webpack_exports__sanitizeEventPayload as sanitizeEventPayload, __webpack_exports__setRequestUser as setRequestUser, __webpack_exports__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership, __webpack_exports__withSavepoint as withSavepoint };