@opencxh/domain 1.54.0 → 1.56.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.
@@ -1,3 +1,22 @@
1
+ export interface OrganizationAddress {
2
+ street?: string;
3
+ houseNumber?: string;
4
+ postalCode?: string;
5
+ city?: string;
6
+ country?: string;
7
+ }
8
+ export interface OrganizationBilling {
9
+ companyName?: string;
10
+ /** BTW / VAT number */
11
+ vatNumber?: string;
12
+ /** Kamer van Koophandel (Chamber of Commerce) number */
13
+ kvkNumber?: string;
14
+ billingEmail?: string;
15
+ /** When true, billing uses the organization's primary address. */
16
+ sameAsAddress?: boolean;
17
+ /** Separate billing address (only used when sameAsAddress is false). */
18
+ billingAddress?: OrganizationAddress;
19
+ }
1
20
  export interface Organization {
2
21
  id: string;
3
22
  name: string;
@@ -8,4 +27,21 @@ export interface Organization {
8
27
  domain: string;
9
28
  defaultApp?: string;
10
29
  permissions?: string[];
30
+ /** Tenant slug, mirrored from system.tenants. */
31
+ slug?: string;
32
+ /** Parent tenant id (for child organizations under this account). */
33
+ parentId?: string;
34
+ description?: string;
35
+ address?: OrganizationAddress;
36
+ billing?: OrganizationBilling;
37
+ /** Small company logo stored inline as a base64 data-URI. */
38
+ logo?: string;
39
+ }
40
+ /**
41
+ * Recursive tenant hierarchy node returned by `system.tenants/tree`.
42
+ * The root node has an `undefined` id; every other node carries a tenant id.
43
+ */
44
+ export interface TenantNode {
45
+ id?: string;
46
+ children?: Record<string, TenantNode>;
11
47
  }
@@ -15,6 +15,10 @@ export interface ModalConfig {
15
15
  * `displayName` and `group` are i18n keys (resolved via the app's localization
16
16
  * namespace at render time). If the key is unknown, the raw string is shown.
17
17
  */
18
+ /**
19
+ * Which settings-panel tab a page appears under. A page may belong to both.
20
+ */
21
+ export type SettingsScope = "personal" | "company";
18
22
  export interface SettingsPageConfig {
19
23
  id: string;
20
24
  displayName: string;
@@ -23,6 +27,10 @@ export interface SettingsPageConfig {
23
27
  resource: string;
24
28
  order?: number;
25
29
  permissions?: string[];
30
+ /**
31
+ * Tabs the page shows under. Omitted/empty = visible in both tabs.
32
+ */
33
+ scopes?: SettingsScope[];
26
34
  }
27
35
  export interface ToastConfig {
28
36
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/domain",
3
- "version": "1.54.0",
3
+ "version": "1.56.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",