@explorins/pers-shared 2.1.119 → 2.1.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.js +8 -0
- package/dist/cjs/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaign.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/campaign/campaign.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js +9 -0
- package/dist/cjs/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +30 -0
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js +30 -0
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.js +26 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js +18 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js +9 -0
- package/dist/cjs/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/external-token-issuer-config.dto.d.ts +13 -0
- package/dist/cjs/shared-lib/dto/tenant/external-token-issuer-config.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/external-token-issuer-config.dto.js +71 -0
- package/dist/cjs/shared-lib/dto/tenant/external-token-issuer-config.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/index.js +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js +10 -2
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +1 -10
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +4 -58
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/enum/campaign/campaignTriggerType.enum.d.ts +36 -0
- package/dist/cjs/shared-lib/enum/campaign/campaignTriggerType.enum.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/campaign/campaignTriggerType.enum.js +36 -0
- package/dist/cjs/shared-lib/enum/campaign/campaignTriggerType.enum.js.map +1 -1
- package/dist/cjs/shared-lib/enum/campaign/trigger-source-type.enum.d.ts +29 -2
- package/dist/cjs/shared-lib/enum/campaign/trigger-source-type.enum.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/campaign/trigger-source-type.enum.js +29 -2
- package/dist/cjs/shared-lib/enum/campaign/trigger-source-type.enum.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.js +7 -0
- package/dist/esm/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaign.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/campaign/campaign.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaign.dto.js +8 -0
- package/dist/esm/shared-lib/dto/campaign/campaign.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts +30 -0
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +30 -0
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js +25 -1
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +18 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.js +8 -0
- package/dist/esm/shared-lib/dto/redemption/redemption.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/external-token-issuer-config.dto.d.ts +13 -0
- package/dist/esm/shared-lib/dto/tenant/external-token-issuer-config.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/external-token-issuer-config.dto.js +59 -0
- package/dist/esm/shared-lib/dto/tenant/external-token-issuer-config.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/index.js +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +8 -1
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +1 -10
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +3 -51
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/enum/campaign/campaignTriggerType.enum.d.ts +36 -0
- package/dist/esm/shared-lib/enum/campaign/campaignTriggerType.enum.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/campaign/campaignTriggerType.enum.js +36 -0
- package/dist/esm/shared-lib/enum/campaign/campaignTriggerType.enum.js.map +1 -1
- package/dist/esm/shared-lib/enum/campaign/trigger-source-type.enum.d.ts +29 -2
- package/dist/esm/shared-lib/enum/campaign/trigger-source-type.enum.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/campaign/trigger-source-type.enum.js +29 -2
- package/dist/esm/shared-lib/enum/campaign/trigger-source-type.enum.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,7 +32,24 @@ __decorate([
|
|
|
32
32
|
ApiProperty({
|
|
33
33
|
enum: TRIGGER_SOURCE_TYPE_VALUES,
|
|
34
34
|
example: TRIGGER_SOURCE_TYPES.QR_CODE,
|
|
35
|
-
description:
|
|
35
|
+
description: `Type of trigger source - HOW to claim rewards.
|
|
36
|
+
|
|
37
|
+
**Available Types:**
|
|
38
|
+
- \`QR_CODE\`: Physical QR code scan. App opens camera, decodes QR, extracts triggerSourceId
|
|
39
|
+
- \`NFC_TAG\`: NFC tag tap. App activates NFC reader, reads tag data
|
|
40
|
+
- \`GPS_GEOFENCE\`: GPS-based geofence. App sends user coordinates for proximity validation
|
|
41
|
+
- \`API_WEBHOOK\`: Server-to-server webhook. External system triggers claim via API
|
|
42
|
+
- \`TRANSACTION\`: Purchase/transaction triggered. Claim activated by payment events
|
|
43
|
+
|
|
44
|
+
**Important:** This defines HOW claims are triggered (the touchpoint mechanism).
|
|
45
|
+
NOT to be confused with CampaignTriggerType which defines WHO can claim (CLAIM_BY_USER, CLAIM_BY_BUSINESS, CLAIM_BY_SYSTEM).
|
|
46
|
+
|
|
47
|
+
**App Integration:**
|
|
48
|
+
\`\`\`typescript
|
|
49
|
+
const triggerTypes = campaign.included?.triggerSources?.map(ts => ts.type);
|
|
50
|
+
// Based on types, show appropriate UI (camera for QR, NFC prompt, location request, etc.)
|
|
51
|
+
\`\`\`
|
|
52
|
+
`
|
|
36
53
|
}),
|
|
37
54
|
IsNotEmpty(),
|
|
38
55
|
IsEnum(TRIGGER_SOURCE_TYPE_VALUES)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-source.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAqB,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AACnI,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzF,MAAM,oBAAoB,GAAG;;;;;;;;;+HASkG,CAAC;AAEhI,MAAM,OAAO,6BAA6B;
|
|
1
|
+
{"version":3,"file":"trigger-source.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/trigger-source.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redemption.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,qBAAa,aAAa;IAKtB,EAAE,EAAE,MAAM,CAAM;IAOhB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAOlC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"redemption.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,qBAAa,aAAa;IAKtB,EAAE,EAAE,MAAM,CAAM;IAOhB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAOlC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK9B,QAAQ,EAAE,OAAO,CAAS;IAK1B,iBAAiB,EAAE,MAAM,CAAK;IAO9B,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAMrC,UAAU,EAAE,YAAY,EAAE,CAAM;IAOhC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAI;IAQxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAO;IAKhC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAO1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAOlD,uBAAuB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAQhD,IAAI,EAAE,MAAM,EAAE,CAAM;CACvB"}
|
|
@@ -14,6 +14,7 @@ export class RedemptionDTO {
|
|
|
14
14
|
description = null;
|
|
15
15
|
name = null;
|
|
16
16
|
imageUrl = null;
|
|
17
|
+
logoUrl = null;
|
|
17
18
|
isActive = false;
|
|
18
19
|
creditTokenAmount = 0;
|
|
19
20
|
type = null;
|
|
@@ -51,6 +52,13 @@ __decorate([
|
|
|
51
52
|
nullable: true
|
|
52
53
|
})
|
|
53
54
|
], RedemptionDTO.prototype, "imageUrl", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
ApiProperty({
|
|
57
|
+
description: 'Logo URL for the redemption',
|
|
58
|
+
type: String,
|
|
59
|
+
nullable: true
|
|
60
|
+
})
|
|
61
|
+
], RedemptionDTO.prototype, "logoUrl", void 0);
|
|
54
62
|
__decorate([
|
|
55
63
|
ApiProperty({
|
|
56
64
|
description: 'Redemptio is active',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redemption.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,aAAa;IAKtB,EAAE,GAAW,EAAE,CAAC;IAOhB,WAAW,GAAkB,IAAI,CAAC;IAOlC,IAAI,GAAkB,IAAI,CAAC;IAO3B,QAAQ,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"redemption.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/redemption/redemption.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,aAAa;IAKtB,EAAE,GAAW,EAAE,CAAC;IAOhB,WAAW,GAAkB,IAAI,CAAC;IAOlC,IAAI,GAAkB,IAAI,CAAC;IAO3B,QAAQ,GAAkB,IAAI,CAAC;IAO/B,OAAO,GAAkB,IAAI,CAAC;IAK9B,QAAQ,GAAY,KAAK,CAAC;IAK1B,iBAAiB,GAAW,CAAC,CAAC;IAO9B,IAAI,GAA6B,IAAI,CAAA;IAMrC,UAAU,GAAmB,EAAE,CAAC;IAOhC,KAAK,GAAkB,CAAC,CAAA;IAQxB,MAAM,GAAsB,IAAI,CAAA;IAKhC,UAAU,CAAgB;IAO1B,iBAAiB,GAA6B,IAAI,CAAA;IAOlD,uBAAuB,GAAoB,IAAI,CAAC;IAQhD,IAAI,GAAa,EAAE,CAAC;CACvB;AA9FG;IAHC,WAAW,CAAC;QACL,WAAW,EAAE,eAAe;KAC/B,CAAC;yCACU;AAOhB;IALC,WAAW,CAAC;QACT,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;kDACgC;AAOlC;IALC,WAAW,CAAC;QACT,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;2CACyB;AAO3B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;+CAC6B;AAO/B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAC;8CAC4B;AAK9B;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;KACrC,CAAC;+CACwB;AAK1B;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,oEAAoE;KACpF,CAAC;wDAC4B;AAO9B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC;2CACmC;AAMrC;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC;KAC7B,CAAC;iDAC8B;AAOhC;IALC,WAAW,CAAC;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;4CACsB;AAQxB;IALC,mBAAmB,CAAC;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wCAAwC;KACxD,CAAC;6CAC8B;AAKhC;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,iCAAiC;KACjD,CAAC;iDACwB;AAO1B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC;wDACgD;AAOlD;IALC,WAAW,CAAC;QACT,WAAW,EAAE,2EAA2E;QACxF,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5B,CAAC;8DAC8C;AAQhD;IANC,WAAW,CAAC;QACT,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE;KACd,CAAC;2CACkB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ExternalTokenIssuerConfig } from '../../interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Validated External Token Issuer Config for API requests
|
|
4
|
+
* Implements ExternalTokenIssuerConfig interface for type consistency
|
|
5
|
+
*/
|
|
6
|
+
export declare class ExternalTokenIssuerConfigDTO implements ExternalTokenIssuerConfig {
|
|
7
|
+
issuer: string;
|
|
8
|
+
publicKey?: string;
|
|
9
|
+
jwksUri?: string;
|
|
10
|
+
allowUnverified?: boolean;
|
|
11
|
+
allowExpired?: boolean;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=external-token-issuer-config.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-token-issuer-config.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/external-token-issuer-config.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,yBAAyB;IAM1E,MAAM,EAAG,MAAM,CAAC;IAQhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAQjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAQ1B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
8
|
+
import { IsBoolean, IsUrl, IsString, IsOptional } from 'class-validator';
|
|
9
|
+
/**
|
|
10
|
+
* Validated External Token Issuer Config for API requests
|
|
11
|
+
* Implements ExternalTokenIssuerConfig interface for type consistency
|
|
12
|
+
*/
|
|
13
|
+
export class ExternalTokenIssuerConfigDTO {
|
|
14
|
+
issuer;
|
|
15
|
+
publicKey;
|
|
16
|
+
jwksUri;
|
|
17
|
+
allowUnverified;
|
|
18
|
+
allowExpired;
|
|
19
|
+
}
|
|
20
|
+
__decorate([
|
|
21
|
+
ApiProperty({
|
|
22
|
+
description: 'Issuer URL (must match token iss claim)',
|
|
23
|
+
example: 'https://login.example.com/tenant-id/v2.0/'
|
|
24
|
+
}),
|
|
25
|
+
IsString()
|
|
26
|
+
], ExternalTokenIssuerConfigDTO.prototype, "issuer", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
ApiPropertyOptional({
|
|
29
|
+
description: 'PEM-encoded public key (skip JWKS fetch)',
|
|
30
|
+
example: '-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----'
|
|
31
|
+
}),
|
|
32
|
+
IsOptional(),
|
|
33
|
+
IsString()
|
|
34
|
+
], ExternalTokenIssuerConfigDTO.prototype, "publicKey", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
ApiPropertyOptional({
|
|
37
|
+
description: 'Custom JWKS URI (override default discovery)',
|
|
38
|
+
example: 'https://login.example.com/.well-known/jwks.json'
|
|
39
|
+
}),
|
|
40
|
+
IsOptional(),
|
|
41
|
+
IsUrl()
|
|
42
|
+
], ExternalTokenIssuerConfigDTO.prototype, "jwksUri", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
ApiPropertyOptional({
|
|
45
|
+
description: 'Skip signature verification - use only for dev/testing',
|
|
46
|
+
default: false
|
|
47
|
+
}),
|
|
48
|
+
IsOptional(),
|
|
49
|
+
IsBoolean()
|
|
50
|
+
], ExternalTokenIssuerConfigDTO.prototype, "allowUnverified", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
ApiPropertyOptional({
|
|
53
|
+
description: 'Allow expired tokens - use only for dev/testing',
|
|
54
|
+
default: false
|
|
55
|
+
}),
|
|
56
|
+
IsOptional(),
|
|
57
|
+
IsBoolean()
|
|
58
|
+
], ExternalTokenIssuerConfigDTO.prototype, "allowExpired", void 0);
|
|
59
|
+
//# sourceMappingURL=external-token-issuer-config.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-token-issuer-config.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/external-token-issuer-config.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGzE;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAMrC,MAAM,CAAU;IAQhB,SAAS,CAAU;IAQnB,OAAO,CAAU;IAQjB,eAAe,CAAW;IAQ1B,YAAY,CAAW;CAC1B;AAjCG;IALC,WAAW,CAAC;QACX,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,2CAA2C;KACrD,CAAC;IACD,QAAQ,EAAE;4DACK;AAQhB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,2DAA2D;KACrE,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;+DACQ;AAQnB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,iDAAiD;KAC3D,CAAC;IACD,UAAU,EAAE;IACZ,KAAK,EAAE;6DACS;AAQjB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,KAAK;KACf,CAAC;IACD,UAAU,EAAE;IACZ,SAAS,EAAE;qEACc;AAQ1B;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,KAAK;KACf,CAAC;IACD,UAAU,EAAE;IACZ,SAAS,EAAE;kEACW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAG7F,qBAAa,eAAe;IAK1B,WAAW,EAAE,MAAM,CAAM;IAMzB,OAAO,EAAE,MAAM,CAAM;IAMrB,EAAE,EAAE,MAAM,CAAM;IAMhB,SAAS,EAAE,IAAI,CAAa;IAM5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAM3B,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAMxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMrB,aAAa,EAAE,MAAM,CAAK;CAC7B;AAED,qBAAa,SAAU,SAAQ,eAAe;IAO5C,oBAAoB,EAAE,MAAM,CAAK;IAMjC,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAM5B,UAAU,CAAC,EAAE,MAAM,CAAA;IAMnB,+BAA+B,EAAE,OAAO,CAAQ;IAGhD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IA2BvB,2BAA2B,EAAE,oBAAoB,CAAiC;IAQlF,iBAAiB,EAAE,MAAM,CAAwB;IAMjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAMrB,mBAAmB,EAAE,yBAAyB,EAAE,CAAK;CACtD"}
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
8
8
|
import { WalletManagementType } from "../../enum/wallet.enum.js";
|
|
9
|
-
import { ExternalTokenIssuerConfigDTO } from "./
|
|
9
|
+
import { ExternalTokenIssuerConfigDTO } from "./external-token-issuer-config.dto.js";
|
|
10
10
|
export class TenantPublicDTO {
|
|
11
11
|
projectName = '';
|
|
12
12
|
acronym = '';
|
|
@@ -16,6 +16,7 @@ export class TenantPublicDTO {
|
|
|
16
16
|
projectWebsite;
|
|
17
17
|
projectEmail;
|
|
18
18
|
projectImageUrl;
|
|
19
|
+
projectLogoUrl;
|
|
19
20
|
projectApiKey = '';
|
|
20
21
|
}
|
|
21
22
|
__decorate([
|
|
@@ -66,6 +67,12 @@ __decorate([
|
|
|
66
67
|
type: String
|
|
67
68
|
})
|
|
68
69
|
], TenantPublicDTO.prototype, "projectImageUrl", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
ApiPropertyOptional({
|
|
72
|
+
description: 'Logo URL of the tenant.',
|
|
73
|
+
type: String
|
|
74
|
+
})
|
|
75
|
+
], TenantPublicDTO.prototype, "projectLogoUrl", void 0);
|
|
69
76
|
__decorate([
|
|
70
77
|
ApiProperty({
|
|
71
78
|
description: 'Unique identifier for tenant. This id is used to identify tenant in the system for client requests.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tenant.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenant.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Validated External Token Issuer Config for API requests
|
|
3
|
-
*/
|
|
4
|
-
export declare class ExternalTokenIssuerConfigDTO {
|
|
5
|
-
issuer: string;
|
|
6
|
-
publicKey?: string;
|
|
7
|
-
jwksUri?: string;
|
|
8
|
-
allowUnverified?: boolean;
|
|
9
|
-
allowExpired?: boolean;
|
|
10
|
-
}
|
|
1
|
+
import { ExternalTokenIssuerConfigDTO } from './external-token-issuer-config.dto';
|
|
11
2
|
export declare class TenantUpdateRequestDTO {
|
|
12
3
|
projectName?: string;
|
|
13
4
|
projectDescription?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tenantUpdate.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,qBAAa,sBAAsB;IAO/B,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAI5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAI7B,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,+BAA+B,CAAC,EAAE,OAAO,CAAA;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAWzB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAKrB,eAAe,CAAC,EAAE,MAAM,CAAA;IAUxB,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAA;CACrD"}
|
|
@@ -4,59 +4,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
8
|
-
import { IsBoolean, IsUrl, IsEmail, IsArray, ValidateNested
|
|
7
|
+
import { ApiPropertyOptional } from "@nestjs/swagger";
|
|
8
|
+
import { IsBoolean, IsUrl, IsEmail, IsArray, ValidateNested } from 'class-validator';
|
|
9
9
|
import { Type } from 'class-transformer';
|
|
10
10
|
import { OptionalNullify } from '../../decorators/index.js';
|
|
11
|
-
|
|
12
|
-
* Validated External Token Issuer Config for API requests
|
|
13
|
-
*/
|
|
14
|
-
export class ExternalTokenIssuerConfigDTO {
|
|
15
|
-
issuer;
|
|
16
|
-
publicKey;
|
|
17
|
-
jwksUri;
|
|
18
|
-
allowUnverified;
|
|
19
|
-
allowExpired;
|
|
20
|
-
}
|
|
21
|
-
__decorate([
|
|
22
|
-
ApiProperty({
|
|
23
|
-
description: 'Issuer URL (must match token iss claim)',
|
|
24
|
-
example: 'https://login.example.com/tenant-id/v2.0/'
|
|
25
|
-
}),
|
|
26
|
-
IsString()
|
|
27
|
-
], ExternalTokenIssuerConfigDTO.prototype, "issuer", void 0);
|
|
28
|
-
__decorate([
|
|
29
|
-
ApiPropertyOptional({
|
|
30
|
-
description: 'PEM-encoded public key (skip JWKS fetch)',
|
|
31
|
-
example: '-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----'
|
|
32
|
-
}),
|
|
33
|
-
IsOptional(),
|
|
34
|
-
IsString()
|
|
35
|
-
], ExternalTokenIssuerConfigDTO.prototype, "publicKey", void 0);
|
|
36
|
-
__decorate([
|
|
37
|
-
ApiPropertyOptional({
|
|
38
|
-
description: 'Custom JWKS URI (override default discovery)',
|
|
39
|
-
example: 'https://login.example.com/.well-known/jwks.json'
|
|
40
|
-
}),
|
|
41
|
-
IsOptional(),
|
|
42
|
-
IsUrl()
|
|
43
|
-
], ExternalTokenIssuerConfigDTO.prototype, "jwksUri", void 0);
|
|
44
|
-
__decorate([
|
|
45
|
-
ApiPropertyOptional({
|
|
46
|
-
description: 'Skip signature verification - use only for dev/testing',
|
|
47
|
-
default: false
|
|
48
|
-
}),
|
|
49
|
-
IsOptional(),
|
|
50
|
-
IsBoolean()
|
|
51
|
-
], ExternalTokenIssuerConfigDTO.prototype, "allowUnverified", void 0);
|
|
52
|
-
__decorate([
|
|
53
|
-
ApiPropertyOptional({
|
|
54
|
-
description: 'Allow expired tokens - use only for dev/testing',
|
|
55
|
-
default: false
|
|
56
|
-
}),
|
|
57
|
-
IsOptional(),
|
|
58
|
-
IsBoolean()
|
|
59
|
-
], ExternalTokenIssuerConfigDTO.prototype, "allowExpired", void 0);
|
|
11
|
+
import { ExternalTokenIssuerConfigDTO } from './external-token-issuer-config.dto.js';
|
|
60
12
|
export class TenantUpdateRequestDTO {
|
|
61
13
|
projectName;
|
|
62
14
|
projectDescription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tenantUpdate.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantUpdate.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAO/B,WAAW,CAAS;IAMpB,kBAAkB,CAAS;IAI3B,YAAY,CAAS;IAIrB,mBAAmB,CAAS;IAI5B,oBAAoB,CAAS;IAI7B,UAAU,CAAS;IAQnB,+BAA+B,CAAU;IAIzC,gBAAgB,CAAS;IAEzB;kCAC8B;IAE9B;kCAC8B;IAK9B,cAAc,CAAS;IAKvB,YAAY,CAAS;IAKrB,eAAe,CAAS;IAUxB,mBAAmB,CAAiC;CACrD;AAlEC;IALC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,eAAe,EAAE;2DACE;AAMpB;IAJC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yBAAyB;KACvC,CAAC;IACD,eAAe,EAAE;kEACS;AAI3B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;4DACG;AAIrB;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;mEACU;AAI5B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;oEACW;AAI7B;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;0DACC;AAQnB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,OAAO;KACd,CAAC;IACD,eAAe,EAAE;IACjB,SAAS,EAAE;+EAC6B;AAIzC;IAFC,mBAAmB,EAAE;IACrB,eAAe,EAAE;gEACO;AAWzB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;8DACe;AAKvB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,OAAO,EAAE;4DACW;AAKrB;IAHC,mBAAmB,EAAE;IACrB,eAAe,EAAE;IACjB,KAAK,EAAE;+DACgB;AAUxB;IARC,mBAAmB,CAAC;QACnB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,CAAC,4BAA4B,CAAC;KACrC,CAAC;IACD,eAAe,EAAE;IACjB,OAAO,EAAE;IACT,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;mEACW"}
|
|
@@ -1,6 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Campaign Trigger Type - WHO can initiate a claim
|
|
3
|
+
*
|
|
4
|
+
* This defines the authentication/authorization context for claiming rewards.
|
|
5
|
+
* NOT to be confused with TriggerSourceType which defines HOW to claim (QR, NFC, etc.)
|
|
6
|
+
*
|
|
7
|
+
* Relationship:
|
|
8
|
+
* - campaign.trigger.triggerType → WHO can claim (CLAIM_BY_USER, CLAIM_BY_BUSINESS, CLAIM_BY_SYSTEM)
|
|
9
|
+
* - campaign.triggerSources[].type → HOW to claim (QR_CODE, NFC_TAG, GPS_GEOFENCE, etc.)
|
|
10
|
+
*
|
|
11
|
+
* Example Flow:
|
|
12
|
+
* 1. Campaign has triggerType=CLAIM_BY_USER (users initiate claims)
|
|
13
|
+
* 2. Campaign has triggerSources with type=QR_CODE (via QR scan)
|
|
14
|
+
* 3. User scans QR code → App calls claimCampaign with triggerSourceId
|
|
15
|
+
*
|
|
16
|
+
* @see TriggerSourceType for HOW claims are triggered
|
|
17
|
+
* @see CampaignClaimRequestDTO for the claim payload structure
|
|
18
|
+
*/
|
|
1
19
|
export declare enum CampaignTriggerType {
|
|
20
|
+
/**
|
|
21
|
+
* User-initiated claims. The end user triggers the claim action.
|
|
22
|
+
* App determines HOW via campaign.triggerSources[].type:
|
|
23
|
+
* - QR_CODE: Open camera/scanner
|
|
24
|
+
* - NFC_TAG: Activate NFC reader
|
|
25
|
+
* - GPS_GEOFENCE: Send user location
|
|
26
|
+
* - TRANSACTION: Triggered by purchase
|
|
27
|
+
*/
|
|
2
28
|
CLAIM_BY_USER = "CLAIM_BY_USER",
|
|
29
|
+
/**
|
|
30
|
+
* System/server-initiated claims. Automated processes trigger claims.
|
|
31
|
+
* Use cases: webhooks, scheduled jobs, backend integrations.
|
|
32
|
+
* Requires tenant API key authentication.
|
|
33
|
+
*/
|
|
3
34
|
CLAIM_BY_SYSTEM = "CLAIM_BY_SYSTEM",
|
|
35
|
+
/**
|
|
36
|
+
* Business-initiated claims. A business claims on behalf of users.
|
|
37
|
+
* Use cases: POS systems, staff-assisted redemptions, kiosks.
|
|
38
|
+
* Requires business authentication + user identifier.
|
|
39
|
+
*/
|
|
4
40
|
CLAIM_BY_BUSINESS = "CLAIM_BY_BUSINESS"
|
|
5
41
|
}
|
|
6
42
|
//# sourceMappingURL=campaignTriggerType.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaignTriggerType.enum.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/campaignTriggerType.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC3B,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"campaignTriggerType.enum.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/campaignTriggerType.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,mBAAmB;IAC3B;;;;;;;OAOG;IACH,aAAa,kBAAkB;IAE/B;;;;OAIG;IACH,eAAe,oBAAoB;IAEnC;;;;OAIG;IACH,iBAAiB,sBAAsB;CAC1C"}
|
|
@@ -1,7 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Campaign Trigger Type - WHO can initiate a claim
|
|
3
|
+
*
|
|
4
|
+
* This defines the authentication/authorization context for claiming rewards.
|
|
5
|
+
* NOT to be confused with TriggerSourceType which defines HOW to claim (QR, NFC, etc.)
|
|
6
|
+
*
|
|
7
|
+
* Relationship:
|
|
8
|
+
* - campaign.trigger.triggerType → WHO can claim (CLAIM_BY_USER, CLAIM_BY_BUSINESS, CLAIM_BY_SYSTEM)
|
|
9
|
+
* - campaign.triggerSources[].type → HOW to claim (QR_CODE, NFC_TAG, GPS_GEOFENCE, etc.)
|
|
10
|
+
*
|
|
11
|
+
* Example Flow:
|
|
12
|
+
* 1. Campaign has triggerType=CLAIM_BY_USER (users initiate claims)
|
|
13
|
+
* 2. Campaign has triggerSources with type=QR_CODE (via QR scan)
|
|
14
|
+
* 3. User scans QR code → App calls claimCampaign with triggerSourceId
|
|
15
|
+
*
|
|
16
|
+
* @see TriggerSourceType for HOW claims are triggered
|
|
17
|
+
* @see CampaignClaimRequestDTO for the claim payload structure
|
|
18
|
+
*/
|
|
1
19
|
export var CampaignTriggerType;
|
|
2
20
|
(function (CampaignTriggerType) {
|
|
21
|
+
/**
|
|
22
|
+
* User-initiated claims. The end user triggers the claim action.
|
|
23
|
+
* App determines HOW via campaign.triggerSources[].type:
|
|
24
|
+
* - QR_CODE: Open camera/scanner
|
|
25
|
+
* - NFC_TAG: Activate NFC reader
|
|
26
|
+
* - GPS_GEOFENCE: Send user location
|
|
27
|
+
* - TRANSACTION: Triggered by purchase
|
|
28
|
+
*/
|
|
3
29
|
CampaignTriggerType["CLAIM_BY_USER"] = "CLAIM_BY_USER";
|
|
30
|
+
/**
|
|
31
|
+
* System/server-initiated claims. Automated processes trigger claims.
|
|
32
|
+
* Use cases: webhooks, scheduled jobs, backend integrations.
|
|
33
|
+
* Requires tenant API key authentication.
|
|
34
|
+
*/
|
|
4
35
|
CampaignTriggerType["CLAIM_BY_SYSTEM"] = "CLAIM_BY_SYSTEM";
|
|
36
|
+
/**
|
|
37
|
+
* Business-initiated claims. A business claims on behalf of users.
|
|
38
|
+
* Use cases: POS systems, staff-assisted redemptions, kiosks.
|
|
39
|
+
* Requires business authentication + user identifier.
|
|
40
|
+
*/
|
|
5
41
|
CampaignTriggerType["CLAIM_BY_BUSINESS"] = "CLAIM_BY_BUSINESS";
|
|
6
42
|
})(CampaignTriggerType || (CampaignTriggerType = {}));
|
|
7
43
|
//# sourceMappingURL=campaignTriggerType.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaignTriggerType.enum.js","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/campaignTriggerType.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"campaignTriggerType.enum.js","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/campaignTriggerType.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,mBAwBX;AAxBD,WAAY,mBAAmB;IAC3B;;;;;;;OAOG;IACH,sDAA+B,CAAA;IAE/B;;;;OAIG;IACH,0DAAmC,CAAA;IAEnC;;;;OAIG;IACH,8DAAuC,CAAA;AAC3C,CAAC,EAxBW,mBAAmB,KAAnB,mBAAmB,QAwB9B"}
|
|
@@ -1,13 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Trigger Source Types
|
|
3
|
-
*
|
|
2
|
+
* Trigger Source Types - HOW a claim is triggered (the touchpoint mechanism)
|
|
3
|
+
*
|
|
4
|
+
* This defines the physical/digital interaction method for triggering claims.
|
|
5
|
+
* NOT to be confused with CampaignTriggerType which defines WHO can claim.
|
|
6
|
+
*
|
|
7
|
+
* Relationship:
|
|
8
|
+
* - campaign.trigger.triggerType → WHO can claim (CLAIM_BY_USER, CLAIM_BY_BUSINESS, CLAIM_BY_SYSTEM)
|
|
9
|
+
* - campaign.triggerSources[].type → HOW to claim (QR_CODE, NFC_TAG, GPS_GEOFENCE, etc.)
|
|
10
|
+
*
|
|
11
|
+
* Access via: campaign.included?.triggerSources?.map(ts => ts.type)
|
|
12
|
+
*
|
|
13
|
+
* App Integration Guide:
|
|
14
|
+
* - QR_CODE: Open camera/scanner, decode QR, extract triggerSourceId
|
|
15
|
+
* - NFC_TAG: Activate NFC reader, read tag data, extract triggerSourceId
|
|
16
|
+
* - GPS_GEOFENCE: Get user location, send latitude/longitude with claim
|
|
17
|
+
* - API_WEBHOOK: Server-to-server, external system triggers claim
|
|
18
|
+
* - TRANSACTION: Triggered by purchase events (Stripe, POS, etc.)
|
|
19
|
+
*
|
|
20
|
+
* NOTE: A campaign can have MULTIPLE trigger sources of different types.
|
|
21
|
+
* Example: Same campaign claimable via QR_CODE OR NFC_TAG at different locations.
|
|
22
|
+
*
|
|
4
23
|
* Using const object pattern for better extensibility without requiring deploys
|
|
24
|
+
*
|
|
25
|
+
* @see CampaignTriggerType for WHO can initiate claims
|
|
26
|
+
* @see CampaignClaimRequestDTO for the claim payload structure
|
|
5
27
|
*/
|
|
6
28
|
export declare const TRIGGER_SOURCE_TYPES: {
|
|
29
|
+
/** Physical QR code scan. App opens camera, decodes QR, extracts triggerSourceId */
|
|
7
30
|
readonly QR_CODE: "QR_CODE";
|
|
31
|
+
/** NFC tag tap. App activates NFC reader, reads tag data, extracts triggerSourceId */
|
|
8
32
|
readonly NFC_TAG: "NFC_TAG";
|
|
33
|
+
/** Server-to-server webhook. External system triggers claim via API */
|
|
9
34
|
readonly API_WEBHOOK: "API_WEBHOOK";
|
|
35
|
+
/** GPS-based geofence entry. App sends user coordinates for proximity validation */
|
|
10
36
|
readonly GPS_GEOFENCE: "GPS_GEOFENCE";
|
|
37
|
+
/** Purchase/transaction triggered. Claim activated by payment events */
|
|
11
38
|
readonly TRANSACTION: "TRANSACTION";
|
|
12
39
|
};
|
|
13
40
|
export type TriggerSourceType = typeof TRIGGER_SOURCE_TYPES[keyof typeof TRIGGER_SOURCE_TYPES];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-source-type.enum.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/trigger-source-type.enum.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"trigger-source-type.enum.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/trigger-source-type.enum.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,oBAAoB;IAC7B,oFAAoF;;IAEpF,sFAAsF;;IAEtF,uEAAuE;;IAEvE,oFAAoF;;IAEpF,wEAAwE;;CAElE,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAG/F,eAAO,MAAM,0BAA0B,4EAAsC,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;CAGrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEzF,eAAO,MAAM,wBAAwB,SAAoC,CAAC"}
|
|
@@ -1,13 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Trigger Source Types
|
|
3
|
-
*
|
|
2
|
+
* Trigger Source Types - HOW a claim is triggered (the touchpoint mechanism)
|
|
3
|
+
*
|
|
4
|
+
* This defines the physical/digital interaction method for triggering claims.
|
|
5
|
+
* NOT to be confused with CampaignTriggerType which defines WHO can claim.
|
|
6
|
+
*
|
|
7
|
+
* Relationship:
|
|
8
|
+
* - campaign.trigger.triggerType → WHO can claim (CLAIM_BY_USER, CLAIM_BY_BUSINESS, CLAIM_BY_SYSTEM)
|
|
9
|
+
* - campaign.triggerSources[].type → HOW to claim (QR_CODE, NFC_TAG, GPS_GEOFENCE, etc.)
|
|
10
|
+
*
|
|
11
|
+
* Access via: campaign.included?.triggerSources?.map(ts => ts.type)
|
|
12
|
+
*
|
|
13
|
+
* App Integration Guide:
|
|
14
|
+
* - QR_CODE: Open camera/scanner, decode QR, extract triggerSourceId
|
|
15
|
+
* - NFC_TAG: Activate NFC reader, read tag data, extract triggerSourceId
|
|
16
|
+
* - GPS_GEOFENCE: Get user location, send latitude/longitude with claim
|
|
17
|
+
* - API_WEBHOOK: Server-to-server, external system triggers claim
|
|
18
|
+
* - TRANSACTION: Triggered by purchase events (Stripe, POS, etc.)
|
|
19
|
+
*
|
|
20
|
+
* NOTE: A campaign can have MULTIPLE trigger sources of different types.
|
|
21
|
+
* Example: Same campaign claimable via QR_CODE OR NFC_TAG at different locations.
|
|
22
|
+
*
|
|
4
23
|
* Using const object pattern for better extensibility without requiring deploys
|
|
24
|
+
*
|
|
25
|
+
* @see CampaignTriggerType for WHO can initiate claims
|
|
26
|
+
* @see CampaignClaimRequestDTO for the claim payload structure
|
|
5
27
|
*/
|
|
6
28
|
export const TRIGGER_SOURCE_TYPES = {
|
|
29
|
+
/** Physical QR code scan. App opens camera, decodes QR, extracts triggerSourceId */
|
|
7
30
|
QR_CODE: 'QR_CODE',
|
|
31
|
+
/** NFC tag tap. App activates NFC reader, reads tag data, extracts triggerSourceId */
|
|
8
32
|
NFC_TAG: 'NFC_TAG',
|
|
33
|
+
/** Server-to-server webhook. External system triggers claim via API */
|
|
9
34
|
API_WEBHOOK: 'API_WEBHOOK',
|
|
35
|
+
/** GPS-based geofence entry. App sends user coordinates for proximity validation */
|
|
10
36
|
GPS_GEOFENCE: 'GPS_GEOFENCE',
|
|
37
|
+
/** Purchase/transaction triggered. Claim activated by payment events */
|
|
11
38
|
TRANSACTION: 'TRANSACTION',
|
|
12
39
|
};
|
|
13
40
|
// Export values array for validation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-source-type.enum.js","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/trigger-source-type.enum.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"trigger-source-type.enum.js","sourceRoot":"","sources":["../../../../../src/shared-lib/enum/campaign/trigger-source-type.enum.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,oFAAoF;IACpF,OAAO,EAAE,SAAS;IAClB,sFAAsF;IACtF,OAAO,EAAE,SAAS;IAClB,uEAAuE;IACvE,WAAW,EAAE,aAAa;IAC1B,oFAAoF;IACpF,YAAY,EAAE,cAAc;IAC5B,wEAAwE;IACxE,WAAW,EAAE,aAAa;CACpB,CAAC;AAIX,qCAAqC;AACrC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,iEAAiE;CAC3D,CAAC;AAIX,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED