@antelopejs/interface-dms-saas 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +19 -0
  2. package/dist/billing.d.ts +2 -0
  3. package/dist/billing.js +2 -1
  4. package/dist/billing.js.map +1 -1
  5. package/dist/db/models/creditNotes.model.d.ts +1 -0
  6. package/dist/db/models/creditNotes.model.js +9 -0
  7. package/dist/db/models/creditNotes.model.js.map +1 -1
  8. package/dist/db/models/planMigrations.model.d.ts +5 -2
  9. package/dist/db/models/planMigrations.model.js +25 -8
  10. package/dist/db/models/planMigrations.model.js.map +1 -1
  11. package/dist/db/models/segments.model.d.ts +7 -2
  12. package/dist/db/models/segments.model.js +14 -3
  13. package/dist/db/models/segments.model.js.map +1 -1
  14. package/dist/db/models/tenantBillingState.model.d.ts +3 -2
  15. package/dist/db/models/tenantBillingState.model.js +47 -5
  16. package/dist/db/models/tenantBillingState.model.js.map +1 -1
  17. package/dist/db/models/tenantSubscriptions.model.d.ts +1 -0
  18. package/dist/db/models/tenantSubscriptions.model.js +6 -0
  19. package/dist/db/models/tenantSubscriptions.model.js.map +1 -1
  20. package/dist/db/models/userSegments.model.d.ts +2 -1
  21. package/dist/db/models/userSegments.model.js +2 -2
  22. package/dist/db/models/userSegments.model.js.map +1 -1
  23. package/dist/db/tables/billingSettings.table.d.ts +1 -0
  24. package/dist/db/tables/billingSettings.table.js +4 -0
  25. package/dist/db/tables/billingSettings.table.js.map +1 -1
  26. package/dist/db/tables/features.table.js +2 -0
  27. package/dist/db/tables/features.table.js.map +1 -1
  28. package/dist/db/tables/invoices.table.d.ts +6 -0
  29. package/dist/db/tables/invoices.table.js +24 -0
  30. package/dist/db/tables/invoices.table.js.map +1 -1
  31. package/dist/db/tables/legalDocuments.table.d.ts +8 -0
  32. package/dist/db/tables/legalDocuments.table.js +10 -1
  33. package/dist/db/tables/legalDocuments.table.js.map +1 -1
  34. package/dist/db/tables/planMigrations.table.d.ts +19 -1
  35. package/dist/db/tables/planMigrations.table.js +60 -1
  36. package/dist/db/tables/planMigrations.table.js.map +1 -1
  37. package/dist/db/tables/plans.table.d.ts +1 -0
  38. package/dist/db/tables/plans.table.js +2 -1
  39. package/dist/db/tables/plans.table.js.map +1 -1
  40. package/dist/db/tables/segments.table.d.ts +6 -0
  41. package/dist/db/tables/segments.table.js +8 -0
  42. package/dist/db/tables/segments.table.js.map +1 -1
  43. package/dist/db/tables/tenantBillingState.table.d.ts +48 -1
  44. package/dist/db/tables/tenantBillingState.table.js +100 -1
  45. package/dist/db/tables/tenantBillingState.table.js.map +1 -1
  46. package/dist/db/tables/tenantSubscriptions.table.d.ts +2 -0
  47. package/dist/db/tables/tenantSubscriptions.table.js +9 -0
  48. package/dist/db/tables/tenantSubscriptions.table.js.map +1 -1
  49. package/dist/page-definitions.d.ts +1 -8
  50. package/dist/page-definitions.js +1 -27
  51. package/dist/page-definitions.js.map +1 -1
  52. package/dist/pages.d.ts +1 -2
  53. package/dist/pages.js +13 -11
  54. package/dist/pages.js.map +1 -1
  55. package/dist/plans.d.ts +1 -1
  56. package/dist/plans.js +12 -2
  57. package/dist/plans.js.map +1 -1
  58. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"page-definitions.js","sourceRoot":"","sources":["../src/page-definitions.ts"],"names":[],"mappings":";;;AAqBa,QAAA,uBAAuB,GAAa;IAC/C,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,qBAAqB;IAChC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,sBAAsB,EAAE,SAAS;CAClC,CAAC;AAEW,QAAA,wBAAwB,GAAa;IAChD,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,sBAAsB,EAAE,SAAS;CAClC,CAAC;AAEW,QAAA,cAAc,GAAG,MAAM,CAAC;AAExB,QAAA,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,GAAG,+BAAuB,CAAC,MAAM,IAAI,sBAAc,EAAE;IAC7D,QAAQ,EAAE,GAAG,+BAAuB,CAAC,QAAQ,IAAI,sBAAc,EAAE;IACjE,YAAY,EAAE;QACZ,EAAE,EAAE,sBAAc;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,WAAW;KACzB;CACF,CAAC;AAEW,QAAA,sCAAsC,GACjD;IACE,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,GAAG,gCAAwB,CAAC,MAAM,YAAY;IACtD,QAAQ,EAAE,GAAG,gCAAwB,CAAC,QAAQ,YAAY;IAC1D,WAAW,EAAE,gCAAgC;IAC7C,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC;CACT,CAAC"}
