@culturefy/shared 1.0.72 → 1.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/build/cjs/enums/secretKeys.enum.js +1 -0
  2. package/build/cjs/enums/secretKeys.enum.js.map +1 -1
  3. package/build/cjs/index.js +6 -0
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/cjs/service/internal-api.js +66 -0
  6. package/build/cjs/service/internal-api.js.map +1 -0
  7. package/build/cjs/utils/index.js +6 -0
  8. package/build/cjs/utils/index.js.map +1 -1
  9. package/build/cjs/utils/service-bus-queue.js +31 -0
  10. package/build/cjs/utils/service-bus-queue.js.map +1 -0
  11. package/build/esm/enums/secretKeys.enum.js +1 -0
  12. package/build/esm/enums/secretKeys.enum.js.map +1 -1
  13. package/build/esm/index.js +1 -0
  14. package/build/esm/index.js.map +1 -1
  15. package/build/esm/service/internal-api.js +60 -0
  16. package/build/esm/service/internal-api.js.map +1 -0
  17. package/build/esm/utils/index.js +1 -0
  18. package/build/esm/utils/index.js.map +1 -1
  19. package/build/esm/utils/service-bus-queue.js +27 -0
  20. package/build/esm/utils/service-bus-queue.js.map +1 -0
  21. package/build/src/enums/secretKeys.enum.d.ts +1 -0
  22. package/build/src/enums/secretKeys.enum.js +1 -0
  23. package/build/src/enums/secretKeys.enum.js.map +1 -1
  24. package/build/src/index.d.ts +1 -0
  25. package/build/src/index.js +1 -0
  26. package/build/src/index.js.map +1 -1
  27. package/build/src/service/internal-api.d.ts +18 -0
  28. package/build/src/service/internal-api.js +81 -0
  29. package/build/src/service/internal-api.js.map +1 -0
  30. package/build/src/utils/index.d.ts +1 -0
  31. package/build/src/utils/index.js +1 -0
  32. package/build/src/utils/index.js.map +1 -1
  33. package/build/src/utils/service-bus-queue.d.ts +13 -0
  34. package/build/src/utils/service-bus-queue.js +33 -0
  35. package/build/src/utils/service-bus-queue.js.map +1 -0
  36. package/package.json +2 -1
