@culturefy/shared 1.0.2 → 1.0.3

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 (76) hide show
  1. package/package.json +15 -10
  2. package/src/index.ts +4 -0
  3. package/dist/cjs/enums/index.js +0 -10
  4. package/dist/cjs/enums/index.js.map +0 -1
  5. package/dist/cjs/enums/secretKeys.enum.js +0 -22
  6. package/dist/cjs/enums/secretKeys.enum.js.map +0 -1
  7. package/dist/cjs/types/create-enterprise-business.js +0 -2
  8. package/dist/cjs/types/create-enterprise-business.js.map +0 -1
  9. package/dist/cjs/types/events.js +0 -2
  10. package/dist/cjs/types/events.js.map +0 -1
  11. package/dist/cjs/types/index.js +0 -16
  12. package/dist/cjs/types/index.js.map +0 -1
  13. package/dist/cjs/types/payloads.js +0 -2
  14. package/dist/cjs/types/payloads.js.map +0 -1
  15. package/dist/cjs/utils/index.js +0 -22
  16. package/dist/cjs/utils/index.js.map +0 -1
  17. package/dist/cjs/utils/initializers.js +0 -114
  18. package/dist/cjs/utils/initializers.js.map +0 -1
  19. package/dist/cjs/utils/response.js +0 -36
  20. package/dist/cjs/utils/response.js.map +0 -1
  21. package/dist/cjs/utils/secrets.js +0 -42
  22. package/dist/cjs/utils/secrets.js.map +0 -1
  23. package/dist/esm/enums/index.js +0 -2
  24. package/dist/esm/enums/index.js.map +0 -1
  25. package/dist/esm/enums/secretKeys.enum.js +0 -18
  26. package/dist/esm/enums/secretKeys.enum.js.map +0 -1
  27. package/dist/esm/types/create-enterprise-business.js +0 -2
  28. package/dist/esm/types/create-enterprise-business.js.map +0 -1
  29. package/dist/esm/types/events.js +0 -2
  30. package/dist/esm/types/events.js.map +0 -1
  31. package/dist/esm/types/index.js +0 -3
  32. package/dist/esm/types/index.js.map +0 -1
  33. package/dist/esm/types/payloads.js +0 -2
  34. package/dist/esm/types/payloads.js.map +0 -1
  35. package/dist/esm/utils/index.js +0 -4
  36. package/dist/esm/utils/index.js.map +0 -1
  37. package/dist/esm/utils/initializers.js +0 -108
  38. package/dist/esm/utils/initializers.js.map +0 -1
  39. package/dist/esm/utils/response.js +0 -31
  40. package/dist/esm/utils/response.js.map +0 -1
  41. package/dist/esm/utils/secrets.js +0 -39
  42. package/dist/esm/utils/secrets.js.map +0 -1
  43. package/dist/package.json +0 -37
  44. package/dist/src/packages/shared/index.d.ts +0 -3
  45. package/dist/src/packages/shared/index.js +0 -7
  46. package/dist/src/packages/shared/index.js.map +0 -1
  47. package/dist/src/packages/shared/src/enums/index.d.ts +0 -1
  48. package/dist/src/packages/shared/src/enums/index.js +0 -5
  49. package/dist/src/packages/shared/src/enums/index.js.map +0 -1
  50. package/dist/src/packages/shared/src/enums/secretKeys.enum.d.ts +0 -9
  51. package/dist/src/packages/shared/src/enums/secretKeys.enum.js +0 -16
  52. package/dist/src/packages/shared/src/enums/secretKeys.enum.js.map +0 -1
  53. package/dist/src/packages/shared/src/types/create-enterprise-business.d.ts +0 -27
  54. package/dist/src/packages/shared/src/types/create-enterprise-business.js +0 -3
  55. package/dist/src/packages/shared/src/types/create-enterprise-business.js.map +0 -1
  56. package/dist/src/packages/shared/src/types/events.d.ts +0 -5
  57. package/dist/src/packages/shared/src/types/events.js +0 -3
  58. package/dist/src/packages/shared/src/types/events.js.map +0 -1
  59. package/dist/src/packages/shared/src/types/index.d.ts +0 -2
  60. package/dist/src/packages/shared/src/types/index.js +0 -6
  61. package/dist/src/packages/shared/src/types/index.js.map +0 -1
  62. package/dist/src/packages/shared/src/types/payloads.d.ts +0 -12
  63. package/dist/src/packages/shared/src/types/payloads.js +0 -3
  64. package/dist/src/packages/shared/src/types/payloads.js.map +0 -1
  65. package/dist/src/packages/shared/src/utils/index.d.ts +0 -3
  66. package/dist/src/packages/shared/src/utils/index.js +0 -7
  67. package/dist/src/packages/shared/src/utils/index.js.map +0 -1
  68. package/dist/src/packages/shared/src/utils/initializers.d.ts +0 -7
  69. package/dist/src/packages/shared/src/utils/initializers.js +0 -111
  70. package/dist/src/packages/shared/src/utils/initializers.js.map +0 -1
  71. package/dist/src/packages/shared/src/utils/response.d.ts +0 -3
  72. package/dist/src/packages/shared/src/utils/response.js +0 -34
  73. package/dist/src/packages/shared/src/utils/response.js.map +0 -1
  74. package/dist/src/packages/shared/src/utils/secrets.d.ts +0 -9
  75. package/dist/src/packages/shared/src/utils/secrets.js +0 -43
  76. package/dist/src/packages/shared/src/utils/secrets.js.map +0 -1
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@culturefy/shared",
3
- "version": "1.0.2",
4
3
  "description": "Shared utilities for culturefy serverless services",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
4
+ "version": "1.0.3",
5
+ "types": "./src/index.d.ts",
7
6
  "files": ["dist", "src"],
8
7
  "scripts": {
9
- "build": "npm run build:cjs && npm run build:esm && tsc --outDir dist/src && node scripts/build-package.js",
10
- "build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/cjs --source-maps",
11
- "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir dist/esm --source-maps"
8
+ "build": "npm run build:cjs && npm run build:esm && tsc --outDir build/src && node scripts/build-package.js",
9
+ "build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/cjs --source-maps",
10
+ "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/esm --source-maps"
12
11
  },