1
+ {"version":3,"file":"page-definitions.js","sourceRoot":"","sources":["../src/page-definitions.ts"],"names":[],"mappings":";;;AAQa,QAAA,uBAAuB,GAAa;IAC/C,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,qBAAqB;IAChC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,sBAAsB,EAAE,SAAS;CAClC,CAAC;AAEW,QAAA,cAAc,GAAG,MAAM,CAAC;AAExB,QAAA,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,GAAG,+BAAuB,CAAC,MAAM,IAAI,sBAAc,EAAE;IAC7D,QAAQ,EAAE,GAAG,+BAAuB,CAAC,QAAQ,IAAI,sBAAc,EAAE;IACjE,YAAY,EAAE;QACZ,EAAE,EAAE,sBAAc;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,WAAW;KACzB;CACF,CAAC"}
package/dist/pages.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import type { Component, PlacementSide } from "@antelopejs/interface-dms/component";
2
2
  import { type CategoryInfo, type PageExtensionComponent } from "@antelopejs/interface-dms/page";
3
- export declare const workspaceSettingsCategory: CategoryInfo;
4
- export declare const GetWorkspaceSettingsCategory: () => Promise<CategoryInfo>;
5
3
  export declare const tenantBillingPage: {
6
4
  readonly id: "billing";
7
5
  readonly fullId: "settings.workspace.billing";
@@ -17,6 +15,7 @@ export declare const tenantBillingPage: {
17
15
  };
18
16
  };
19
17
  export type TenantBillingPageComponentKey = (typeof tenantBillingPage.components)[keyof typeof tenantBillingPage.components];