@@ -42,6 +42,7 @@ let AzureSecretKeysEnum = exports.AzureSecretKeysEnum = /*#__PURE__*/function (A
42
42
  AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
43
43
  AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
44
44
  AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
45
+ AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
45
46
  AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
46
47
  AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
47
48
  AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
@@ -1 +1 @@
1
- {"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum","exports"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":";;;;AAAA;AAAA,IACYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,OA0C/B;AACA;AAEA","ignoreList":[]}
1
+ {"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum","exports"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n AGENTS_API_KEY = \"AGENTS-API-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":";;;;AAAA;AAAA,IACYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,OA2C/B;AACA;AAEA","ignoreList":[]}
@@ -43,4 +43,10 @@ Object.keys(_repositories).forEach(function (key) {
43
43
  if (key in exports && exports[key] === _repositories[key]) return;
44
44
  exports[key] = _repositories[key];
45
45
  });
46
+ var _internalApi = require("./service/internal-api");
47
+ Object.keys(_internalApi).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (key in exports && exports[key] === _internalApi[key]) return;
50
+ exports[key] = _internalApi[key];
51
+ });
46
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_types","require","Object","keys","forEach","key","exports","_enums","_utils","_cache","_middlewares","_constants","_repositories"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './types';\nexport * from './enums';\nexport * from './utils';\nexport * from './utils/cache';\nexport * from './middlewares';\nexport * from './constants';\nexport * from './repositories';\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,MAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,MAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,MAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,MAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,MAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,MAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,MAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,MAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,MAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,MAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,MAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,MAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,MAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,YAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,UAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,aAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,aAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,aAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,aAAA,CAAAP,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_types","require","Object","keys","forEach","key","exports","_enums","_utils","_cache","_middlewares","_constants","_repositories","_internalApi"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './types';\nexport * from './enums';\nexport * from './utils';\nexport * from './utils/cache';\nexport * from './middlewares';\nexport * from './constants';\nexport * from './repositories';\nexport * from './service/internal-api';\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,MAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,MAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,MAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,MAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,MAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,MAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,MAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,MAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,MAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,MAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,MAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,MAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,MAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,YAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,UAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,aAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,aAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,aAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,aAAA,CAAAP,GAAA;AAAA;AACA,IAAAQ,YAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,YAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,YAAA,CAAAR,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAQ,YAAA,CAAAR,GAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.internalApiClient = exports.InternalApiClient = void 0;
5
+ const buildHeaders = auth => {
6
+ const headers = {
7
+ "x-internal-key": auth.internalKey
8
+ };
9
+ if (auth.tenantId) headers["x-tenant-id"] = auth.tenantId;
10
+ if (auth.businessId) headers["x-business-id"] = auth.businessId;
11
+ if (auth.appId) headers["x-app-id"] = auth.appId;
12
+ if (auth.email) headers["x-email"] = auth.email;
13
+ if (auth.name) headers["x-name"] = auth.name;
14
+ if (auth.userId) headers["x-user-id"] = auth.userId;
15
+ return headers;
16
+ };
17
+ const normalizeBaseUrl = baseUrl => baseUrl.replace(/\/+$/, "");
18
+ const resolveApiBaseUrlFromEnv = () => {
19
+ const env = (process.env.APPLICATION_ENV || "").toLowerCase();
20
+ const baseFromEnv = env === "dev" ? "https://api.dev.culturefy.app" : env === "stage" || env === "staging" ? "https://api.staging.culturefy.app" : env === "prod" || env === "production" ? "https://api.culturefy.app" : "";
21
+ if (!baseFromEnv) {
22
+ throw new Error("Missing SHARED_USER_SERVICE_URL, API_BASE_URL, or valid APPLICATION_ENV");
23
+ }
24
+ return baseFromEnv;
25
+ };
26
+ const getSharedUserBaseUrl = override => {
27
+ if (override) return normalizeBaseUrl(override);
28
+ const direct = process.env.SHARED_USER_SERVICE_URL;
29
+ if (direct) return normalizeBaseUrl(direct);
30
+ const apiBase = process.env.CULTUREFY_API_BASE_URL || process.env.API_BASE_URL;
31
+ if (apiBase) {
32
+ return `${normalizeBaseUrl(apiBase)}/shared-user`;
33
+ }
34
+ const baseFromEnv = resolveApiBaseUrlFromEnv();
35
+ return `${baseFromEnv}/shared-user`;
36
+ };
37
+ class InternalApiClient {
38
+ async getUserById(args) {
39
+ const baseUrl = getSharedUserBaseUrl(args.baseUrl);
40
+ const url = `${baseUrl}/v1/interservices/user/${args.userId}`;
41
+ const res = await fetch(url, {
42
+ method: "GET",
43
+ headers: buildHeaders(args.auth)
44
+ });
45
+ if (!res.ok) {
46
+ const text = await res.text();
47
+ throw new Error(`internal-api error ${res.status}: ${text}`);
48
+ }
49
+ return await res.json();
50
+ }
51
+ }
52
+ exports.InternalApiClient = InternalApiClient;
53
+ const internalApiClient = () => new InternalApiClient();
54
+
55
+ // const user = await client.getUserById({
56
+ // userId: "65f0b1c9e8c2a123456789ab",
57
+ // auth: {
58
+ // internalKey: "12345",
59
+ // tenantId: "69b47db5c2be5714989ca8ae",
60
+ // businessId: "69b47db5c2be5714989ca8ae",
61
+ // appId: "5x8jws1b",
62
+ // userId: "65f0b1c9e8c2a123456789ab",
63
+ // },
64
+ // });
65
+ exports.internalApiClient = internalApiClient;
66
+ //# sourceMappingURL=internal-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-api.js","names":["buildHeaders","auth","headers","internalKey","tenantId","businessId","appId","email","name","userId","normalizeBaseUrl","baseUrl","replace","resolveApiBaseUrlFromEnv","env","process","APPLICATION_ENV","toLowerCase","baseFromEnv","Error","getSharedUserBaseUrl","override","direct","SHARED_USER_SERVICE_URL","apiBase","CULTUREFY_API_BASE_URL","API_BASE_URL","InternalApiClient","getUserById","args","url","res","fetch","method","ok","text","status","json","exports","internalApiClient"],"sources":["../../../src/service/internal-api.ts"],"sourcesContent":["export type InternalAuthHeaders = {\n internalKey: string;\n tenantId?: string;\n businessId?: string;\n appId?: string;\n email?: string;\n name?: string;\n userId?: string;\n};\n\nexport type GetUserByIdArgs = {\n userId: string;\n auth: InternalAuthHeaders;\n baseUrl?: string;\n};\n\nconst buildHeaders = (auth: InternalAuthHeaders): Record<string, string> => {\n const headers: Record<string, string> = {\n \"x-internal-key\": auth.internalKey,\n };\n if (auth.tenantId) headers[\"x-tenant-id\"] = auth.tenantId;\n if (auth.businessId) headers[\"x-business-id\"] = auth.businessId;\n if (auth.appId) headers[\"x-app-id\"] = auth.appId;\n if (auth.email) headers[\"x-email\"] = auth.email;\n if (auth.name) headers[\"x-name\"] = auth.name;\n if (auth.userId) headers[\"x-user-id\"] = auth.userId;\n return headers;\n};\n\nconst normalizeBaseUrl = (baseUrl: string): string => baseUrl.replace(/\\/+$/, \"\");\n\nconst resolveApiBaseUrlFromEnv = (): string => {\n const env = (process.env.APPLICATION_ENV || \"\").toLowerCase();\n const baseFromEnv =\n env === \"dev\"\n ? \"https://api.dev.culturefy.app\"\n : env === \"stage\" || env === \"staging\"\n ? \"https://api.staging.culturefy.app\"\n : env === \"prod\" || env === \"production\"\n ? \"https://api.culturefy.app\"\n : \"\";\n\n if (!baseFromEnv) {\n throw new Error(\"Missing SHARED_USER_SERVICE_URL, API_BASE_URL, or valid APPLICATION_ENV\");\n }\n\n return baseFromEnv;\n};\n\nconst getSharedUserBaseUrl = (override?: string): string => {\n if (override) return normalizeBaseUrl(override);\n const direct = process.env.SHARED_USER_SERVICE_URL;\n if (direct) return normalizeBaseUrl(direct);\n const apiBase = process.env.CULTUREFY_API_BASE_URL || process.env.API_BASE_URL;\n if (apiBase) {\n return `${normalizeBaseUrl(apiBase)}/shared-user`;\n }\n\n const baseFromEnv = resolveApiBaseUrlFromEnv();\n return `${baseFromEnv}/shared-user`;\n};\n\nexport class InternalApiClient {\n async getUserById<T>(args: GetUserByIdArgs): Promise<T> {\n const baseUrl = getSharedUserBaseUrl(args.baseUrl);\n const url = `${baseUrl}/v1/interservices/user/${args.userId}`;\n const res = await fetch(url, {\n method: \"GET\",\n headers: buildHeaders(args.auth),\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(`internal-api error ${res.status}: ${text}`);\n }\n return (await res.json()) as T;\n }\n}\n\nexport const internalApiClient = () => new InternalApiClient();\n\n// const user = await client.getUserById({\n// userId: \"65f0b1c9e8c2a123456789ab\",\n// auth: {\n// internalKey: \"12345\",\n// tenantId: \"69b47db5c2be5714989ca8ae\",\n// businessId: \"69b47db5c2be5714989ca8ae\",\n// appId: \"5x8jws1b\",\n// userId: \"65f0b1c9e8c2a123456789ab\",\n// },\n// });"],"mappings":"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","ignoreList":[]}
@@ -43,4 +43,10 @@ Object.keys(_cache).forEach(function (key) {
43
43
  if (key in exports && exports[key] === _cache[key]) return;
44
44
  exports[key] = _cache[key];
45
45
  });
46
+ var _serviceBusQueue = require("./service-bus-queue");
47
+ Object.keys(_serviceBusQueue).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (key in exports && exports[key] === _serviceBusQueue[key]) return;
50
+ exports[key] = _serviceBusQueue[key];
51
+ });
46
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_secrets","require","Object","keys","forEach","key","exports","_response","_initializers","_mapper","_jwt","_middleware","_cache"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,OAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,OAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,OAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,OAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,IAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,IAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,IAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,IAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,WAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,MAAA,CAAAP,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_secrets","require","Object","keys","forEach","key","exports","_response","_initializers","_mapper","_jwt","_middleware","_cache","_serviceBusQueue"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\nexport * from './service-bus-queue';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,OAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,OAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,OAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,OAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,IAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,IAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,IAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,IAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,WAAA,CAAAN,GAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,MAAA,CAAAP,GAAA;AAAA;AACA,IAAAQ,gBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,gBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,gBAAA,CAAAR,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAQ,gBAAA,CAAAR,GAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.sendServiceBusQueueMessage = sendServiceBusQueueMessage;
5
+ var _serviceBus = require("@azure/service-bus");
6
+ /**
7
+ * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
8
+ * `payload` is JSON-stringified unless it is already a string (raw body).
9
+ */
10
+ async function sendServiceBusQueueMessage(queueName, payload, options) {
11
+ var _options$connectionSt, _process$env$SERVICE_;
12
+ const connectionString = (options == null || (_options$connectionSt = options.connectionString) == null ? void 0 : _options$connectionSt.trim()) || ((_process$env$SERVICE_ = process.env.SERVICE_BUS_CONNECTION_STRING) == null ? void 0 : _process$env$SERVICE_.trim());
13
+ if (!connectionString) {
14
+ throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
15
+ }
16
+ const body = typeof payload === "string" ? payload : JSON.stringify(payload);
17
+ const client = new _serviceBus.ServiceBusClient(connectionString);
18
+ const sender = client.createSender(queueName);
19
+ try {
20
+ await sender.sendMessages({
21
+ body,
22
+ ...((options == null ? void 0 : options.applicationProperties) != null && Object.keys(options.applicationProperties).length > 0 ? {
23
+ applicationProperties: options.applicationProperties
24
+ } : {})
25
+ });
26
+ } finally {
27
+ await sender.close();
28
+ await client.close();
29
+ }
30
+ }
31
+ //# sourceMappingURL=service-bus-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-bus-queue.js","names":["_serviceBus","require","sendServiceBusQueueMessage","queueName","payload","options","_options$connectionSt","_process$env$SERVICE_","connectionString","trim","process","env","SERVICE_BUS_CONNECTION_STRING","Error","body","JSON","stringify","client","ServiceBusClient","sender","createSender","sendMessages","applicationProperties","Object","keys","length","close"],"sources":["../../../src/utils/service-bus-queue.ts"],"sourcesContent":["import { ServiceBusClient } from \"@azure/service-bus\";\n\nexport type ServiceBusQueueApplicationProperties = Record<\n string,\n string | number | boolean | Date\n>;\n\nexport type SendServiceBusQueueMessageOptions = {\n /**\n * Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.\n */\n connectionString?: string;\n applicationProperties?: ServiceBusQueueApplicationProperties;\n};\n\n/**\n * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.\n * `payload` is JSON-stringified unless it is already a string (raw body).\n */\nexport async function sendServiceBusQueueMessage(\n queueName: string,\n payload: unknown,\n options?: SendServiceBusQueueMessageOptions,\n): Promise<void> {\n const connectionString =\n options?.connectionString?.trim() ||\n process.env.SERVICE_BUS_CONNECTION_STRING?.trim();\n if (!connectionString) {\n throw new Error(\n \"Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING\",\n );\n }\n\n const body =\n typeof payload === \"string\" ? payload : JSON.stringify(payload);\n\n const client = new ServiceBusClient(connectionString);\n const sender = client.createSender(queueName);\n try {\n await sender.sendMessages({\n body,\n ...(options?.applicationProperties != null &&\n Object.keys(options.applicationProperties).length > 0\n ? { applicationProperties: options.applicationProperties }\n : {}),\n });\n } finally {\n await sender.close();\n await client.close();\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAeA;AACA;AACA;AACA;AACO,eAAeC,0BAA0BA,CAC9CC,SAAiB,EACjBC,OAAgB,EAChBC,OAA2C,EAC5B;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACf,MAAMC,gBAAgB,GACpB,CAAAH,OAAO,aAAAC,qBAAA,GAAPD,OAAO,CAAEG,gBAAgB,qBAAzBF,qBAAA,CAA2BG,IAAI,CAAC,CAAC,OAAAF,qBAAA,GACjCG,OAAO,CAACC,GAAG,CAACC,6BAA6B,qBAAzCL,qBAAA,CAA2CE,IAAI,CAAC,CAAC;EACnD,IAAI,CAACD,gBAAgB,EAAE;IACrB,MAAM,IAAIK,KAAK,CACb,2GACF,CAAC;EACH;EAEA,MAAMC,IAAI,GACR,OAAOV,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGW,IAAI,CAACC,SAAS,CAACZ,OAAO,CAAC;EAEjE,MAAMa,MAAM,GAAG,IAAIC,4BAAgB,CAACV,gBAAgB,CAAC;EACrD,MAAMW,MAAM,GAAGF,MAAM,CAACG,YAAY,CAACjB,SAAS,CAAC;EAC7C,IAAI;IACF,MAAMgB,MAAM,CAACE,YAAY,CAAC;MACxBP,IAAI;MACJ,IAAI,CAAAT,OAAO,oBAAPA,OAAO,CAAEiB,qBAAqB,KAAI,IAAI,IAC1CC,MAAM,CAACC,IAAI,CAACnB,OAAO,CAACiB,qBAAqB,CAAC,CAACG,MAAM,GAAG,CAAC,GACjD;QAAEH,qBAAqB,EAAEjB,OAAO,CAACiB;MAAsB,CAAC,GACxD,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC,SAAS;IACR,MAAMH,MAAM,CAACO,KAAK,CAAC,CAAC;IACpB,MAAMT,MAAM,CAACS,KAAK,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
@@ -38,6 +38,7 @@ export let AzureSecretKeysEnum = /*#__PURE__*/function (AzureSecretKeysEnum) {
38
38
  AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
39
39
  AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
40
40
  AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
41
+ AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
41
42
  AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
42
43
  AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
43
44
  AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
@@ -1 +1 @@
1
- {"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":"AAAA;AACA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;;AA0C/B;AACA;;AAEA","ignoreList":[]}
1
+ {"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n KEYCLOAK_ADMIN_CLIENT_SECRET = \"KEYCLOAK-ADMIN-CLIENT-SECRET\",\n KEYCLOAK_ADMIN_CLIENT_ID = \"KEYCLOAK-ADMIN-CLIENT-ID\",\n KEYCLOAK_BASE_URL = \"KEYCLOAK-BASE-URL\",\n STRIPE_PAYMENT_WEBHOOK_SECRET_KEY = \"Stripe-payment-webhook-secret-key\", // in-use\n STRIPE_PRODUCT_WEBHOOK_SECRET = \"Stripe-product-webhook-secret-key\", // in-use\n STRIPE_PRICE_WEBHOOK_SECRET = \"Stripe-price-webhook-secret-key\", // in-use\n EMAIL_SERVICE_URL = \"Email-Service-Url\", // in-use,\n DB_CONNECTING_STRING_AUTH = \"DB-CONNECTION-STRING-AUTH\",\n DB_CONNECTING_STRING_USER = \"DB-CONNECTION-STRING-USER\",\n DB_CONNECTING_STRING_PAYMENT = \"DB-CONNECTION-STRING-PAYMENT\",\n DB_CONNECTING_STRING_CORE = \"DB-CONNECTION-STRING-CORE\",\n DB_CONNECTING_STRING_BILLING = \"DB-CONNECTION-STRING-BILLING\",\n DB_CONNECTING_STRING_STAGING = \"DB-CONNECTION-STRING-STAGING\",\n DB_CONNECTING_STRING_BNT_DEV = \"DB-CONNECTION-STRING-BNT-DEV\",\n DB_CONNECTION_STRING_TENANT_BRIDGE = \"DB-CONNECTION-STRING-TENANT-BRIDGE\",\n SERVICE_BUS_CONNECTION_STRING = \"servicebus-connection-string\",\n STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET = \"stripe-customer-sync-webhook-secret-key\",\n STRIPE_INVOICE_SYNC_WEBHOOK_SECRET = \"stripe-invoice-sync-webhook-secret-key\",\n STRIPE_PRODUCT_SYNC_WEBHOOK_SECRET = \"stripe-product-sync-webhook-secret-key\",\n STRIPE_PRICE_SYNC_WEBHOOK_SECRET = \"stripe-price-sync-webhook-secret-key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\n STRIPE_WEBHOOK_CUSTOMER_CREATED_SECRET_KEY = \"Stripe-Webhook-Customer-Created-Secret-Key\",\n STRIPE_SUBSCRIPTION_SYNC_WEBHOOK_SECRET = \"stripe-subscription-sync-webhook-secret-key\",\n FIREBASE_SERVICE_ACCOUNTS_VARIABLE = \"firebase_service_accounts_variable\",\n HMS_ACCESS_KEY=\"MEETING-HMS-ACCESS-KEY-APP-SECRET\",\n MEETING_ROOM_APP_SECRET=\"MEETING-ROOM-APP-SECRET\",\n BASE_DB_CLUSTER_CONNECTING_STRING_CHAT = \"BASE-DB-CLUSTER-CONNECTING-STRING-CHAT\",\n AUTH_SERVICE_AUTHENTICATION_URL = \"AUTH-SERVICE-AUTHENTICATION-URL\",\n GCP_PROJECT_ID=\"gcp-project-id\",\n PUBSUB_SERVICE_ACCOUNT_KEYS=\"pubsub-service-account-keys\",\n VAPI_TOKEN = \"vapi-token\",\n GITHUB_TOKEN = \"GITHUB-TOKEN\",\n GITHUB_WORKFLOW_URL = \"GITHUB-WORKFLOW-URL\",\n DB_CONNECTION_STRING_ENCRYPTION_KEY = \"DB-CONNECTION-STRING-ENCRYPTION-KEY\",\n AGENTS_API_KEY = \"AGENTS-API-KEY\",\n\n REDIS_HOST=\"REDIS-HOST\",\n REDIS_KEY=\"REDIS-KEY\",\n REDIS_URL = \"REDIS-URL\",\n REDIS_PORT = \"REDIS-PORT\"\n}\n\n// AUTH-SERVICE-AUTHENTICATION-URL\n// https://culturefy-auth-staging.azurewebsites.net/api/verify\n\n// REFRESH-SESSION-URL"],"mappings":"AAAA;AACA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAI4C;EAJ/DA,mBAAmB;EAKwC;EAL3DA,mBAAmB;EAMoC;EANvDA,mBAAmB;EAOY;EAP/BA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;;AA2C/B;AACA;;AAEA","ignoreList":[]}
@@ -5,4 +5,5 @@ export * from './utils/cache';
5
5
  export * from './middlewares';
