tychat-contracts 1.6.37 → 1.6.42

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.
@@ -1,7 +1,7 @@
1
1
  import { BillingLineItemDto } from './billing-line-item.dto';
2
2
  export declare const BILLING_STATUSES: readonly ["PENDING", "PAYED", "REFUNDED", "CANCELED", "OVERDUE"];
3
3
  export type BillingStatusDto = (typeof BILLING_STATUSES)[number];
4
- export declare const BILLING_KINDS: readonly ["SUBSCRIPTION", "CAMPAIGN", "OTHER"];
4
+ export declare const BILLING_KINDS: readonly ["SUBSCRIPTION", "CAMPAIGN", "OTHER", "CREDIT_PURCHASE"];
5
5
  export type BillingKindDto = (typeof BILLING_KINDS)[number];
6
6
  export declare class CreateBillingDto {
7
7
  tenantId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"create-billing.dto.d.ts","sourceRoot":"","sources":["../../src/billing/create-billing.dto.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,gBAAgB,kEAMnB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,eAAO,MAAM,aAAa,gDAAiD,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,gBAAgB;IAO3B,QAAQ,EAAE,MAAM,CAAC;IASjB,KAAK,EAAE,MAAM,CAAC;IASd,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAQ1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,OAAO,EAAE,MAAM,CAAC;IAQhB,OAAO,CAAC,EAAE,MAAM,CAAC;IASjB,IAAI,CAAC,EAAE,cAAc,CAAC;IAQtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC"}
1
+ {"version":3,"file":"create-billing.dto.d.ts","sourceRoot":"","sources":["../../src/billing/create-billing.dto.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,gBAAgB,kEAMnB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,eAAO,MAAM,aAAa,mEAAoE,CAAC;AAC/F,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,gBAAgB;IAO3B,QAAQ,EAAE,MAAM,CAAC;IASjB,KAAK,EAAE,MAAM,CAAC;IASd,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAQ1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,OAAO,EAAE,MAAM,CAAC;IAQhB,OAAO,CAAC,EAAE,MAAM,CAAC;IASjB,IAAI,CAAC,EAAE,cAAc,CAAC;IAQtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC"}
@@ -21,7 +21,7 @@ exports.BILLING_STATUSES = [
21
21
  'CANCELED',
22
22
  'OVERDUE',
23
23
  ];
24
- exports.BILLING_KINDS = ['SUBSCRIPTION', 'CAMPAIGN', 'OTHER'];
24
+ exports.BILLING_KINDS = ['SUBSCRIPTION', 'CAMPAIGN', 'OTHER', 'CREDIT_PURCHASE'];
25
25
  class CreateBillingDto {
26
26
  tenantId;
27
27
  value;
@@ -1,4 +1,4 @@
1
- export declare const CAMPAIGN_STATUSES: readonly ["draft", "awaiting_template", "awaiting_payment", "ready", "sending", "paused", "completed", "cancelled", "pending_refund", "refund_approved"];
1
+ export declare const CAMPAIGN_STATUSES: readonly ["draft", "awaiting_template", "ready", "sending", "paused", "completed", "cancelled", "pending_refund", "refund_approved"];
2
2
  export type CampaignStatusDto = (typeof CAMPAIGN_STATUSES)[number];
3
3
  export declare const RECIPIENT_STATUSES: readonly ["pending", "queued", "sent", "delivered", "read", "failed", "skipped"];
4
4
  export type RecipientStatusDto = (typeof RECIPIENT_STATUSES)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-status.dto.d.ts","sourceRoot":"","sources":["../../src/campaigns/campaign-status.dto.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,0JAWpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,kFAQrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,sBAAsB,8CAA+C,CAAC;AAEnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,mBAAmB,mCAAoC,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB,wEAMvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"campaign-status.dto.d.ts","sourceRoot":"","sources":["../../src/campaigns/campaign-status.dto.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,sIAUpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,kFAQrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,sBAAsB,8CAA+C,CAAC;AAEnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,mBAAmB,mCAAoC,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB,wEAMvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -4,7 +4,6 @@ exports.REFUND_CASE_STATUSES = exports.TEMPLATE_CATEGORIES = exports.TEMPLATE_ME
4
4
  exports.CAMPAIGN_STATUSES = [
5
5
  'draft',
6
6
  'awaiting_template',
7
- 'awaiting_payment',
8
7
  'ready',
9
8
  'sending',
10
9
  'paused',
@@ -16,10 +16,10 @@ export interface CampaignDto {
16
16
  failedCount: number;
17
17
  repliedCount: number;
18
18
  delayBetweenSendsMs: number;
19
- estimatedCostCents: number;
20
- actualCostCents: number;
21
- billingId: string | null;
22
- paymentConfirmed: boolean;
19
+ estimatedCostCents?: number;
20
+ actualCostCents?: number;
21
+ billingId?: string | null;
22
+ paymentConfirmed?: boolean;
23
23
  scheduledAt: string | null;
24
24
  startedAt: string | null;
25
25
  completedAt: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.dto.d.ts","sourceRoot":"","sources":["../../src/campaigns/campaign.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,uBAAuB,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC"}
1
+ {"version":3,"file":"campaign.dto.d.ts","sourceRoot":"","sources":["../../src/campaigns/campaign.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,uBAAuB,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC"}
@@ -34,6 +34,8 @@ export declare class PlanSummaryDto {
34
34
  maxCampaignsPerMonth: number;
35
35
  campaignsModuleEnabled: boolean;
36
36
  campaignExtraSlotPrice: number;
37
+ monthlyOfficialWhatsappCredits: number;
38
+ officialWhatsappCreditExtraPrice: number;
37
39
  createdAt?: Date;
38
40
  updatedAt?: Date;
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan-summary.dto.d.ts","sourceRoot":"","sources":["../../src/configurations/plan-summary.dto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,cAAc;IAEzB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,cAAc,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAG9B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IAMtB,+BAA+B,EAAE,MAAM,CAAC;IAOxC,gCAAgC,EAAE,YAAY,GAAG,YAAY,CAAC;IAG9D,eAAe,EAAE,MAAM,CAAC;IAGxB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,CAAC;IAGxB,2BAA2B,EAAE,MAAM,CAAC;IAGpC,qBAAqB,EAAE,MAAM,CAAC;IAG9B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,wBAAwB,EAAE,MAAM,CAAC;IAGjC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,2BAA2B,EAAE,MAAM,CAAC;IAGpC,eAAe,EAAE,MAAM,CAAC;IAGxB,2BAA2B,EAAE,MAAM,CAAC;IAGpC,4BAA4B,EAAE,MAAM,CAAC;IAGrC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,sBAAsB,EAAE,OAAO,CAAC;IAGhC,sBAAsB,EAAE,MAAM,CAAC;IAG/B,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"plan-summary.dto.d.ts","sourceRoot":"","sources":["../../src/configurations/plan-summary.dto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,cAAc;IAEzB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,cAAc,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAG9B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IAMtB,+BAA+B,EAAE,MAAM,CAAC;IAOxC,gCAAgC,EAAE,YAAY,GAAG,YAAY,CAAC;IAG9D,eAAe,EAAE,MAAM,CAAC;IAGxB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,CAAC;IAGxB,2BAA2B,EAAE,MAAM,CAAC;IAGpC,qBAAqB,EAAE,MAAM,CAAC;IAG9B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,wBAAwB,EAAE,MAAM,CAAC;IAGjC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,2BAA2B,EAAE,MAAM,CAAC;IAGpC,eAAe,EAAE,MAAM,CAAC;IAGxB,2BAA2B,EAAE,MAAM,CAAC;IAGpC,4BAA4B,EAAE,MAAM,CAAC;IAGrC,oBAAoB,EAAE,MAAM,CAAC;IAG7B,sBAAsB,EAAE,OAAO,CAAC;IAGhC,sBAAsB,EAAE,MAAM,CAAC;IAG/B,8BAA8B,EAAE,MAAM,CAAC;IAGvC,gCAAgC,EAAE,MAAM,CAAC;IAGzC,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -47,6 +47,8 @@ class PlanSummaryDto {
47
47
  maxCampaignsPerMonth;
48
48
  campaignsModuleEnabled;
49
49
  campaignExtraSlotPrice;
50
+ monthlyOfficialWhatsappCredits;
51
+ officialWhatsappCreditExtraPrice;
50
52
  createdAt;
51
53
  updatedAt;
52
54
  }
@@ -186,6 +188,14 @@ __decorate([
186
188
  (0, swagger_1.ApiProperty)({ description: 'Preço por campanha extra além do limite', example: 10 }),
187
189
  __metadata("design:type", Number)
188
190
  ], PlanSummaryDto.prototype, "campaignExtraSlotPrice", void 0);
191
+ __decorate([
192
+ (0, swagger_1.ApiProperty)({ description: 'Monthly Official WhatsApp credits included in plan (0 = none)', example: 0 }),
193
+ __metadata("design:type", Number)
194
+ ], PlanSummaryDto.prototype, "monthlyOfficialWhatsappCredits", void 0);
195
+ __decorate([
196
+ (0, swagger_1.ApiProperty)({ description: 'Price per extra Official WhatsApp credit purchased (BRL)', example: 0 }),
197
+ __metadata("design:type", Number)
198
+ ], PlanSummaryDto.prototype, "officialWhatsappCreditExtraPrice", void 0);
189
199
  __decorate([
190
200
  (0, swagger_1.ApiPropertyOptional)(),
191
201
  __metadata("design:type", Date)
@@ -14,7 +14,7 @@ export declare class LegalTermPreviewRequestDto {
14
14
  export declare class LegalTermSendDto {
15
15
  signatureMethod?: LegalTermSignatureMethodDto;
16
16
  procedureIds: string[];
17
- whatsappMessage: string;
17
+ whatsappMessage?: string;
18
18
  signerEmail?: string;
19
19
  instanceKey?: string;
20
20
  appointmentId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"legal-term-preview.dto.d.ts","sourceRoot":"","sources":["../../src/legal-terms/legal-term-preview.dto.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,QAAA,MAAM,4BAA4B,iCAAkC,CAAC;AACrE,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,4FAA4F;AAC5F,qBAAa,0BAA0B;IAQrC,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAMlC,aAAa,CAAC,EAAE,MAAM,CAAC;IAMvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAU9B,+BAA+B,CAAC,EAAE,MAAM,EAAE,CAAC;IAM3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAgB;IAS3B,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAK9C,YAAY,EAAE,MAAM,EAAE,CAAC;IAUvB,eAAe,EAAE,MAAM,CAAC;IAMxB,WAAW,CAAC,EAAE,MAAM,CAAC;IASrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAQvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAMzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAO3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAM9B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAWnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"legal-term-preview.dto.d.ts","sourceRoot":"","sources":["../../src/legal-terms/legal-term-preview.dto.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,QAAA,MAAM,4BAA4B,iCAAkC,CAAC;AACrE,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,4FAA4F;AAC5F,qBAAa,0BAA0B;IAQrC,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAMlC,aAAa,CAAC,EAAE,MAAM,CAAC;IAMvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAU9B,+BAA+B,CAAC,EAAE,MAAM,EAAE,CAAC;IAM3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAgB;IAS3B,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAK9C,YAAY,EAAE,MAAM,EAAE,CAAC;IAUvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,WAAW,CAAC,EAAE,MAAM,CAAC;IASrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAQvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAMzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAO3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAM9B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAWnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -114,12 +114,12 @@ __decorate([
114
114
  __metadata("design:type", Array)
115
115
  ], LegalTermSendDto.prototype, "procedureIds", void 0);
116
116
  __decorate([
117
- (0, swagger_1.ApiProperty)({
118
- description: 'Mensagem WhatsApp. Com signatureMethod digital (padrão), deve conter exatamente {{ link_termo_juridico }}. Com printed, qualquer texto (sem esse placeholder).',
117
+ (0, swagger_1.ApiPropertyOptional)({
118
+ description: 'Mensagem WhatsApp. Obrigatória no modo digital (deve conter {{ link_termo_juridico }}). No modo impressão, omita ou deixe em branco para não enviar WhatsApp.',
119
119
  example: 'Olá, assine seu termo: {{ link_termo_juridico }}',
120
120
  }),
121
+ (0, class_validator_1.IsOptional)(),
121
122
  (0, class_validator_1.IsString)(),
122
- (0, class_validator_1.MinLength)(1),
123
123
  (0, class_validator_1.MaxLength)(4000),
124
124
  __metadata("design:type", String)
125
125
  ], LegalTermSendDto.prototype, "whatsappMessage", void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tychat-contracts",
3
- "version": "1.6.37",
3
+ "version": "1.6.42",
4
4
  "description": "DTOs compartilhados com class-validator (API e microserviços)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,7 +22,7 @@ export const BILLING_STATUSES = [
22
22
  ] as const;
23
23
  export type BillingStatusDto = (typeof BILLING_STATUSES)[number];
24
24
 
25
- export const BILLING_KINDS = ['SUBSCRIPTION', 'CAMPAIGN', 'OTHER'] as const;
25
+ export const BILLING_KINDS = ['SUBSCRIPTION', 'CAMPAIGN', 'OTHER', 'CREDIT_PURCHASE'] as const;
26
26
  export type BillingKindDto = (typeof BILLING_KINDS)[number];
27
27
 
28
28
  export class CreateBillingDto {
@@ -1,7 +1,6 @@
1
1
  export const CAMPAIGN_STATUSES = [
2
2
  'draft',
3
3
  'awaiting_template',
4
- 'awaiting_payment',
5
4
  'ready',
6
5
  'sending',
7
6
  'paused',
@@ -17,10 +17,10 @@ export interface CampaignDto {
17
17
  failedCount: number;
18
18
  repliedCount: number;
19
19
  delayBetweenSendsMs: number;
20
- estimatedCostCents: number;
21
- actualCostCents: number;
22
- billingId: string | null;
23
- paymentConfirmed: boolean;
20
+ estimatedCostCents?: number;
21
+ actualCostCents?: number;
22
+ billingId?: string | null;
23
+ paymentConfirmed?: boolean;
24
24
  scheduledAt: string | null;
25
25
  startedAt: string | null;
26
26
  completedAt: string | null;
@@ -107,6 +107,12 @@ export class PlanSummaryDto {
107
107
  @ApiProperty({ description: 'Preço por campanha extra além do limite', example: 10 })
108
108
  campaignExtraSlotPrice: number;
109
109
 
110
+ @ApiProperty({ description: 'Monthly Official WhatsApp credits included in plan (0 = none)', example: 0 })
111
+ monthlyOfficialWhatsappCredits: number;
112
+
113
+ @ApiProperty({ description: 'Price per extra Official WhatsApp credit purchased (BRL)', example: 0 })
114
+ officialWhatsappCreditExtraPrice: number;
115
+
110
116
  @ApiPropertyOptional()
111
117
  createdAt?: Date;
112
118
 
@@ -87,15 +87,15 @@ export class LegalTermSendDto {
87
87
  @IsUUID('4', { each: true })
88
88
  procedureIds: string[];
89
89
 
90
- @ApiProperty({
90
+ @ApiPropertyOptional({
91
91
  description:
92
- 'Mensagem WhatsApp. Com signatureMethod digital (padrão), deve conter exatamente {{ link_termo_juridico }}. Com printed, qualquer texto (sem esse placeholder).',
92
+ 'Mensagem WhatsApp. Obrigatória no modo digital (deve conter {{ link_termo_juridico }}). No modo impressão, omita ou deixe em branco para não enviar WhatsApp.',
93
93
  example: 'Olá, assine seu termo: {{ link_termo_juridico }}',
94
94
  })
95
+ @IsOptional()
95
96
  @IsString()
96
- @MinLength(1)
97
97
  @MaxLength(4000)
98
- whatsappMessage: string;
98
+ whatsappMessage?: string;
99
99
 
100
100
  @ApiPropertyOptional({ description: 'E-mail do signatário se o paciente não tiver e-mail cadastrado' })
101
101
  @IsOptional()