13
12
  "publishConfig": {
14
13
  "registry": "https://registry.npmjs.org/",
@@ -28,10 +27,16 @@
28
27
  "keywords": ["culturefy","serverless","shared"],
29
28
  "author": "taimoor.ghori@culturefy.com",
30
29
  "license": "MIT",
31
- "@babel/cli": "^7.24.1",
32
- "@babel/preset-env": "^7.24.3",
33
- "@babel/preset-typescript": "^7.24.1",
34
30
  "devDependencies": {
35
- "typescript": "^5.0.0"
31
+ "typescript": "^5.0.0",
32
+ "@babel/cli": "^7.24.1",
33
+ "@babel/preset-env": "^7.24.3",
34
+ "@babel/preset-typescript": "^7.24.1"
35
+ },
36
+ "prettier": {
37
+ "printWidth": 80,
38
+ "semi": true,
39
+ "singleQuote": true,
40
+ "trailingComma": "es5"
36
41
  }
37
42
  }
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './enums';
3
+ export * from './utils';
4
+
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- var _secretKeys = require("./secretKeys.enum");
5
- Object.keys(_secretKeys).forEach(function (key) {
6
- if (key === "default" || key === "__esModule") return;
7
- if (key in exports && exports[key] === _secretKeys[key]) return;
8
- exports[key] = _secretKeys[key];
9
- });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_secretKeys","require","Object","keys","forEach","key","exports"],"sources":["../../../src/enums/index.ts"],"sourcesContent":["export * from './secretKeys.enum'"],"mappings":";;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,WAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.AzureSecretKeysEnum = void 0;
5
- // Enum for secret keys
6
- let AzureSecretKeysEnum = exports.AzureSecretKeysEnum = /*#__PURE__*/function (AzureSecretKeysEnum) {
7
- // STRIPE_PUBLISHABLE_KEY = "Stripe-Publishable-Key",
8
- AzureSecretKeysEnum["STRIPE_SECRET_KEY"] = "Stripe-secret-key";
9
- AzureSecretKeysEnum["STRIPE_PAYMENT_WEBHOOK_SECRET_KEY"] = "Stripe-payment-webhook-secret-key";
10
- // in-use
11
- AzureSecretKeysEnum["STRIPE_PRODUCT_WEBHOOK_SECRET"] = "Stripe-product-webhook-secret-key";
12
- // in-use
13
- AzureSecretKeysEnum["STRIPE_PRICE_WEBHOOK_SECRET"] = "Stripe-price-webhook-secret-key";
14
- // in-use
15
- AzureSecretKeysEnum["EMAIL_SERVICE_URL"] = "Email-Service-Url";
16
- // in-use,
17
- AzureSecretKeysEnum["STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY"] = "Stripe-Customer-Sync-Webhook-Secret-Key";
18
- // in-use
19
- AzureSecretKeysEnum["DB_CONNECTING_STRING_BILLING"] = "DB-Connecting-String-Billing"; // in-use
20
- return AzureSecretKeysEnum;
21
- }({});
22
- //# sourceMappingURL=secretKeys.enum.js.map
@@ -1 +0,0 @@
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 // STRIPE_PUBLISHABLE_KEY = \"Stripe-Publishable-Key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\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 STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY = \"Stripe-Customer-Sync-Webhook-Secret-Key\", // in-use\n DB_CONNECTING_STRING_BILLING = \"DB-Connecting-String-Billing\", // in-use\n}"],"mappings":";;;;AAAA;AAAA,IACYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAC7B;EADUA,mBAAmB;EAAnBA,mBAAmB;EAG4C;EAH/DA,mBAAmB;EAIwC;EAJ3DA,mBAAmB;EAKoC;EALvDA,mBAAmB;EAMY;EAN/BA,mBAAmB;EAOwD;EAP3EA,mBAAmB,mEAQkC;EAAA,OARrDA,mBAAmB;AAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=create-enterprise-business.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-enterprise-business.js","names":[],"sources":["../../../src/types/create-enterprise-business.ts"],"sourcesContent":["interface PrimaryContact {\n name: string;\n email: string;\n phone: string;\n country: string;\n}\n\ninterface UserData {\n firstName: string;\n lastName: string;\n email: string;\n position: string;\n password: string;\n}\n\ninterface BusinessData {\n name: string;\n industryId: string;\n size: string;\n primaryContact: PrimaryContact;\n subdomain: string;\n}\n\nexport interface IEnterpriseBusinessCreationByGuestPayload {\n planId: string;\n addonIds: string[];\n userData: UserData;\n businessData: BusinessData;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","names":[],"sources":["../../../src/types/events.ts"],"sourcesContent":["export interface IEventMessage<T> {\n eventType: string;\n timestamp: string;\n data: T;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- var _createEnterpriseBusiness = require("./create-enterprise-business");
5
- Object.keys(_createEnterpriseBusiness).forEach(function (key) {
6
- if (key === "default" || key === "__esModule") return;
7
- if (key in exports && exports[key] === _createEnterpriseBusiness[key]) return;
8
- exports[key] = _createEnterpriseBusiness[key];
9
- });
10
- var _events = require("./events");
11
- Object.keys(_events).forEach(function (key) {
12
- if (key === "default" || key === "__esModule") return;
13
- if (key in exports && exports[key] === _events[key]) return;
14
- exports[key] = _events[key];
15
- });
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_createEnterpriseBusiness","require","Object","keys","forEach","key","exports","_events"],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './create-enterprise-business'\nexport * from './events'"],"mappings":";;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,yBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,yBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,yBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,OAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,OAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,OAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,OAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=payloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payloads.js","names":[],"sources":["../../../src/types/payloads.ts"],"sourcesContent":["export interface IPaymentServiceCreateEnterpriseBusinessCustomerPayload {\n businessName: string;\n businessAddress: string;\n businessPhoneNumber: string;\n businessEmail: string;\n businessWebsite: string;\n businessType: string;\n subscriptionPlanId: string;\n paymentMethodId: string;\n paymentAmount: number;\n currency: string;\n}"],"mappings":"","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- var _secrets = require("./secrets");
5
- Object.keys(_secrets).forEach(function (key) {
6
- if (key === "default" || key === "__esModule") return;
7
- if (key in exports && exports[key] === _secrets[key]) return;
8
- exports[key] = _secrets[key];
9
- });
10
- var _response = require("./response");
11
- Object.keys(_response).forEach(function (key) {
12
- if (key === "default" || key === "__esModule") return;
13
- if (key in exports && exports[key] === _response[key]) return;
14
- exports[key] = _response[key];
15
- });
16
- var _initializers = require("./initializers");
17
- Object.keys(_initializers).forEach(function (key) {
18
- if (key === "default" || key === "__esModule") return;
19
- if (key in exports && exports[key] === _initializers[key]) return;
20
- exports[key] = _initializers[key];
21
- });
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_secrets","require","Object","keys","forEach","key","exports","_response","_initializers"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';"],"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","ignoreList":[]}
@@ -1,114 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.Initializers = void 0;
5
- var _mongoose = _interopRequireDefault(require("mongoose"));
6
- var _secrets = require("./secrets");
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- // packages/libs/src/db-initializers.ts
9
-
10
- class Initializers {
11
- constructor(context, dbSecret) {
12
- this.db = void 0;
13
- MongoConnectionSingleton.getInstance(context, dbSecret).then(conn => {
14
- this.db = conn;
15
- context.info("✅ MongoDB initialized");
16
- }).catch(err => {
17
- context.error("❌ Failed to initialize MongoDB:", err);
18
- throw err;
19
- });
20
- }
21
- }
22
- exports.Initializers = Initializers;
23
- class MongoConnectionSingleton {
24
- static async getInstance(context, secretKey) {
25
- if (!this.instances.has(secretKey)) {
26
- const vaultName = process.env.KEY_VAULT_NAME;
27
- if (!vaultName) throw new Error("Missing KEY_VAULT_NAME env var");
28
- context.info(`[Mongo] fetching secret "${secretKey}" from vault "${vaultName}"`);
29
- const uri = await (0, _secrets.getAzureVaultSecretByKey)(context, vaultName, secretKey);
30
- if (!uri) throw new Error(`No value for secret "${secretKey}"`);
31
- context.info("[Mongo] connecting to MongoDB…");
32
- const conn = await _mongoose.default.createConnection(uri, {}).asPromise();
33
- context.info("[Mongo] connected to MongoDB");
34
- this.instances.set(secretKey, conn);
35
- }
36
- return this.instances.get(secretKey);
37
- }
38
- }
39
-
40
- // import mongoose, { Mongoose } from "mongoose";
41
- // import { InvocationContext } from "@azure/functions";
42
- // import { getAzureVaultSecretByKey } from "./secrets";
43
- // import { AzureSecretKeysEnum } from "../enums";
44
-
45
- // /**
46
- // * Base class for any service that needs a MongoDB connection.
47
- // * Pass in the name of the Key Vault secret that holds your MongoDB URI.
48
- // */
49
- // export abstract class Initializers {
50
- // mongoose!: Mongoose;
51
-
52
- // constructor(
53
- // context: InvocationContext,
54
- // dbConnectionSecretKey: AzureSecretKeysEnum
55
- // ) {
56
- // MongoConnectionSingleton
57
- // .getInstance(context, dbConnectionSecretKey)
58
- // .then(singleton => {
59
- // this.mongoose = singleton.mongoose;
60
- // })
61
- // .catch(err => {
62
- // context.error("Failed to initialize MongoDB:", err);
63
- // throw err;
64
- // });
65
- // }
66
- // }
67
-
68
- // /**
69
- // * A singleton manager that caches one mongoose connection per secret key.
70
- // */
71
- // class MongoConnectionSingleton {
72
- // private static instances: Map<AzureSecretKeysEnum, MongoConnectionSingleton> = new Map();
73
- // public mongoose!: Mongoose;
74
-
75
- // private constructor() { }
76
-
77
- // public static async getInstance(
78
- // context: InvocationContext,
79
- // secretKey: AzureSecretKeysEnum
80
- // ): Promise<MongoConnectionSingleton> {
81
- // if (!this.instances.has(secretKey)) {
82
- // const inst = new MongoConnectionSingleton();
83
- // await inst.connect(context, secretKey);
84
- // this.instances.set(secretKey, inst);
85
- // }
86
- // return this.instances.get(secretKey)!;
87
- // }
88
-
89
- // private async connect(
90
- // context: InvocationContext,
91
- // secretKey: AzureSecretKeysEnum
92
- // ): Promise<void> {
93
- // // 1) Fetch vault name and secret
94
- // const vaultName = process.env.AZURE_KEY_VAULT_NAME!;
95
- // if (!vaultName) throw new Error("Missing KEY_VAULT_NAME env var");
96
-
97
- // context.info(`[Mongo] Fetching connection string from vault "${vaultName}", secret "${secretKey}"`);
98
- // const connString = await getAzureVaultSecretByKey(
99
- // context,
100
- // vaultName,
101
- // secretKey
102
- // );
103
- // if (!connString) {
104
- // throw new Error(`No value found for secret "${secretKey}"`);
105
- // }
106
-
107
- // // 2) Connect via mongoose
108
- // context.info(`[Mongo] Connecting to MongoDB…`);
109
- // this.mongoose = await mongoose.connect(connString);
110
- // context.info(`[Mongo] Connected using secret "${secretKey}"`);
111
- // }
112
- // }
113
- MongoConnectionSingleton.instances = new Map();
114
- //# sourceMappingURL=initializers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializers.js","names":["_mongoose","_interopRequireDefault","require","_secrets","e","__esModule","default","Initializers","constructor","context","dbSecret","db","MongoConnectionSingleton","getInstance","then","conn","info","catch","err","error","exports","secretKey","instances","has","vaultName","process","env","KEY_VAULT_NAME","Error","uri","getAzureVaultSecretByKey","mongoose","createConnection","asPromise","set","get","Map"],"sources":["../../../src/utils/initializers.ts"],"sourcesContent":["// packages/libs/src/db-initializers.ts\n\nimport mongoose, { Connection } from \"mongoose\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { getAzureVaultSecretByKey } from \"./secrets\";\nimport { AzureSecretKeysEnum } from \"../enums\";\n\nexport abstract class Initializers {\n protected db!: Connection;\n\n constructor(\n context: InvocationContext,\n dbSecret: AzureSecretKeysEnum\n ) {\n MongoConnectionSingleton\n .getInstance(context, dbSecret)\n .then(conn => {\n this.db = conn;\n context.info(\"✅ MongoDB initialized\");\n })\n .catch(err => {\n context.error(\"❌ Failed to initialize MongoDB:\", err);\n throw err;\n });\n }\n}\n\nclass MongoConnectionSingleton {\n private static instances = new Map<AzureSecretKeysEnum, Connection>();\n\n static async getInstance(\n context: InvocationContext,\n secretKey: AzureSecretKeysEnum\n ): Promise<Connection> {\n if (!this.instances.has(secretKey)) {\n const vaultName = process.env.KEY_VAULT_NAME!;\n if (!vaultName) throw new Error(\"Missing KEY_VAULT_NAME env var\");\n\n context.info(`[Mongo] fetching secret \"${secretKey}\" from vault \"${vaultName}\"`);\n const uri = await getAzureVaultSecretByKey(context, vaultName, secretKey);\n if (!uri) throw new Error(`No value for secret \"${secretKey}\"`);\n\n context.info(\"[Mongo] connecting to MongoDB…\");\n const conn = await mongoose\n .createConnection(uri, {})\n .asPromise();\n context.info(\"[Mongo] connected to MongoDB\");\n\n this.instances.set(secretKey, conn);\n }\n return this.instances.get(secretKey)!;\n }\n}\n\n\n\n\n\n// import mongoose, { Mongoose } from \"mongoose\";\n// import { InvocationContext } from \"@azure/functions\";\n// import { getAzureVaultSecretByKey } from \"./secrets\";\n// import { AzureSecretKeysEnum } from \"../enums\";\n\n// /**\n// * Base class for any service that needs a MongoDB connection.\n// * Pass in the name of the Key Vault secret that holds your MongoDB URI.\n// */\n// export abstract class Initializers {\n// mongoose!: Mongoose;\n\n// constructor(\n// context: InvocationContext,\n// dbConnectionSecretKey: AzureSecretKeysEnum\n// ) {\n// MongoConnectionSingleton\n// .getInstance(context, dbConnectionSecretKey)\n// .then(singleton => {\n// this.mongoose = singleton.mongoose;\n// })\n// .catch(err => {\n// context.error(\"Failed to initialize MongoDB:\", err);\n// throw err;\n// });\n// }\n// }\n\n// /**\n// * A singleton manager that caches one mongoose connection per secret key.\n// */\n// class MongoConnectionSingleton {\n// private static instances: Map<AzureSecretKeysEnum, MongoConnectionSingleton> = new Map();\n// public mongoose!: Mongoose;\n\n// private constructor() { }\n\n// public static async getInstance(\n// context: InvocationContext,\n// secretKey: AzureSecretKeysEnum\n// ): Promise<MongoConnectionSingleton> {\n// if (!this.instances.has(secretKey)) {\n// const inst = new MongoConnectionSingleton();\n// await inst.connect(context, secretKey);\n// this.instances.set(secretKey, inst);\n// }\n// return this.instances.get(secretKey)!;\n// }\n\n// private async connect(\n// context: InvocationContext,\n// secretKey: AzureSecretKeysEnum\n// ): Promise<void> {\n// // 1) Fetch vault name and secret\n// const vaultName = process.env.AZURE_KEY_VAULT_NAME!;\n// if (!vaultName) throw new Error(\"Missing KEY_VAULT_NAME env var\");\n\n// context.info(`[Mongo] Fetching connection string from vault \"${vaultName}\", secret \"${secretKey}\"`);\n// const connString = await getAzureVaultSecretByKey(\n// context,\n// vaultName,\n// secretKey\n// );\n// if (!connString) {\n// throw new Error(`No value found for secret \"${secretKey}\"`);\n// }\n\n// // 2) Connect via mongoose\n// context.info(`[Mongo] Connecting to MongoDB…`);\n// this.mongoose = await mongoose.connect(connString);\n// context.info(`[Mongo] Connected using secret \"${secretKey}\"`);\n// }\n// }\n"],"mappings":";;;;AAEA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAAqD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAJrD;;AAOO,MAAeG,YAAY,CAAC;EAGjCC,WAAWA,CACTC,OAA0B,EAC1BC,QAA6B,EAC7B;IAAA,KALQC,EAAE;IAMVC,wBAAwB,CACrBC,WAAW,CAACJ,OAAO,EAAEC,QAAQ,CAAC,CAC9BI,IAAI,CAACC,IAAI,IAAI;MACZ,IAAI,CAACJ,EAAE,GAAGI,IAAI;MACdN,OAAO,CAACO,IAAI,CAAC,uBAAuB,CAAC;IACvC,CAAC,CAAC,CACDC,KAAK,CAACC,GAAG,IAAI;MACZT,OAAO,CAACU,KAAK,CAAC,iCAAiC,EAAED,GAAG,CAAC;MACrD,MAAMA,GAAG;IACX,CAAC,CAAC;EACN;AACF;AAACE,OAAA,CAAAb,YAAA,GAAAA,YAAA;AAED,MAAMK,wBAAwB,CAAC;EAG7B,aAAaC,WAAWA,CACtBJ,OAA0B,EAC1BY,SAA8B,EACT;IACrB,IAAI,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACF,SAAS,CAAC,EAAE;MAClC,MAAMG,SAAS,GAAGC,OAAO,CAACC,GAAG,CAACC,cAAe;MAC7C,IAAI,CAACH,SAAS,EAAE,MAAM,IAAII,KAAK,CAAC,gCAAgC,CAAC;MAEjEnB,OAAO,CAACO,IAAI,CAAC,4BAA4BK,SAAS,iBAAiBG,SAAS,GAAG,CAAC;MAChF,MAAMK,GAAG,GAAG,MAAM,IAAAC,iCAAwB,EAACrB,OAAO,EAAEe,SAAS,EAAEH,SAAS,CAAC;MACzE,IAAI,CAACQ,GAAG,EAAE,MAAM,IAAID,KAAK,CAAC,wBAAwBP,SAAS,GAAG,CAAC;MAE/DZ,OAAO,CAACO,IAAI,CAAC,gCAAgC,CAAC;MAC9C,MAAMD,IAAI,GAAG,MAAMgB,iBAAQ,CACxBC,gBAAgB,CAACH,GAAG,EAAE,CAAC,CAAC,CAAC,CACzBI,SAAS,CAAC,CAAC;MACdxB,OAAO,CAACO,IAAI,CAAC,8BAA8B,CAAC;MAE5C,IAAI,CAACM,SAAS,CAACY,GAAG,CAACb,SAAS,EAAEN,IAAI,CAAC;IACrC;IACA,OAAO,IAAI,CAACO,SAAS,CAACa,GAAG,CAACd,SAAS,CAAC;EACtC;AACF;;AAMA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAvGMT,wBAAwB,CACbU,SAAS,GAAG,IAAIc,GAAG,CAAkC,CAAC","ignoreList":[]}
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.asyncHandler = asyncHandler;
5
- exports.sendResponse = sendResponse;
6
- // This function generates a standard response with a structured body: { status, message, data }
7
- function sendResponse(statusCode, data = null, message = '', headers = {
8
- 'Content-Type': 'application/json'
9
- }) {
10
- return {
11
- status: statusCode,
12
- body: JSON.stringify({
13
- status: statusCode,
14
- message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),
15
- data: data
16
- }),
17
- headers: headers
18
- };
19
- }
20
-
21
- // Centralized asyncHandler to catch all errors
22
- function asyncHandler(handler) {
23
- return async (request, context) => {
24
- try {
25
- context.log('Handling request:', request.url);
26
- const response = await handler(request, context); // Call the actual handler logic
27
- context.log('Response sent:', response.status);
28
- return response;
29
- } catch (error) {
30
- console.error('Error occurred:', error);
31
- context.error('Error occurred:', error);
32
- return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');
33
- }
34
- };
35
- }
36
- //# sourceMappingURL=response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.js","names":["sendResponse","statusCode","data","message","headers","status","body","JSON","stringify","asyncHandler","handler","request","context","log","url","response","error","console"],"sources":["../../../src/utils/response.ts"],"sourcesContent":["import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';\n\n// This function generates a standard response with a structured body: { status, message, data }\nexport function sendResponse(\n statusCode: number,\n data: any = null,\n message: string = '',\n headers: Record<string, string> = { 'Content-Type': 'application/json' }\n): HttpResponseInit {\n return {\n status: statusCode,\n body: JSON.stringify({\n status: statusCode,\n message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),\n data: data,\n }),\n headers: headers,\n };\n}\n\n// Centralized asyncHandler to catch all errors\nexport function asyncHandler(handler: Function) {\n return async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {\n try {\n context.log('Handling request:', request.url);\n const response = await handler(request, context); // Call the actual handler logic\n context.log('Response sent:', response.status);\n return response;\n } catch (error: any) {\n console.error('Error occurred:', error);\n context.error('Error occurred:', error);\n return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');\n }\n };\n}"],"mappings":";;;;;AAEA;AACO,SAASA,YAAYA,CACxBC,UAAkB,EAClBC,IAAS,GAAG,IAAI,EAChBC,OAAe,GAAG,EAAE,EACpBC,OAA+B,GAAG;EAAE,cAAc,EAAE;AAAmB,CAAC,EACxD;EAChB,OAAO;IACHC,MAAM,EAAEJ,UAAU;IAClBK,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACjBH,MAAM,EAAEJ,UAAU;MAClBE,OAAO,EAAEA,OAAO,KAAKF,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;MACjFC,IAAI,EAAEA;IACV,CAAC,CAAC;IACFE,OAAO,EAAEA;EACb,CAAC;AACL;;AAEA;AACO,SAASK,YAAYA,CAACC,OAAiB,EAAE;EAC5C,OAAO,OAAOC,OAAoB,EAAEC,OAA0B,KAAgC;IAC1F,IAAI;MACAA,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,OAAO,CAACG,GAAG,CAAC;MAC7C,MAAMC,QAAQ,GAAG,MAAML,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAE;MACnDA,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEE,QAAQ,CAACV,MAAM,CAAC;MAC9C,OAAOU,QAAQ;IACnB,CAAC,CAAC,OAAOC,KAAU,EAAE;MACjBC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvCJ,OAAO,CAACI,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvC,OAAOhB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAEgB,KAAK,CAACb,OAAO,GAAGa,KAAK,CAACb,OAAO,GAAG,8BAA8B,CAAC;IAClG;EACJ,CAAC;AACL","ignoreList":[]}
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.getAzureVaultSecretByKey = getAzureVaultSecretByKey;
5
- var _identity = require("@azure/identity");
6
- var _keyvaultSecrets = require("@azure/keyvault-secrets");
7
- var _enums = require("../enums");
8
- /**
9
- * Fetches a secret value from Azure Key Vault by key.
10
- * @param key - The key name from the AzureSecretKeysEnum enum.
11
- * @returns The secret value.
12
- * @throws Error if the key is invalid or if the secret fetch fails.
13
- */
14
- async function getAzureVaultSecretByKey(context, azureVaultName, key) {
15
- try {
16
- // Azure Key Vault URL
17
- const vaultName = azureVaultName || "";
18
- const vaultUrl = `https://${vaultName}.vault.azure.net`;
19
-
20
- // Initialize SecretClient
21
- const credential = new _identity.DefaultAzureCredential();
22
- const client = new _keyvaultSecrets.SecretClient(vaultUrl, credential);
23
-
24
- // Validate the key using a switch case
25
- switch (key) {
26
- case _enums.AzureSecretKeysEnum.STRIPE_SECRET_KEY:
27
- case _enums.AzureSecretKeysEnum.STRIPE_PAYMENT_WEBHOOK_SECRET_KEY:
28
- case _enums.AzureSecretKeysEnum.STRIPE_PRODUCT_WEBHOOK_SECRET:
29
- case _enums.AzureSecretKeysEnum.STRIPE_PRICE_WEBHOOK_SECRET:
30
- case _enums.AzureSecretKeysEnum.EMAIL_SERVICE_URL:
31
- case _enums.AzureSecretKeysEnum.STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY:
32
- const secret = await client.getSecret(key);
33
- return secret.value || "";
34
- default:
35
- throw new Error(`Invalid key name: ${key}`);
36
- }
37
- } catch (err) {
38
- context.error(`Error fetching secret for key ${key}:`, err);
39
- throw new Error(`Failed to fetch secret for key ${key}`);
40
- }
41
- }
42
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.js","names":["_identity","require","_keyvaultSecrets","_enums","getAzureVaultSecretByKey","context","azureVaultName","key","vaultName","vaultUrl","credential","DefaultAzureCredential","client","SecretClient","AzureSecretKeysEnum","STRIPE_SECRET_KEY","STRIPE_PAYMENT_WEBHOOK_SECRET_KEY","STRIPE_PRODUCT_WEBHOOK_SECRET","STRIPE_PRICE_WEBHOOK_SECRET","EMAIL_SERVICE_URL","STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY","secret","getSecret","value","Error","err","error"],"sources":["../../../src/utils/secrets.ts"],"sourcesContent":["import { DefaultAzureCredential } from \"@azure/identity\";\nimport { SecretClient } from \"@azure/keyvault-secrets\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { AzureSecretKeysEnum } from \"../enums\";\n\n/**\n * Fetches a secret value from Azure Key Vault by key.\n * @param key - The key name from the AzureSecretKeysEnum enum.\n * @returns The secret value.\n * @throws Error if the key is invalid or if the secret fetch fails.\n*/\nexport async function getAzureVaultSecretByKey(\n context: InvocationContext,\n azureVaultName: string,\n key: AzureSecretKeysEnum\n): Promise<string> {\n try {\n \n // Azure Key Vault URL\n const vaultName = azureVaultName || \"\";\n const vaultUrl = `https://${vaultName}.vault.azure.net`;\n\n // Initialize SecretClient\n const credential = new DefaultAzureCredential();\n const client = new SecretClient(vaultUrl, credential);\n \n // Validate the key using a switch case\n switch (key) {\n \n case AzureSecretKeysEnum.STRIPE_SECRET_KEY:\n case AzureSecretKeysEnum.STRIPE_PAYMENT_WEBHOOK_SECRET_KEY:\n case AzureSecretKeysEnum.STRIPE_PRODUCT_WEBHOOK_SECRET:\n case AzureSecretKeysEnum.STRIPE_PRICE_WEBHOOK_SECRET:\n case AzureSecretKeysEnum.EMAIL_SERVICE_URL:\n case AzureSecretKeysEnum.STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY:\n const secret = await client.getSecret(key);\n return secret.value || \"\";\n default:\n throw new Error(`Invalid key name: ${key}`);\n }\n } catch (err) {\n context.error(`Error fetching secret for key ${key}:`, err);\n throw new Error(`Failed to fetch secret for key ${key}`);\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,wBAAwBA,CAC5CC,OAA0B,EAC1BC,cAAsB,EACtBC,GAAwB,EACP;EACjB,IAAI;IAEF;IACA,MAAMC,SAAS,GAAGF,cAAc,IAAI,EAAE;IACtC,MAAMG,QAAQ,GAAG,WAAWD,SAAS,kBAAkB;;IAEvD;IACA,MAAME,UAAU,GAAG,IAAIC,gCAAsB,CAAC,CAAC;IAC/C,MAAMC,MAAM,GAAG,IAAIC,6BAAY,CAACJ,QAAQ,EAAEC,UAAU,CAAC;;IAErD;IACA,QAAQH,GAAG;MAET,KAAKO,0BAAmB,CAACC,iBAAiB;MAC1C,KAAKD,0BAAmB,CAACE,iCAAiC;MAC1D,KAAKF,0BAAmB,CAACG,6BAA6B;MACtD,KAAKH,0BAAmB,CAACI,2BAA2B;MACpD,KAAKJ,0BAAmB,CAACK,iBAAiB;MAC1C,KAAKL,0BAAmB,CAACM,uCAAuC;QAC9D,MAAMC,MAAM,GAAG,MAAMT,MAAM,CAACU,SAAS,CAACf,GAAG,CAAC;QAC1C,OAAOc,MAAM,CAACE,KAAK,IAAI,EAAE;MAC3B;QACE,MAAM,IAAIC,KAAK,CAAC,qBAAqBjB,GAAG,EAAE,CAAC;IAC/C;EACF,CAAC,CAAC,OAAOkB,GAAG,EAAE;IACZpB,OAAO,CAACqB,KAAK,CAAC,iCAAiCnB,GAAG,GAAG,EAAEkB,GAAG,CAAC;IAC3D,MAAM,IAAID,KAAK,CAAC,kCAAkCjB,GAAG,EAAE,CAAC;EAC1D;AACF","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export * from './secretKeys.enum';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/enums/index.ts"],"sourcesContent":["export * from './secretKeys.enum'"],"mappings":"AAAA,cAAc,mBAAmB","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- // Enum for secret keys
2
- export let AzureSecretKeysEnum = /*#__PURE__*/function (AzureSecretKeysEnum) {
3
- // STRIPE_PUBLISHABLE_KEY = "Stripe-Publishable-Key",
4
- AzureSecretKeysEnum["STRIPE_SECRET_KEY"] = "Stripe-secret-key";
5
- AzureSecretKeysEnum["STRIPE_PAYMENT_WEBHOOK_SECRET_KEY"] = "Stripe-payment-webhook-secret-key";
6
- // in-use
7
- AzureSecretKeysEnum["STRIPE_PRODUCT_WEBHOOK_SECRET"] = "Stripe-product-webhook-secret-key";
8
- // in-use
9
- AzureSecretKeysEnum["STRIPE_PRICE_WEBHOOK_SECRET"] = "Stripe-price-webhook-secret-key";
10
- // in-use
11
- AzureSecretKeysEnum["EMAIL_SERVICE_URL"] = "Email-Service-Url";
12
- // in-use,
13
- AzureSecretKeysEnum["STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY"] = "Stripe-Customer-Sync-Webhook-Secret-Key";
14
- // in-use
15
- AzureSecretKeysEnum["DB_CONNECTING_STRING_BILLING"] = "DB-Connecting-String-Billing"; // in-use
16
- return AzureSecretKeysEnum;
17
- }({});
18
- //# sourceMappingURL=secretKeys.enum.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secretKeys.enum.js","names":["AzureSecretKeysEnum"],"sources":["../../../src/enums/secretKeys.enum.ts"],"sourcesContent":["// Enum for secret keys\nexport enum AzureSecretKeysEnum {\n // STRIPE_PUBLISHABLE_KEY = \"Stripe-Publishable-Key\",\n STRIPE_SECRET_KEY = \"Stripe-secret-key\",\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 STRIPE_CUSTOMER_SYNC_WEBHOOK_SECRET_KEY = \"Stripe-Customer-Sync-Webhook-Secret-Key\", // in-use\n DB_CONNECTING_STRING_BILLING = \"DB-Connecting-String-Billing\", // in-use\n}"],"mappings":"AAAA;AACA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAC7B;EADUA,mBAAmB;EAAnBA,mBAAmB;EAG4C;EAH/DA,mBAAmB;EAIwC;EAJ3DA,mBAAmB;EAKoC;EALvDA,mBAAmB;EAMY;EAN/BA,mBAAmB;EAOwD;EAP3EA,mBAAmB,mEAQkC;EAAA,OARrDA,mBAAmB;AAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=create-enterprise-business.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-enterprise-business.js","names":[],"sources":["../../../src/types/create-enterprise-business.ts"],"sourcesContent":["interface PrimaryContact {\n name: string;\n email: string;\n phone: string;\n country: string;\n}\n\ninterface UserData {\n firstName: string;\n lastName: string;\n email: string;\n position: string;\n password: string;\n}\n\ninterface BusinessData {\n name: string;\n industryId: string;\n size: string;\n primaryContact: PrimaryContact;\n subdomain: string;\n}\n\nexport interface IEnterpriseBusinessCreationByGuestPayload {\n planId: string;\n addonIds: string[];\n userData: UserData;\n businessData: BusinessData;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","names":[],"sources":["../../../src/types/events.ts"],"sourcesContent":["export interface IEventMessage<T> {\n eventType: string;\n timestamp: string;\n data: T;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- export * from './create-enterprise-business';
2
- export * from './events';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './create-enterprise-business'\nexport * from './events'"],"mappings":"AAAA,cAAc,8BAA8B;AAC5C,cAAc,UAAU","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=payloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payloads.js","names":[],"sources":["../../../src/types/payloads.ts"],"sourcesContent":["export interface IPaymentServiceCreateEnterpriseBusinessCustomerPayload {\n businessName: string;\n businessAddress: string;\n businessPhoneNumber: string;\n businessEmail: string;\n businessWebsite: string;\n businessType: string;\n subscriptionPlanId: string;\n paymentMethodId: string;\n paymentAmount: number;\n currency: string;\n}"],"mappings":"","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- export * from './secrets';
2
- export * from './response';
3
- export * from './initializers';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from './secrets';\nexport * from './response';\nexport * from './initializers';"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,gBAAgB","ignoreList":[]}
@@ -1,108 +0,0 @@
1
- // packages/libs/src/db-initializers.ts
2
-
3
- import mongoose from "mongoose";
4
- import { getAzureVaultSecretByKey } from "./secrets";
5
- export class Initializers {
6
- constructor(context, dbSecret) {
7
- this.db = void 0;
8
- MongoConnectionSingleton.getInstance(context, dbSecret).then(conn => {
9
- this.db = conn;
10
- context.info("✅ MongoDB initialized");
11
- }).catch(err => {
12
- context.error("❌ Failed to initialize MongoDB:", err);
13
- throw err;
14
- });
15
- }
16
- }
17
- class MongoConnectionSingleton {
18
- static async getInstance(context, secretKey) {
19
- if (!this.instances.has(secretKey)) {
20
- const vaultName = process.env.KEY_VAULT_NAME;
21
- if (!vaultName) throw new Error("Missing KEY_VAULT_NAME env var");
22
- context.info(`[Mongo] fetching secret "${secretKey}" from vault "${vaultName}"`);
23
- const uri = await getAzureVaultSecretByKey(context, vaultName, secretKey);
24
- if (!uri) throw new Error(`No value for secret "${secretKey}"`);
25
- context.info("[Mongo] connecting to MongoDB…");
26
- const conn = await mongoose.createConnection(uri, {}).asPromise();
27
- context.info("[Mongo] connected to MongoDB");
28
- this.instances.set(secretKey, conn);
29
- }
30
- return this.instances.get(secretKey);
31
- }
32
- }
33
-
34
- // import mongoose, { Mongoose } from "mongoose";
35
- // import { InvocationContext } from "@azure/functions";
36
- // import { getAzureVaultSecretByKey } from "./secrets";
37
- // import { AzureSecretKeysEnum } from "../enums";
38
-
39
- // /**
40
- // * Base class for any service that needs a MongoDB connection.
41
- // * Pass in the name of the Key Vault secret that holds your MongoDB URI.
42
- // */
43
- // export abstract class Initializers {
44
- // mongoose!: Mongoose;
45
-
46
- // constructor(
47
- // context: InvocationContext,
48
- // dbConnectionSecretKey: AzureSecretKeysEnum
49
- // ) {
50
- // MongoConnectionSingleton
51
- // .getInstance(context, dbConnectionSecretKey)
52
- // .then(singleton => {
53
- // this.mongoose = singleton.mongoose;
54
- // })
55
- // .catch(err => {
56
- // context.error("Failed to initialize MongoDB:", err);
57
- // throw err;
58
- // });
59
- // }
60
- // }
61
-
62
- // /**
63
- // * A singleton manager that caches one mongoose connection per secret key.
64
- // */
65
- // class MongoConnectionSingleton {
66
- // private static instances: Map<AzureSecretKeysEnum, MongoConnectionSingleton> = new Map();
67
- // public mongoose!: Mongoose;
68
-
69
- // private constructor() { }
70
-
71
- // public static async getInstance(
72
- // context: InvocationContext,
73
- // secretKey: AzureSecretKeysEnum
74
- // ): Promise<MongoConnectionSingleton> {
75
- // if (!this.instances.has(secretKey)) {
76
- // const inst = new MongoConnectionSingleton();
77
- // await inst.connect(context, secretKey);
78
- // this.instances.set(secretKey, inst);
79
- // }
80
- // return this.instances.get(secretKey)!;
81
- // }
82
-
83
- // private async connect(
84
- // context: InvocationContext,
85
- // secretKey: AzureSecretKeysEnum
86
- // ): Promise<void> {
87
- // // 1) Fetch vault name and secret
88
- // const vaultName = process.env.AZURE_KEY_VAULT_NAME!;
89
- // if (!vaultName) throw new Error("Missing KEY_VAULT_NAME env var");
90
-
91
- // context.info(`[Mongo] Fetching connection string from vault "${vaultName}", secret "${secretKey}"`);
92
- // const connString = await getAzureVaultSecretByKey(
93
- // context,
94
- // vaultName,
95
- // secretKey
96
- // );
97
- // if (!connString) {
98
- // throw new Error(`No value found for secret "${secretKey}"`);
99
- // }
100
-
101
- // // 2) Connect via mongoose
102
- // context.info(`[Mongo] Connecting to MongoDB…`);
103
- // this.mongoose = await mongoose.connect(connString);
104
- // context.info(`[Mongo] Connected using secret "${secretKey}"`);
105
- // }
106
- // }
107
- MongoConnectionSingleton.instances = new Map();
108
- //# sourceMappingURL=initializers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializers.js","names":["mongoose","getAzureVaultSecretByKey","Initializers","constructor","context","dbSecret","db","MongoConnectionSingleton","getInstance","then","conn","info","catch","err","error","secretKey","instances","has","vaultName","process","env","KEY_VAULT_NAME","Error","uri","createConnection","asPromise","set","get","Map"],"sources":["../../../src/utils/initializers.ts"],"sourcesContent":["// packages/libs/src/db-initializers.ts\n\nimport mongoose, { Connection } from \"mongoose\";\nimport { InvocationContext } from \"@azure/functions\";\nimport { getAzureVaultSecretByKey } from \"./secrets\";\nimport { AzureSecretKeysEnum } from \"../enums\";\n\nexport abstract class Initializers {\n protected db!: Connection;\n\n constructor(\n context: InvocationContext,\n dbSecret: AzureSecretKeysEnum\n ) {\n MongoConnectionSingleton\n .getInstance(context, dbSecret)\n .then(conn => {\n this.db = conn;\n context.info(\"✅ MongoDB initialized\");\n })\n .catch(err => {\n context.error(\"❌ Failed to initialize MongoDB:\", err);\n throw err;\n });\n }\n}\n\nclass MongoConnectionSingleton {\n private static instances = new Map<AzureSecretKeysEnum, Connection>();\n\n static async getInstance(\n context: InvocationContext,\n secretKey: AzureSecretKeysEnum\n ): Promise<Connection> {\n if (!this.instances.has(secretKey)) {\n const vaultName = process.env.KEY_VAULT_NAME!;\n if (!vaultName) throw new Error(\"Missing KEY_VAULT_NAME env var\");\n\n context.info(`[Mongo] fetching secret \"${secretKey}\" from vault \"${vaultName}\"`);\n const uri = await getAzureVaultSecretByKey(context, vaultName, secretKey);\n if (!uri) throw new Error(`No value for secret \"${secretKey}\"`);\n\n context.info(\"[Mongo] connecting to MongoDB…\");\n const conn = await mongoose\n .createConnection(uri, {})\n .asPromise();\n context.info(\"[Mongo] connected to MongoDB\");\n\n this.instances.set(secretKey, conn);\n }\n return this.instances.get(secretKey)!;\n }\n}\n\n\n\n\n\n// import mongoose, { Mongoose } from \"mongoose\";\n// import { InvocationContext } from \"@azure/functions\";\n// import { getAzureVaultSecretByKey } from \"./secrets\";\n// import { AzureSecretKeysEnum } from \"../enums\";\n\n// /**\n// * Base class for any service that needs a MongoDB connection.\n// * Pass in the name of the Key Vault secret that holds your MongoDB URI.\n// */\n// export abstract class Initializers {\n// mongoose!: Mongoose;\n\n// constructor(\n// context: InvocationContext,\n// dbConnectionSecretKey: AzureSecretKeysEnum\n// ) {\n// MongoConnectionSingleton\n// .getInstance(context, dbConnectionSecretKey)\n// .then(singleton => {\n// this.mongoose = singleton.mongoose;\n// })\n// .catch(err => {\n// context.error(\"Failed to initialize MongoDB:\", err);\n// throw err;\n// });\n// }\n// }\n\n// /**\n// * A singleton manager that caches one mongoose connection per secret key.\n// */\n// class MongoConnectionSingleton {\n// private static instances: Map<AzureSecretKeysEnum, MongoConnectionSingleton> = new Map();\n// public mongoose!: Mongoose;\n\n// private constructor() { }\n\n// public static async getInstance(\n// context: InvocationContext,\n// secretKey: AzureSecretKeysEnum\n// ): Promise<MongoConnectionSingleton> {\n// if (!this.instances.has(secretKey)) {\n// const inst = new MongoConnectionSingleton();\n// await inst.connect(context, secretKey);\n// this.instances.set(secretKey, inst);\n// }\n// return this.instances.get(secretKey)!;\n// }\n\n// private async connect(\n// context: InvocationContext,\n// secretKey: AzureSecretKeysEnum\n// ): Promise<void> {\n// // 1) Fetch vault name and secret\n// const vaultName = process.env.AZURE_KEY_VAULT_NAME!;\n// if (!vaultName) throw new Error(\"Missing KEY_VAULT_NAME env var\");\n\n// context.info(`[Mongo] Fetching connection string from vault \"${vaultName}\", secret \"${secretKey}\"`);\n// const connString = await getAzureVaultSecretByKey(\n// context,\n// vaultName,\n// secretKey\n// );\n// if (!connString) {\n// throw new Error(`No value found for secret \"${secretKey}\"`);\n// }\n\n// // 2) Connect via mongoose\n// context.info(`[Mongo] Connecting to MongoDB…`);\n// this.mongoose = await mongoose.connect(connString);\n// context.info(`[Mongo] Connected using secret \"${secretKey}\"`);\n// }\n// }\n"],"mappings":"AAAA;;AAEA,OAAOA,QAAQ,MAAsB,UAAU;AAE/C,SAASC,wBAAwB,QAAQ,WAAW;AAGpD,OAAO,MAAeC,YAAY,CAAC;EAGjCC,WAAWA,CACTC,OAA0B,EAC1BC,QAA6B,EAC7B;IAAA,KALQC,EAAE;IAMVC,wBAAwB,CACrBC,WAAW,CAACJ,OAAO,EAAEC,QAAQ,CAAC,CAC9BI,IAAI,CAACC,IAAI,IAAI;MACZ,IAAI,CAACJ,EAAE,GAAGI,IAAI;MACdN,OAAO,CAACO,IAAI,CAAC,uBAAuB,CAAC;IACvC,CAAC,CAAC,CACDC,KAAK,CAACC,GAAG,IAAI;MACZT,OAAO,CAACU,KAAK,CAAC,iCAAiC,EAAED,GAAG,CAAC;MACrD,MAAMA,GAAG;IACX,CAAC,CAAC;EACN;AACF;AAEA,MAAMN,wBAAwB,CAAC;EAG7B,aAAaC,WAAWA,CACtBJ,OAA0B,EAC1BW,SAA8B,EACT;IACrB,IAAI,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACF,SAAS,CAAC,EAAE;MAClC,MAAMG,SAAS,GAAGC,OAAO,CAACC,GAAG,CAACC,cAAe;MAC7C,IAAI,CAACH,SAAS,EAAE,MAAM,IAAII,KAAK,CAAC,gCAAgC,CAAC;MAEjElB,OAAO,CAACO,IAAI,CAAC,4BAA4BI,SAAS,iBAAiBG,SAAS,GAAG,CAAC;MAChF,MAAMK,GAAG,GAAG,MAAMtB,wBAAwB,CAACG,OAAO,EAAEc,SAAS,EAAEH,SAAS,CAAC;MACzE,IAAI,CAACQ,GAAG,EAAE,MAAM,IAAID,KAAK,CAAC,wBAAwBP,SAAS,GAAG,CAAC;MAE/DX,OAAO,CAACO,IAAI,CAAC,gCAAgC,CAAC;MAC9C,MAAMD,IAAI,GAAG,MAAMV,QAAQ,CACxBwB,gBAAgB,CAACD,GAAG,EAAE,CAAC,CAAC,CAAC,CACzBE,SAAS,CAAC,CAAC;MACdrB,OAAO,CAACO,IAAI,CAAC,8BAA8B,CAAC;MAE5C,IAAI,CAACK,SAAS,CAACU,GAAG,CAACX,SAAS,EAAEL,IAAI,CAAC;IACrC;IACA,OAAO,IAAI,CAACM,SAAS,CAACW,GAAG,CAACZ,SAAS,CAAC;EACtC;AACF;;AAMA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAvGMR,wBAAwB,CACbS,SAAS,GAAG,IAAIY,GAAG,CAAkC,CAAC","ignoreList":[]}