6
6
  export * from './constants';
7
7
  export * from './repositories';
8
+ export * from './service/internal-api';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from './types';\nexport * from './enums';\nexport * from './utils';\nexport * from './utils/cache';\nexport * from './middlewares';\nexport * from './constants';\nexport * from './repositories';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from './types';\nexport * from './enums';\nexport * from './utils';\nexport * from './utils/cache';\nexport * from './middlewares';\nexport * from './constants';\nexport * from './repositories';\nexport * from './service/internal-api';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,wBAAwB","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ const buildHeaders = auth => {
2
+ const headers = {
3
+ "x-internal-key": auth.internalKey
4
+ };
5
+ if (auth.tenantId) headers["x-tenant-id"] = auth.tenantId;
6
+ if (auth.businessId) headers["x-business-id"] = auth.businessId;
7
+ if (auth.appId) headers["x-app-id"] = auth.appId;
8
+ if (auth.email) headers["x-email"] = auth.email;
9
+ if (auth.name) headers["x-name"] = auth.name;
10
+ if (auth.userId) headers["x-user-id"] = auth.userId;
11
+ return headers;
12
+ };
13
+ const normalizeBaseUrl = baseUrl => baseUrl.replace(/\/+$/, "");
14
+ const resolveApiBaseUrlFromEnv = () => {
15
+ const env = (process.env.APPLICATION_ENV || "").toLowerCase();
16
+ const baseFromEnv = env === "dev" ? "https://api.dev.culturefy.app" : env === "stage" || env === "staging" ? "https://api.staging.culturefy.app" : env === "prod" || env === "production" ? "https://api.culturefy.app" : "";
17
+ if (!baseFromEnv) {
18
+ throw new Error("Missing SHARED_USER_SERVICE_URL, API_BASE_URL, or valid APPLICATION_ENV");
19
+ }
20
+ return baseFromEnv;
21
+ };
22
+ const getSharedUserBaseUrl = override => {
23
+ if (override) return normalizeBaseUrl(override);
24
+ const direct = process.env.SHARED_USER_SERVICE_URL;
25
+ if (direct) return normalizeBaseUrl(direct);
26
+ const apiBase = process.env.CULTUREFY_API_BASE_URL || process.env.API_BASE_URL;
27
+ if (apiBase) {
28
+ return `${normalizeBaseUrl(apiBase)}/shared-user`;
29
+ }
30
+ const baseFromEnv = resolveApiBaseUrlFromEnv();
31
+ return `${baseFromEnv}/shared-user`;
32
+ };
33
+ export class InternalApiClient {
34
+ async getUserById(args) {
35
+ const baseUrl = getSharedUserBaseUrl(args.baseUrl);
36
+ const url = `${baseUrl}/v1/interservices/user/${args.userId}`;
37
+ const res = await fetch(url, {
38
+ method: "GET",
39
+ headers: buildHeaders(args.auth)
40
+ });
41
+ if (!res.ok) {
42
+ const text = await res.text();
43
+ throw new Error(`internal-api error ${res.status}: ${text}`);
44
+ }
45
+ return await res.json();
46
+ }
47
+ }
48
+ export const internalApiClient = () => new InternalApiClient();
49
+
50
+ // const user = await client.getUserById({
51
+ // userId: "65f0b1c9e8c2a123456789ab",
52
+ // auth: {
53
+ // internalKey: "12345",
54
+ // tenantId: "69b47db5c2be5714989ca8ae",
55
+ // businessId: "69b47db5c2be5714989ca8ae",
56
+ // appId: "5x8jws1b",
57
+ // userId: "65f0b1c9e8c2a123456789ab",
58
+ // },
59
+ // });
60
+ //# sourceMappingURL=internal-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-api.js","names":["buildHeaders","auth","headers","internalKey","tenantId","businessId","appId","email","name","userId","normalizeBaseUrl","baseUrl","replace","resolveApiBaseUrlFromEnv","env","process","APPLICATION_ENV","toLowerCase","baseFromEnv","Error","getSharedUserBaseUrl","override","direct","SHARED_USER_SERVICE_URL","apiBase","CULTUREFY_API_BASE_URL","API_BASE_URL","InternalApiClient","getUserById","args","url","res","fetch","method","ok","text","status","json","internalApiClient"],"sources":["../../../src/service/internal-api.ts"],"sourcesContent":["export type InternalAuthHeaders = {\n internalKey: string;\n tenantId?: string;\n businessId?: string;\n appId?: string;\n email?: string;\n name?: string;\n userId?: string;\n};\n\nexport type GetUserByIdArgs = {\n userId: string;\n auth: InternalAuthHeaders;\n baseUrl?: string;\n};\n\nconst buildHeaders = (auth: InternalAuthHeaders): Record<string, string> => {\n const headers: Record<string, string> = {\n \"x-internal-key\": auth.internalKey,\n };\n if (auth.tenantId) headers[\"x-tenant-id\"] = auth.tenantId;\n if (auth.businessId) headers[\"x-business-id\"] = auth.businessId;\n if (auth.appId) headers[\"x-app-id\"] = auth.appId;\n if (auth.email) headers[\"x-email\"] = auth.email;\n if (auth.name) headers[\"x-name\"] = auth.name;\n if (auth.userId) headers[\"x-user-id\"] = auth.userId;\n return headers;\n};\n\nconst normalizeBaseUrl = (baseUrl: string): string => baseUrl.replace(/\\/+$/, \"\");\n\nconst resolveApiBaseUrlFromEnv = (): string => {\n const env = (process.env.APPLICATION_ENV || \"\").toLowerCase();\n const baseFromEnv =\n env === \"dev\"\n ? \"https://api.dev.culturefy.app\"\n : env === \"stage\" || env === \"staging\"\n ? \"https://api.staging.culturefy.app\"\n : env === \"prod\" || env === \"production\"\n ? \"https://api.culturefy.app\"\n : \"\";\n\n if (!baseFromEnv) {\n throw new Error(\"Missing SHARED_USER_SERVICE_URL, API_BASE_URL, or valid APPLICATION_ENV\");\n }\n\n return baseFromEnv;\n};\n\nconst getSharedUserBaseUrl = (override?: string): string => {\n if (override) return normalizeBaseUrl(override);\n const direct = process.env.SHARED_USER_SERVICE_URL;\n if (direct) return normalizeBaseUrl(direct);\n const apiBase = process.env.CULTUREFY_API_BASE_URL || process.env.API_BASE_URL;\n if (apiBase) {\n return `${normalizeBaseUrl(apiBase)}/shared-user`;\n }\n\n const baseFromEnv = resolveApiBaseUrlFromEnv();\n return `${baseFromEnv}/shared-user`;\n};\n\nexport class InternalApiClient {\n async getUserById<T>(args: GetUserByIdArgs): Promise<T> {\n const baseUrl = getSharedUserBaseUrl(args.baseUrl);\n const url = `${baseUrl}/v1/interservices/user/${args.userId}`;\n const res = await fetch(url, {\n method: \"GET\",\n headers: buildHeaders(args.auth),\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(`internal-api error ${res.status}: ${text}`);\n }\n return (await res.json()) as T;\n }\n}\n\nexport const internalApiClient = () => new InternalApiClient();\n\n// const user = await client.getUserById({\n// userId: \"65f0b1c9e8c2a123456789ab\",\n// auth: {\n// internalKey: \"12345\",\n// tenantId: \"69b47db5c2be5714989ca8ae\",\n// businessId: \"69b47db5c2be5714989ca8ae\",\n// appId: \"5x8jws1b\",\n// userId: \"65f0b1c9e8c2a123456789ab\",\n// },\n// });"],"mappings":"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","ignoreList":[]}
@@ -5,4 +5,5 @@ export * from './mapper';
5
5
  export * from './jwt';