18
+ export declare const tenantBillingPageAnchorPaths: Readonly<Record<TenantBillingPageComponentKey, readonly string[]>>;
20
19
  export interface TenantBillingPageExtensionComponentBase {
21
20
  key: string;
22
21
  component: Component;
package/dist/pages.js CHANGED
@@ -1,19 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.platformWorkspaceDetailPage = exports.GetPlatformSaasModule = exports.platformSaasModule = exports.tenantBillingPage = exports.GetWorkspaceSettingsCategory = exports.workspaceSettingsCategory = void 0;
3
+ exports.platformWorkspaceDetailPage = exports.GetPlatformSaasModule = exports.platformSaasModule = exports.tenantBillingPageAnchorPaths = exports.tenantBillingPage = void 0;
4
4
  exports.RegisterTenantBillingPageExtension = RegisterTenantBillingPageExtension;
5
5
  exports.RegisterPlatformWorkspaceDetailPageExtension = RegisterPlatformWorkspaceDetailPageExtension;
6
6
  const interface_core_1 = require("@antelopejs/interface-core");
7
7
  const page_1 = require("@antelopejs/interface-dms/page");
8
8
  const page_definitions_1 = require("./page-definitions");
9
- exports.workspaceSettingsCategory = {
10
- ...page_definitions_1.WORKSPACE_SETTINGS_CATEGORY_DEFINITION,
11
- category: page_definitions_1.SETTINGS_ROOT_DEFINITION,
12
- urlTransparent: false,
13
- hidden: undefined,
14
- bypassTenantAccessGate: undefined,
15
- };
16
- exports.GetWorkspaceSettingsCategory = (0, interface_core_1.InterfaceFunction)();
17
9
  exports.tenantBillingPage = {
18
10
  id: "billing",
19
11
  fullId: "settings.workspace.billing",
@@ -28,6 +20,15 @@ exports.tenantBillingPage = {
28
20
  table: "table",
29
21
  },
30
22
  };
23
+ exports.tenantBillingPageAnchorPaths = {
24
+ freeAccessBanner: ["freeAccessBanner"],
25
+ pastDueAlert: ["pastDueAlert"],
26
+ planCard: ["overview", "plan", "current", "planCard"],
27
+ paymentMethod: ["overview", "payment", "method", "paymentMethod"],
28
+ refundButton: ["overview", "payment", "guarantee", "refundButton"],
29
+ billingForm: ["billingForm"],
30
+ table: ["invoices", "table"],
31
+ };
31
32
  exports.platformSaasModule = {
32
33
  id: page_definitions_1.SAAS_MODULE_DEFINITION.registration.id,
33
34
  fullId: page_definitions_1.SAAS_MODULE_DEFINITION.fullId,
@@ -59,8 +60,9 @@ function toPageExtensionComponent(input) {
59
60
  side: input.side ?? "end",
60
61
  order: input.order ?? 0,
61
62
  };
62
- if (input.anchorKey)
63
- component.anchorPath = [input.anchorKey];
63
+ if (input.anchorKey) {
64
+ component.anchorPath = exports.tenantBillingPageAnchorPaths[input.anchorKey];
65
+ }
64
66
  return component;
65
67
  }
66
68
  function RegisterTenantBillingPageExtension(extension) {
package/dist/pages.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"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"}
package/dist/plans.d.ts CHANGED
@@ -23,7 +23,7 @@ export interface TenantPlanCatalog {
23
23
  features: TenantPlanFeature[];
24
24
  }
25
25
  export declare function monthlyPrice(plan: Plan): number;
26
- export declare function isDowngrade(current: Plan | null, target: Plan): boolean;
26
+ export declare function isDowngrade(current: Plan | null, target: Plan, seats?: number): boolean;
27
27
  export declare const FEATURE_LOCALIZED_FIELDS: Array<keyof Feature>;
28
28
  export declare function localizeFeature(feature: Feature, locale: string): Feature;
29
29
  export declare function buildTenantPlanCatalog(planModel: PlanModel, featureModel: FeatureModel, plans: Plan[], locale: string): Promise<TenantPlanCatalog>;
package/dist/plans.js CHANGED
@@ -13,14 +13,24 @@ const MONTHS_PER_INTERVAL = {
13
13
  function monthlyPrice(plan) {
14
14
  return plan.price / MONTHS_PER_INTERVAL[plan.interval];
15
15
  }
16
- function isDowngrade(current, target) {
16
+ const SEAT_BILLING_MODE = "seat";
17
+ const MIN_BILLED_SEATS = 1;
18
+ function monthlyCost(plan, seats) {
19
+ const units = plan.billingMode === SEAT_BILLING_MODE
20
+ ? Math.max(MIN_BILLED_SEATS, seats)
21
+ : 1;
22
+ return monthlyPrice(plan) * units;
23
+ }
24
+ function isDowngrade(current, target, seats = MIN_BILLED_SEATS) {
17
25
  if (!current)
18
26
  return false;
19
- return monthlyPrice(target) < monthlyPrice(current);
27
+ return monthlyCost(target, seats) < monthlyCost(current, seats);
20
28
  }
21
29
  exports.FEATURE_LOCALIZED_FIELDS = [
22
30
  "displayName",
31
+ "description",
23
32
  "tooltip",
33
+ "unit",
24
34
  ];
25
35
  function localizeFeature(feature, locale) {
26
36
  return feature.localize(locale, exports.FEATURE_LOCALIZED_FIELDS);
package/dist/plans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../src/plans.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-dms-saas",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Public interfaces for the DMS SaaS module",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -57,8 +57,8 @@
57
57
  "prepack": "pnpm run build"
58
58
  },
59
59
  "dependencies": {
60
- "@antelopejs/interface-data-api": ">=0.1.9 <1.0.0",
61
- "@antelopejs/interface-dms": ">=0.3.1 <1.0.0"
60
+ "@antelopejs/interface-data-api": ">=0.2.0 <1.0.0",
61
+ "@antelopejs/interface-dms": ">=0.5.5 <1.0.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@antelopejs/interface-core": ">=0.1.1 <1.0.0",