@saasicat/nest 0.16.0 → 0.18.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.
package/README.md CHANGED
@@ -9,9 +9,9 @@ backend, audit, MFA, adapter ports.
9
9
  import { computeDiscountGross, buildLabel, round2 } from '@saasicat/nest/promo';
10
10
  ```
11
11
 
12
- | Entry | Contents |
13
- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
14
- | `@saasicat/nest/promo` | `computeDiscountGross`, `computeDiscountedGross`, `computeRegularStartsAt`, `addCycles`, `buildLabel`, `round2`, `grossFromNet`, `computeIncludedVat` — all pure functions |
12
+ | Entry | Contents |
13
+ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
14
+ | `@saasicat/nest/promo` | `computeDiscountGross`, `computeDiscountedGross`, `computeRegularStartsAt`, `addCycles`, `buildLabel`, `round2`, `grossFromNet`, `computeIncludedVat` — all pure functions |
15
15
 
16
16
  Further entries: `./billing`, `./entitlement`, `./admin`, `./registration`,
17
17
  `./discovery`, `./catalog`, `./checkout-offer`, `./subscription-contract`,
package/dist/_entries.cjs CHANGED
@@ -15040,7 +15040,7 @@ __name(verifyOtpCode, "verifyOtpCode");
15040
15040
  function slugify(name) {
15041
15041
  const transliterated = name.toLowerCase().replace(/ß/g, "ss").replace(/ä/g, "ae").replace(/ö/g, "oe").replace(/ü/g, "ue").normalize("NFKD").replace(/[̀-ͯ]/g, "");
15042
15042
  const slug = transliterated.replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
15043
- return slug || "verein";
15043
+ return slug || "tenant";
15044
15044
  }
15045
15045
  __name(slugify, "slugify");
15046
15046
 
@@ -172,7 +172,7 @@ interface PreflightFinding {
172
172
  kind: 'plan' | 'bundle';
173
173
  /** ID of the specific version the violation is attached to. */
174
174
  versionId: string;
175
- /** Human-readable key for the UI: `STARTER` or `BANKING` or `SPORT_VEREIN`. */
175
+ /** Human-readable key for the UI: `STARTER` or `BANKING` or `COMMUNICATION`. */
176
176
  entityKey: string;
177
177
  /** Version number. */
178
178
  version: number;
@@ -172,7 +172,7 @@ interface PreflightFinding {
172
172
  kind: 'plan' | 'bundle';
173
173
  /** ID of the specific version the violation is attached to. */
174
174
  versionId: string;
175
- /** Human-readable key for the UI: `STARTER` or `BANKING` or `SPORT_VEREIN`. */
175
+ /** Human-readable key for the UI: `STARTER` or `BANKING` or `COMMUNICATION`. */
176
176
  entityKey: string;
177
177
  /** Version number. */
178
178
  version: number;
@@ -30,7 +30,7 @@ __name(verifyOtpCode, "verifyOtpCode");
30
30
  function slugify(name) {
31
31
  const transliterated = name.toLowerCase().replace(/ß/g, "ss").replace(/ä/g, "ae").replace(/ö/g, "oe").replace(/ü/g, "ue").normalize("NFKD").replace(/[̀-ͯ]/g, "");
32
32
  const slug = transliterated.replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
33
- return slug || "verein";
33
+ return slug || "tenant";
34
34
  }
35
35
  __name(slugify, "slugify");
36
36
 
package/dist/index.js CHANGED
@@ -37,7 +37,7 @@ import {
37
37
  resolveModel,
38
38
  slugify,
39
39
  verifyOtpCode
40
- } from "./chunk-75JABGZK.js";
40
+ } from "./chunk-RZVSKKXX.js";
41
41
  import "./chunk-UF53DWWR.js";
42
42
  import {
43
43
  formatPreflightReport,
@@ -14,10 +14,10 @@ declare function hashOtpCode(code: string): string;
14
14
  */
15
15
  declare function verifyOtpCode(expectedHash: string, code: string): boolean;
16
16
  /**
17
- * Club/Tenant slug from a plaintext name.
17
+ * Tenant slug from a plaintext name.
18
18
  * Lowercase, ASCII, only a-z0-9 and hyphen.
19
19
  * Whitespace and special characters are collapsed to '-'.
20
- * The result is never empty (fallback `'verein'`).
20
+ * The result is never empty (fallback `'tenant'`).
21
21
  */
22
22
  declare function slugify(name: string): string;
23
23
 
@@ -14,10 +14,10 @@ declare function hashOtpCode(code: string): string;
14
14
  */
15
15
  declare function verifyOtpCode(expectedHash: string, code: string): boolean;
16
16
  /**
17
- * Club/Tenant slug from a plaintext name.
17
+ * Tenant slug from a plaintext name.
18
18
  * Lowercase, ASCII, only a-z0-9 and hyphen.
19
19
  * Whitespace and special characters are collapsed to '-'.
20
- * The result is never empty (fallback `'verein'`).
20
+ * The result is never empty (fallback `'tenant'`).
21
21
  */
22
22
  declare function slugify(name: string): string;
23
23
 
@@ -36,7 +36,7 @@ import {
36
36
  resolveModel,
37
37
  slugify,
38
38
  verifyOtpCode
39
- } from "../chunk-75JABGZK.js";
39
+ } from "../chunk-RZVSKKXX.js";
40
40
  import "../chunk-SABTXESR.js";
41
41
  import "../chunk-SHUYVCID.js";
42
42
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saasicat/nest",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "NestJS implementation of SaaSiCat: capability discovery, catalog packaging, contracts, entitlement enforcement, billing and admin APIs.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -137,8 +137,8 @@
137
137
  "js-yaml": "^4.3.1",
138
138
  "otplib": "^13.4.1",
139
139
  "qrcode": "^1.5.4",
140
- "@saasicat/spec": "^0.16.0",
141
- "@saasicat/types": "^0.16.0"
140
+ "@saasicat/spec": "^0.18.0",
141
+ "@saasicat/types": "^0.18.0"
142
142
  },
143
143
  "peerDependencies": {
144
144
  "@nestjs/common": "^11.0.0",