6
6
  export * from './middleware';
7
7
  export * from './cache';
8
+ export * from './service-bus-queue';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';\nexport * from './mapper';\nexport * from './jwt';\nexport * from './middleware';\nexport * from './cache';\nexport * from './service-bus-queue';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,qBAAqB","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { ServiceBusClient } from "@azure/service-bus";
3
+ /**
4
+ * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
5
+ * `payload` is JSON-stringified unless it is already a string (raw body).
6
+ */
7
+ export async function sendServiceBusQueueMessage(queueName, payload, options) {
8
+ var _options$connectionSt, _process$env$SERVICE_;
9
+ const connectionString = (options == null || (_options$connectionSt = options.connectionString) == null ? void 0 : _options$connectionSt.trim()) || ((_process$env$SERVICE_ = process.env.SERVICE_BUS_CONNECTION_STRING) == null ? void 0 : _process$env$SERVICE_.trim());
10
+ if (!connectionString) {
11
+ throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
12
+ }
13
+ const body = typeof payload === "string" ? payload : JSON.stringify(payload);
14
+ const client = new ServiceBusClient(connectionString);
15
+ const sender = client.createSender(queueName);
16
+ try {
17
+ await sender.sendMessages(_extends({
18
+ body
19
+ }, (options == null ? void 0 : options.applicationProperties) != null && Object.keys(options.applicationProperties).length > 0 ? {
20
+ applicationProperties: options.applicationProperties
21
+ } : {}));
22
+ } finally {
23
+ await sender.close();
24
+ await client.close();
25
+ }
26
+ }
27
+ //# sourceMappingURL=service-bus-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-bus-queue.js","names":["ServiceBusClient","sendServiceBusQueueMessage","queueName","payload","options","_options$connectionSt","_process$env$SERVICE_","connectionString","trim","process","env","SERVICE_BUS_CONNECTION_STRING","Error","body","JSON","stringify","client","sender","createSender","sendMessages","_extends","applicationProperties","Object","keys","length","close"],"sources":["../../../src/utils/service-bus-queue.ts"],"sourcesContent":["import { ServiceBusClient } from \"@azure/service-bus\";\n\nexport type ServiceBusQueueApplicationProperties = Record<\n string,\n string | number | boolean | Date\n>;\n\nexport type SendServiceBusQueueMessageOptions = {\n /**\n * Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.\n */\n connectionString?: string;\n applicationProperties?: ServiceBusQueueApplicationProperties;\n};\n\n/**\n * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.\n * `payload` is JSON-stringified unless it is already a string (raw body).\n */\nexport async function sendServiceBusQueueMessage(\n queueName: string,\n payload: unknown,\n options?: SendServiceBusQueueMessageOptions,\n): Promise<void> {\n const connectionString =\n options?.connectionString?.trim() ||\n process.env.SERVICE_BUS_CONNECTION_STRING?.trim();\n if (!connectionString) {\n throw new Error(\n \"Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING\",\n );\n }\n\n const body =\n typeof payload === \"string\" ? payload : JSON.stringify(payload);\n\n const client = new ServiceBusClient(connectionString);\n const sender = client.createSender(queueName);\n try {\n await sender.sendMessages({\n body,\n ...(options?.applicationProperties != null &&\n Object.keys(options.applicationProperties).length > 0\n ? { applicationProperties: options.applicationProperties }\n : {}),\n });\n } finally {\n await sender.close();\n await client.close();\n }\n}\n"],"mappings":";AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AAerD;AACA;AACA;AACA;AACA,OAAO,eAAeC,0BAA0BA,CAC9CC,SAAiB,EACjBC,OAAgB,EAChBC,OAA2C,EAC5B;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACf,MAAMC,gBAAgB,GACpB,CAAAH,OAAO,aAAAC,qBAAA,GAAPD,OAAO,CAAEG,gBAAgB,qBAAzBF,qBAAA,CAA2BG,IAAI,CAAC,CAAC,OAAAF,qBAAA,GACjCG,OAAO,CAACC,GAAG,CAACC,6BAA6B,qBAAzCL,qBAAA,CAA2CE,IAAI,CAAC,CAAC;EACnD,IAAI,CAACD,gBAAgB,EAAE;IACrB,MAAM,IAAIK,KAAK,CACb,2GACF,CAAC;EACH;EAEA,MAAMC,IAAI,GACR,OAAOV,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGW,IAAI,CAACC,SAAS,CAACZ,OAAO,CAAC;EAEjE,MAAMa,MAAM,GAAG,IAAIhB,gBAAgB,CAACO,gBAAgB,CAAC;EACrD,MAAMU,MAAM,GAAGD,MAAM,CAACE,YAAY,CAAChB,SAAS,CAAC;EAC7C,IAAI;IACF,MAAMe,MAAM,CAACE,YAAY,CAAAC,QAAA;MACvBP;IAAI,GACA,CAAAT,OAAO,oBAAPA,OAAO,CAAEiB,qBAAqB,KAAI,IAAI,IAC1CC,MAAM,CAACC,IAAI,CAACnB,OAAO,CAACiB,qBAAqB,CAAC,CAACG,MAAM,GAAG,CAAC,GACjD;MAAEH,qBAAqB,EAAEjB,OAAO,CAACiB;IAAsB,CAAC,GACxD,CAAC,CAAC,CACP,CAAC;EACJ,CAAC,SAAS;IACR,MAAMJ,MAAM,CAACQ,KAAK,CAAC,CAAC;IACpB,MAAMT,MAAM,CAACS,KAAK,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
@@ -33,6 +33,7 @@ export declare enum AzureSecretKeysEnum {
33
33
  GITHUB_TOKEN = "GITHUB-TOKEN",
34
34
  GITHUB_WORKFLOW_URL = "GITHUB-WORKFLOW-URL",
35
35
  DB_CONNECTION_STRING_ENCRYPTION_KEY = "DB-CONNECTION-STRING-ENCRYPTION-KEY",
36
+ AGENTS_API_KEY = "AGENTS-API-KEY",
36
37
  REDIS_HOST = "REDIS-HOST",
37
38
  REDIS_KEY = "REDIS-KEY",
38
39
  REDIS_URL = "REDIS-URL",
@@ -38,6 +38,7 @@ var AzureSecretKeysEnum;
38
38
  AzureSecretKeysEnum["GITHUB_TOKEN"] = "GITHUB-TOKEN";
39
39
  AzureSecretKeysEnum["GITHUB_WORKFLOW_URL"] = "GITHUB-WORKFLOW-URL";
40
40
  AzureSecretKeysEnum["DB_CONNECTION_STRING_ENCRYPTION_KEY"] = "DB-CONNECTION-STRING-ENCRYPTION-KEY";
41
+ AzureSecretKeysEnum["AGENTS_API_KEY"] = "AGENTS-API-KEY";
41
42
  AzureSecretKeysEnum["REDIS_HOST"] = "REDIS-HOST";
42
43
  AzureSecretKeysEnum["REDIS_KEY"] = "REDIS-KEY";
43
44
  AzureSecretKeysEnum["REDIS_URL"] = "REDIS-URL";
@@ -1 +1 @@
1
- {"version":3,"file":"secretKeys.enum.js","sourceRoot":"","sources":["../../../src/enums/secretKeys.enum.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,IAAY,mBAwCX;AAxCD,WAAY,mBAAmB;IAC7B,oFAA6D,CAAA;IAC7D,4EAAqD,CAAA;IACrD,8DAAuC,CAAA;IACvC,8FAAuE,CAAA;IACvE,0FAAmE,CAAA;IACnE,sFAA+D,CAAA;IAC/D,8DAAuC,CAAA;IACvC,8EAAuD,CAAA;IACvD,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,oFAA8D,CAAA;IAC9D,oFAA6D,CAAA;IAC7D,gGAAyE,CAAA;IACzE,qFAA8D,CAAA;IAC9D,sGAA+E,CAAA;IAC/E,oGAA6E,CAAA;IAC7E,oGAA6E,CAAA;IAC7E,gGAAyE,CAAA;IACzE,8DAAuC,CAAA;IACvC,gHAAyF,CAAA;IACzF,8GAAuF,CAAA;IACvF,gGAAyE,CAAA;IACzE,2EAAkD,CAAA;IAClD,0EAAiD,CAAA;IACjD,wGAAiF,CAAA;IACjF,0FAAmE,CAAA;IACnE,wDAA+B,CAAA;IAC/B,kFAAyD,CAAA;IACzD,gDAAyB,CAAA;IACzB,oDAA6B,CAAA;IAC7B,kEAA2C,CAAA;IAC3C,kGAA2E,CAAA;IAE3E,gDAAuB,CAAA;IACvB,8CAAqB,CAAA;IACrB,8CAAuB,CAAA;IACvB,gDAAyB,CAAA;AAC3B,CAAC,EAxCW,mBAAmB,mCAAnB,mBAAmB,QAwC9B;AAED,kCAAkC;AAClC,8DAA8D;AAE9D,sBAAsB"}
1
+ {"version":3,"file":"secretKeys.enum.js","sourceRoot":"","sources":["../../../src/enums/secretKeys.enum.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,IAAY,mBAyCX;AAzCD,WAAY,mBAAmB;IAC7B,oFAA6D,CAAA;IAC7D,4EAAqD,CAAA;IACrD,8DAAuC,CAAA;IACvC,8FAAuE,CAAA;IACvE,0FAAmE,CAAA;IACnE,sFAA+D,CAAA;IAC/D,8DAAuC,CAAA;IACvC,8EAAuD,CAAA;IACvD,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,8EAAuD,CAAA;IACvD,oFAA6D,CAAA;IAC7D,oFAA8D,CAAA;IAC9D,oFAA6D,CAAA;IAC7D,gGAAyE,CAAA;IACzE,qFAA8D,CAAA;IAC9D,sGAA+E,CAAA;IAC/E,oGAA6E,CAAA;IAC7E,oGAA6E,CAAA;IAC7E,gGAAyE,CAAA;IACzE,8DAAuC,CAAA;IACvC,gHAAyF,CAAA;IACzF,8GAAuF,CAAA;IACvF,gGAAyE,CAAA;IACzE,2EAAkD,CAAA;IAClD,0EAAiD,CAAA;IACjD,wGAAiF,CAAA;IACjF,0FAAmE,CAAA;IACnE,wDAA+B,CAAA;IAC/B,kFAAyD,CAAA;IACzD,gDAAyB,CAAA;IACzB,oDAA6B,CAAA;IAC7B,kEAA2C,CAAA;IAC3C,kGAA2E,CAAA;IAC3E,wDAAiC,CAAA;IAEjC,gDAAuB,CAAA;IACvB,8CAAqB,CAAA;IACrB,8CAAuB,CAAA;IACvB,gDAAyB,CAAA;AAC3B,CAAC,EAzCW,mBAAmB,mCAAnB,mBAAmB,QAyC9B;AAED,kCAAkC;AAClC,8DAA8D;AAE9D,sBAAsB"}
@@ -5,3 +5,4 @@ export * from './utils/cache';
5
5
  export * from './middlewares';
6
6
  export * from './constants';
7
7
  export * from './repositories';
8
+ export * from './service/internal-api';
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./utils/cache"), exports);
8
8
  tslib_1.__exportStar(require("./middlewares"), exports);
9
9
  tslib_1.__exportStar(require("./constants"), exports);
10
10
  tslib_1.__exportStar(require("./repositories"), exports);
11
+ tslib_1.__exportStar(require("./service/internal-api"), exports);
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,kDAAwB;AACxB,kDAAwB;AACxB,wDAA8B;AAC9B,wDAA8B;AAC9B,sDAA4B;AAC5B,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,kDAAwB;AACxB,kDAAwB;AACxB,wDAA8B;AAC9B,wDAA8B;AAC9B,sDAA4B;AAC5B,yDAA+B;AAC/B,iEAAuC"}
@@ -0,0 +1,18 @@
1
+ export type InternalAuthHeaders = {
2
+ internalKey: string;
3
+ tenantId?: string;
4
+ businessId?: string;
5
+ appId?: string;
6
+ email?: string;
7
+ name?: string;
8
+ userId?: string;
9
+ };
10
+ export type GetUserByIdArgs = {
11
+ userId: string;
12
+ auth: InternalAuthHeaders;
13
+ baseUrl?: string;
14
+ };
15
+ export declare class InternalApiClient {
16
+ getUserById<T>(args: GetUserByIdArgs): Promise<T>;
17
+ }
18
+ export declare const internalApiClient: () => InternalApiClient;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.internalApiClient = exports.InternalApiClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const buildHeaders = (auth) => {
6
+ const headers = {
7
+ "x-internal-key": auth.internalKey,
8
+ };
9
+ if (auth.tenantId)
10
+ headers["x-tenant-id"] = auth.tenantId;
11
+ if (auth.businessId)
12
+ headers["x-business-id"] = auth.businessId;
13
+ if (auth.appId)
14
+ headers["x-app-id"] = auth.appId;
15
+ if (auth.email)
16
+ headers["x-email"] = auth.email;
17
+ if (auth.name)
18
+ headers["x-name"] = auth.name;
19
+ if (auth.userId)
20
+ headers["x-user-id"] = auth.userId;
21
+ return headers;
22
+ };
23
+ const normalizeBaseUrl = (baseUrl) => baseUrl.replace(/\/+$/, "");
24
+ const resolveApiBaseUrlFromEnv = () => {
25
+ const env = (process.env.APPLICATION_ENV || "").toLowerCase();
26
+ const baseFromEnv = env === "dev"
27
+ ? "https://api.dev.culturefy.app"
28
+ : env === "stage" || env === "staging"
29
+ ? "https://api.staging.culturefy.app"
30
+ : env === "prod" || env === "production"
31
+ ? "https://api.culturefy.app"
32
+ : "";
33
+ if (!baseFromEnv) {
34
+ throw new Error("Missing SHARED_USER_SERVICE_URL, API_BASE_URL, or valid APPLICATION_ENV");
35
+ }
36
+ return baseFromEnv;
37
+ };
38
+ const getSharedUserBaseUrl = (override) => {
39
+ if (override)
40
+ return normalizeBaseUrl(override);
41
+ const direct = process.env.SHARED_USER_SERVICE_URL;
42
+ if (direct)
43
+ return normalizeBaseUrl(direct);
44
+ const apiBase = process.env.CULTUREFY_API_BASE_URL || process.env.API_BASE_URL;
45
+ if (apiBase) {
46
+ return `${normalizeBaseUrl(apiBase)}/shared-user`;
47
+ }
48
+ const baseFromEnv = resolveApiBaseUrlFromEnv();
49
+ return `${baseFromEnv}/shared-user`;
50
+ };
51
+ class InternalApiClient {
52
+ getUserById(args) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const baseUrl = getSharedUserBaseUrl(args.baseUrl);
55
+ const url = `${baseUrl}/v1/interservices/user/${args.userId}`;
56
+ const res = yield fetch(url, {
57
+ method: "GET",
58
+ headers: buildHeaders(args.auth),
59
+ });
60
+ if (!res.ok) {
61
+ const text = yield res.text();
62
+ throw new Error(`internal-api error ${res.status}: ${text}`);
63
+ }
64
+ return (yield res.json());
65
+ });
66
+ }
67
+ }
68
+ exports.InternalApiClient = InternalApiClient;
69
+ const internalApiClient = () => new InternalApiClient();
70
+ exports.internalApiClient = internalApiClient;
71
+ // const user = await client.getUserById({
72
+ // userId: "65f0b1c9e8c2a123456789ab",
73
+ // auth: {
74
+ // internalKey: "12345",
75
+ // tenantId: "69b47db5c2be5714989ca8ae",
76
+ // businessId: "69b47db5c2be5714989ca8ae",
77
+ // appId: "5x8jws1b",
78
+ // userId: "65f0b1c9e8c2a123456789ab",
79
+ // },
80
+ // });
81
+ //# sourceMappingURL=internal-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-api.js","sourceRoot":"","sources":["../../../src/service/internal-api.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,4 @@ export * from './mapper';
5
5
  export * from './jwt';
