@flusys/nestjs-shared 8.0.2 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm/index.js CHANGED
@@ -465,6 +465,7 @@ __webpack_require__.d(__webpack_exports__, {
465
465
  qo: () => (/* reexport */ utils/* .escapeHtmlVariables */.qo),
466
466
  hX: () => (/* reexport */ utils/* .extractFrontendUrl */.hX),
467
467
  Sd: () => (/* reexport */ utils/* .formatInTimezone */.Sd),
468
+ sN: () => (/* reexport */ utils/* .generateSecureToken */.sN),
468
469
  z9: () => (/* reexport */ utils/* .generateSlug */.z9),
469
470
  oo: () => (/* reexport */ utils/* .generateUniqueSlug */.oo),
470
471
  Tj: () => (/* reexport */ classes/* .getCastIntType */.Tj),
@@ -475,8 +476,10 @@ __webpack_require__.d(__webpack_exports__, {
475
476
  oB: () => (/* reexport */ utils/* .getTodayInTimezone */.oB),
476
477
  F6: () => (/* reexport */ middlewares/* .getUserId */.F6),
477
478
  yx: () => (/* reexport */ utils/* .hasCompanyId */.f),
479
+ QK: () => (/* reexport */ utils/* .hashToken */.QK),
478
480
  KJ: () => (/* reexport */ classes/* .instance */.KJ),
479
481
  wh: () => (/* reexport */ utils/* .isBrowserRequest */.wh),
482
+ _d: () => (/* reexport */ utils/* .isExpired */._d),
480
483
  _c: () => (/* reexport */ utils/* .isMultiWildcard */._c),
481
484
  lk: () => (/* reexport */ utils/* .loadOptionalModule */.lk),
482
485
  vf: () => (/* reexport */ utils/* .localToUtc */.vf),
@@ -790,8 +793,8 @@ var interfaces = __webpack_require__(473);
790
793
  var middlewares = __webpack_require__(799);
791
794
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/modules/index.ts + 9 modules
792
795
  var modules = __webpack_require__(686);
793
- // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/index.ts + 5 modules
794
- var utils = __webpack_require__(306);
796
+ // EXTERNAL MODULE: ./projects/nestjs-shared/src/utils/index.ts + 6 modules
797
+ var utils = __webpack_require__(712);
795
798
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/index.ts
796
799
 
797
800
 
@@ -866,7 +869,7 @@ __webpack_require__.d(__webpack_exports__, {
866
869
 
867
870
 
868
871
  },
869
- 306(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
872
+ 712(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
870
873
 
871
874
  // EXPORTS
872
875
  __webpack_require__.d(__webpack_exports__, {
@@ -881,11 +884,14 @@ __webpack_require__.d(__webpack_exports__, {
881
884
  qo: () => (/* reexport */ escapeHtmlVariables),
882
885
  hX: () => (/* reexport */ extractFrontendUrl),
883
886
  Sd: () => (/* reexport */ formatInTimezone),
887
+ sN: () => (/* reexport */ generateSecureToken),
884
888
  z9: () => (/* reexport */ generateSlug),
885
889
  oo: () => (/* reexport */ generateUniqueSlug),
886
890
  oB: () => (/* reexport */ getTodayInTimezone),
887
891
  f: () => (/* reexport */ hasCompanyId),
892
+ QK: () => (/* reexport */ hashToken),
888
893
  wh: () => (/* reexport */ isBrowserRequest),
894
+ _d: () => (/* reexport */ isExpired),
889
895
  _c: () => (/* reexport */ event_pattern_util/* .isMultiWildcard */._c),
890
896
  lk: () => (/* reexport */ optional_module_util/* .loadOptionalModule */.l),
891
897
  vf: () => (/* reexport */ localToUtc),
@@ -1301,6 +1307,20 @@ function buildFrontendUrl(req, path) {
1301
1307
  return `${baseSlug}-${randomSuffix}`;
1302
1308
  }
1303
1309
 
1310
+ // EXTERNAL MODULE: external "crypto"
1311
+ var external_crypto_ = __webpack_require__(823);
1312
+ ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/token.util.ts
1313
+
1314
+ /** 32 random bytes as hex, suitable for a password-reset/OTP/access-style token */ function generateSecureToken() {
1315
+ return external_crypto_.randomBytes(32).toString('hex');
1316
+ }
1317
+ /** SHA-256 hash of a token, for storing/comparing tokens without keeping the raw value */ function hashToken(value) {
1318
+ return external_crypto_.createHash('sha256').update(value).digest('hex');
1319
+ }
1320
+ function isExpired(expiresAt) {
1321
+ return expiresAt < new Date();
1322
+ }
1323
+
1304
1324
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/index.ts
1305
1325
 
1306
1326
 
@@ -1312,6 +1332,7 @@ function buildFrontendUrl(req, path) {
1312
1332
 
1313
1333
 
1314
1334
 
1335
+
1315
1336
  },
1316
1337
  368(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
1317
1338
  /**
@@ -1498,6 +1519,7 @@ var __webpack_exports__escapeHtml = __webpack_exports__.ZD;
1498
1519
  var __webpack_exports__escapeHtmlVariables = __webpack_exports__.qo;
1499
1520
  var __webpack_exports__extractFrontendUrl = __webpack_exports__.hX;
1500
1521
  var __webpack_exports__formatInTimezone = __webpack_exports__.Sd;
1522
+ var __webpack_exports__generateSecureToken = __webpack_exports__.sN;
1501
1523
  var __webpack_exports__generateSlug = __webpack_exports__.z9;
1502
1524
  var __webpack_exports__generateUniqueSlug = __webpack_exports__.oo;
1503
1525
  var __webpack_exports__getCastIntType = __webpack_exports__.Tj;
@@ -1508,8 +1530,10 @@ var __webpack_exports__getTenantId = __webpack_exports__.EO;
1508
1530
  var __webpack_exports__getTodayInTimezone = __webpack_exports__.oB;
1509
1531
  var __webpack_exports__getUserId = __webpack_exports__.F6;
1510
1532
  var __webpack_exports__hasCompanyId = __webpack_exports__.yx;
1533
+ var __webpack_exports__hashToken = __webpack_exports__.QK;
1511
1534
  var __webpack_exports__instance = __webpack_exports__.KJ;
1512
1535
  var __webpack_exports__isBrowserRequest = __webpack_exports__.wh;
1536
+ var __webpack_exports__isExpired = __webpack_exports__._d;
1513
1537
  var __webpack_exports__isMultiWildcard = __webpack_exports__._c;
1514
1538
  var __webpack_exports__loadOptionalModule = __webpack_exports__.lk;
1515
1539
  var __webpack_exports__localToUtc = __webpack_exports__.vf;
@@ -1521,4 +1545,4 @@ var __webpack_exports__requestContext = __webpack_exports__.V8;
1521
1545
  var __webpack_exports__sanitizeEventPayload = __webpack_exports__.IN;
1522
1546
  var __webpack_exports__utcToLocal = __webpack_exports__.v4;
1523
1547
  var __webpack_exports__validateCompanyOwnership = __webpack_exports__.bE;
1524
- 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__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__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__EMAIL_CONFIG_PERMISSIONS as EMAIL_CONFIG_PERMISSIONS, __webpack_exports__EMAIL_TEMPLATE_PERMISSIONS as EMAIL_TEMPLATE_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__FILE_PERMISSIONS as FILE_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_GUARD_CONFIG as PERMISSION_GUARD_CONFIG, __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__createApiController as createApiController, __webpack_exports__createModuleEventsProvider as createModuleEventsProvider, __webpack_exports__createModuleLogger as createModuleLogger, __webpack_exports__createSetUserFieldInterceptor as createSetUserFieldInterceptor, __webpack_exports__escapeHtml as escapeHtml, __webpack_exports__escapeHtmlVariables as escapeHtmlVariables, __webpack_exports__extractFrontendUrl as extractFrontendUrl, __webpack_exports__formatInTimezone as formatInTimezone, __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__instance as instance, __webpack_exports__isBrowserRequest as isBrowserRequest, __webpack_exports__isMultiWildcard as isMultiWildcard, __webpack_exports__loadOptionalModule as loadOptionalModule, __webpack_exports__localToUtc as localToUtc, __webpack_exports__matchEventPattern as matchEventPattern, __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__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership };
1548
+ 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__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__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__EMAIL_CONFIG_PERMISSIONS as EMAIL_CONFIG_PERMISSIONS, __webpack_exports__EMAIL_TEMPLATE_PERMISSIONS as EMAIL_TEMPLATE_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__FILE_PERMISSIONS as FILE_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_GUARD_CONFIG as PERMISSION_GUARD_CONFIG, __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__createApiController as createApiController, __webpack_exports__createModuleEventsProvider as createModuleEventsProvider, __webpack_exports__createModuleLogger as createModuleLogger, __webpack_exports__createSetUserFieldInterceptor as createSetUserFieldInterceptor, __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__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__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership };
@@ -1,5 +1,6 @@
1
1
  import * as __rspack_external__flusys_nestjs_core_config_197fa0a9 from "@flusys/nestjs-core/config";
2
2
  import * as __rspack_external__nestjs_common_a04939da from "@nestjs/common";
3
+ import * as __rspack_external_crypto from "crypto";
3
4
  export const __rspack_esm_id = 152;
4
5
  export const __rspack_esm_ids = [152];
5
6
  export const __webpack_modules__ = {
@@ -498,7 +499,7 @@ __webpack_require__.d(__webpack_exports__, {
498
499
 
499
500
 
500
501
  },
501
- 306(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
502
+ 712(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
502
503
 
503
504
  // EXPORTS
504
505
  __webpack_require__.d(__webpack_exports__, {
@@ -513,11 +514,14 @@ __webpack_require__.d(__webpack_exports__, {
513
514
  qo: () => (/* reexport */ escapeHtmlVariables),
514
515
  hX: () => (/* reexport */ extractFrontendUrl),
515
516
  Sd: () => (/* reexport */ formatInTimezone),
517
+ sN: () => (/* reexport */ generateSecureToken),
516
518
  z9: () => (/* reexport */ generateSlug),
517
519
  oo: () => (/* reexport */ generateUniqueSlug),
518
520
  oB: () => (/* reexport */ getTodayInTimezone),
519
521
  f: () => (/* reexport */ hasCompanyId),
522
+ QK: () => (/* reexport */ hashToken),
520
523
  wh: () => (/* reexport */ isBrowserRequest),
524
+ _d: () => (/* reexport */ isExpired),
521
525
  _c: () => (/* reexport */ event_pattern_util/* .isMultiWildcard */._c),
522
526
  lk: () => (/* reexport */ optional_module_util/* .loadOptionalModule */.l),
523
527
  vf: () => (/* reexport */ localToUtc),
@@ -933,6 +937,20 @@ function buildFrontendUrl(req, path) {
933
937
  return `${baseSlug}-${randomSuffix}`;
934
938
  }
935
939
 
940
+ // EXTERNAL MODULE: external "crypto"
941
+ var external_crypto_ = __webpack_require__(823);
942
+ ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/token.util.ts
943
+
944
+ /** 32 random bytes as hex, suitable for a password-reset/OTP/access-style token */ function generateSecureToken() {
945
+ return external_crypto_.randomBytes(32).toString('hex');
946
+ }
947
+ /** SHA-256 hash of a token, for storing/comparing tokens without keeping the raw value */ function hashToken(value) {
948
+ return external_crypto_.createHash('sha256').update(value).digest('hex');
949
+ }
950
+ function isExpired(expiresAt) {
951
+ return expiresAt < new Date();
952
+ }
953
+
936
954
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/utils/index.ts
937
955
 
938
956
 
@@ -944,6 +962,7 @@ function buildFrontendUrl(req, path) {
944
962
 
945
963
 
946
964
 
965
+
947
966
  },
948
967
  368(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
949
968
  /**
@@ -1011,6 +1030,12 @@ module.exports = __rspack_external__flusys_nestjs_core_config_197fa0a9;
1011
1030
  module.exports = __rspack_external__nestjs_common_a04939da;
1012
1031
 
1013
1032
 
1033
+ },
1034
+ 823(module) {
1035
+
1036
+ module.exports = __rspack_external_crypto;
1037
+
1038
+
1014
1039
  },
1015
1040
 
1016
1041
  };
@@ -1018,7 +1043,7 @@ import { __webpack_require__ } from '../runtime.js';
1018
1043
  var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
1019
1044
  import * as __rspack_chunk_1 from './index.js';
1020
1045
  __webpack_require__.C(__rspack_chunk_1);
1021
- var __webpack_exports__ = __webpack_exec__(306);var __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT = __webpack_exports__.s8;
1046
+ var __webpack_exports__ = __webpack_exec__(712);var __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT = __webpack_exports__.s8;
1022
1047
  var __webpack_exports__DEFAULT_USER_PERMISSION_KEY_FORMAT = __webpack_exports__.q6;
1023
1048
  var __webpack_exports__applyCompanyFilter = __webpack_exports__.wf;
1024
1049
  var __webpack_exports__buildCompanyWhereCondition = __webpack_exports__.kQ;
@@ -1029,11 +1054,14 @@ var __webpack_exports__escapeHtml = __webpack_exports__.ZD;
1029
1054
  var __webpack_exports__escapeHtmlVariables = __webpack_exports__.qo;
1030
1055
  var __webpack_exports__extractFrontendUrl = __webpack_exports__.hX;
1031
1056
  var __webpack_exports__formatInTimezone = __webpack_exports__.Sd;
1057
+ var __webpack_exports__generateSecureToken = __webpack_exports__.sN;
1032
1058
  var __webpack_exports__generateSlug = __webpack_exports__.z9;
1033
1059
  var __webpack_exports__generateUniqueSlug = __webpack_exports__.oo;
1034
1060
  var __webpack_exports__getTodayInTimezone = __webpack_exports__.oB;
1035
1061
  var __webpack_exports__hasCompanyId = __webpack_exports__.f;
1062
+ var __webpack_exports__hashToken = __webpack_exports__.QK;
1036
1063
  var __webpack_exports__isBrowserRequest = __webpack_exports__.wh;
1064
+ var __webpack_exports__isExpired = __webpack_exports__._d;
1037
1065
  var __webpack_exports__isMultiWildcard = __webpack_exports__._c;
1038
1066
  var __webpack_exports__loadOptionalModule = __webpack_exports__.lk;
1039
1067
  var __webpack_exports__localToUtc = __webpack_exports__.vf;
@@ -1042,4 +1070,4 @@ var __webpack_exports__parseDurationToMs = __webpack_exports__.Ju;
1042
1070
  var __webpack_exports__sanitizeEventPayload = __webpack_exports__.IN;
1043
1071
  var __webpack_exports__utcToLocal = __webpack_exports__.v4;
1044
1072
  var __webpack_exports__validateCompanyOwnership = __webpack_exports__.bE;
1045
- export { __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT as DEFAULT_COMPANY_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_USER_PERMISSION_KEY_FORMAT as DEFAULT_USER_PERMISSION_KEY_FORMAT, __webpack_exports__applyCompanyFilter as applyCompanyFilter, __webpack_exports__buildCompanyWhereCondition as buildCompanyWhereCondition, __webpack_exports__buildCookieOptions as buildCookieOptions, __webpack_exports__buildFrontendUrl as buildFrontendUrl, __webpack_exports__buildPermissionCacheKey as buildPermissionCacheKey, __webpack_exports__escapeHtml as escapeHtml, __webpack_exports__escapeHtmlVariables as escapeHtmlVariables, __webpack_exports__extractFrontendUrl as extractFrontendUrl, __webpack_exports__formatInTimezone as formatInTimezone, __webpack_exports__generateSlug as generateSlug, __webpack_exports__generateUniqueSlug as generateUniqueSlug, __webpack_exports__getTodayInTimezone as getTodayInTimezone, __webpack_exports__hasCompanyId as hasCompanyId, __webpack_exports__isBrowserRequest as isBrowserRequest, __webpack_exports__isMultiWildcard as isMultiWildcard, __webpack_exports__loadOptionalModule as loadOptionalModule, __webpack_exports__localToUtc as localToUtc, __webpack_exports__matchEventPattern as matchEventPattern, __webpack_exports__parseDurationToMs as parseDurationToMs, __webpack_exports__sanitizeEventPayload as sanitizeEventPayload, __webpack_exports__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership };
1073
+ export { __webpack_exports__DEFAULT_COMPANY_PERMISSION_KEY_FORMAT as DEFAULT_COMPANY_PERMISSION_KEY_FORMAT, __webpack_exports__DEFAULT_USER_PERMISSION_KEY_FORMAT as DEFAULT_USER_PERMISSION_KEY_FORMAT, __webpack_exports__applyCompanyFilter as applyCompanyFilter, __webpack_exports__buildCompanyWhereCondition as buildCompanyWhereCondition, __webpack_exports__buildCookieOptions as buildCookieOptions, __webpack_exports__buildFrontendUrl as buildFrontendUrl, __webpack_exports__buildPermissionCacheKey as buildPermissionCacheKey, __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__getTodayInTimezone as getTodayInTimezone, __webpack_exports__hasCompanyId as hasCompanyId, __webpack_exports__hashToken as hashToken, __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__parseDurationToMs as parseDurationToMs, __webpack_exports__sanitizeEventPayload as sanitizeEventPayload, __webpack_exports__utcToLocal as utcToLocal, __webpack_exports__validateCompanyOwnership as validateCompanyOwnership };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flusys/nestjs-shared",
3
- "version": "8.0.2",
3
+ "version": "8.1.0",
4
4
  "description": "Common shared utilities for Flusys NestJS applications",
5
5
  "type": "module",
6
6
  "main": "./fesm/index.js",
@@ -98,6 +98,6 @@
98
98
  "rxjs": "^7.8.0"
99
99
  },
100
100
  "dependencies": {
101
- "@flusys/nestjs-core": "8.0.2"
101
+ "@flusys/nestjs-core": "8.1.0"
102
102
  }
103
103
  }
package/utils/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export * from './permission-cache-key.util.js';
6
6
  export * from './query-helpers.util.js';
7
7
  export * from './request.util.js';
8
8
  export * from './string.util.js';
9
+ export * from './token.util.js';
@@ -0,0 +1,3 @@
1
+ export declare function generateSecureToken(): string;
2
+ export declare function hashToken(value: string): string;
3
+ export declare function isExpired(expiresAt: Date): boolean;