6
6
  export * from './middleware';
7
7
  export * from './cache';
8
+ export * from './service-bus-queue';
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./mapper"), exports);
8
8
  tslib_1.__exportStar(require("./jwt"), exports);
9
9
  tslib_1.__exportStar(require("./middleware"), exports);
10
10
  tslib_1.__exportStar(require("./cache"), exports);
11
+ tslib_1.__exportStar(require("./service-bus-queue"), exports);
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,8DAAoC"}
@@ -0,0 +1,13 @@
1
+ export type ServiceBusQueueApplicationProperties = Record<string, string | number | boolean | Date>;
2
+ export type SendServiceBusQueueMessageOptions = {
3
+ /**
4
+ * Defaults to `process.env.SERVICE_BUS_CONNECTION_STRING` when omitted.
5
+ */
6
+ connectionString?: string;
7
+ applicationProperties?: ServiceBusQueueApplicationProperties;
8
+ };
9
+ /**
10
+ * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
11
+ * `payload` is JSON-stringified unless it is already a string (raw body).
12
+ */
13
+ export declare function sendServiceBusQueueMessage(queueName: string, payload: unknown, options?: SendServiceBusQueueMessageOptions): Promise<void>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendServiceBusQueueMessage = sendServiceBusQueueMessage;
4
+ const tslib_1 = require("tslib");
5
+ const service_bus_1 = require("@azure/service-bus");
6
+ /**
7
+ * Sends one message to an Azure Service Bus queue. Opens and closes the client per call.
8
+ * `payload` is JSON-stringified unless it is already a string (raw body).
9
+ */
10
+ function sendServiceBusQueueMessage(queueName, payload, options) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ var _a, _b;
13
+ const connectionString = ((_a = options === null || options === void 0 ? void 0 : options.connectionString) === null || _a === void 0 ? void 0 : _a.trim()) ||
14
+ ((_b = process.env.SERVICE_BUS_CONNECTION_STRING) === null || _b === void 0 ? void 0 : _b.trim());
15
+ if (!connectionString) {
16
+ throw new Error("Service Bus connection string missing: pass options.connectionString or set SERVICE_BUS_CONNECTION_STRING");
17
+ }
18
+ const body = typeof payload === "string" ? payload : JSON.stringify(payload);
19
+ const client = new service_bus_1.ServiceBusClient(connectionString);
20
+ const sender = client.createSender(queueName);
21
+ try {
22
+ yield sender.sendMessages(Object.assign({ body }, ((options === null || options === void 0 ? void 0 : options.applicationProperties) != null &&
23
+ Object.keys(options.applicationProperties).length > 0
24
+ ? { applicationProperties: options.applicationProperties }
25
+ : {})));
26
+ }
27
+ finally {
28
+ yield sender.close();
29
+ yield client.close();
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=service-bus-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-bus-queue.js","sourceRoot":"","sources":["../../../src/utils/service-bus-queue.ts"],"names":[],"mappings":";;AAmBA,gEA+BC;;AAlDD,oDAAsD;AAetD;;;GAGG;AACH,SAAsB,0BAA0B,CAC9C,SAAiB,EACjB,OAAgB,EAChB,OAA2C;;;QAE3C,MAAM,gBAAgB,GACpB,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,IAAI,EAAE;aACjC,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,0CAAE,IAAI,EAAE,CAAA,CAAC;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,8BAAgB,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,iBACvB,IAAI,IACD,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,KAAI,IAAI;gBAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACnD,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;gBAC1D,CAAC,CAAC,EAAE,CAAC,EACP,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@culturefy/shared",
3
3
  "description": "Shared utilities for culturefy serverless services",
4
- "version": "1.0.72",
4
+ "version": "1.0.74",
5
5
  "main": "build/cjs/index.js",
6
6
  "module": "build/esm/index.js",
7
7
  "types": "build/src/index.d.ts",
@@ -56,6 +56,7 @@
56
56
  "@azure/functions": "^4.7.2-preview",
57
57
  "@azure/identity": "^4.13.0",
58
58
  "@azure/keyvault-secrets": "^4.10.0",
59
+ "@azure/service-bus": "^7.9.5",
59
60
  "@types/mongoose": "^5.11.96",
60
61
  "ioredis": "^5.5.0",
61
62
  "express": "^4.18.2",