@contractspec/example.saas-boilerplate 1.44.1 → 1.45.1
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/.turbo/turbo-build$colon$bundle.log +24 -24
- package/.turbo/turbo-build.log +24 -24
- package/CHANGELOG.md +45 -0
- package/dist/billing/billing.event.js +3 -3
- package/dist/billing/billing.event.js.map +1 -1
- package/dist/billing/billing.operations.d.ts +42 -42
- package/dist/billing/billing.operations.js +5 -5
- package/dist/billing/billing.operations.js.map +1 -1
- package/dist/billing/billing.presentation.js +2 -2
- package/dist/billing/billing.presentation.js.map +1 -1
- package/dist/billing/billing.schema.d.ts +47 -47
- package/dist/billing/billing.schema.d.ts.map +1 -1
- package/dist/dashboard/dashboard.presentation.js +2 -2
- package/dist/dashboard/dashboard.presentation.js.map +1 -1
- package/dist/example.d.ts +3 -33
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +16 -11
- package/dist/example.js.map +1 -1
- package/dist/project/project.entity.d.ts +24 -24
- package/dist/project/project.enum.d.ts +3 -3
- package/dist/project/project.event.d.ts +21 -21
- package/dist/project/project.event.js +4 -4
- package/dist/project/project.event.js.map +1 -1
- package/dist/project/project.operations.d.ts +105 -105
- package/dist/project/project.operations.d.ts.map +1 -1
- package/dist/project/project.operations.js +8 -8
- package/dist/project/project.operations.js.map +1 -1
- package/dist/project/project.presentation.js +2 -2
- package/dist/project/project.presentation.js.map +1 -1
- package/dist/project/project.schema.d.ts +54 -54
- package/dist/saas-boilerplate.feature.js +38 -38
- package/dist/saas-boilerplate.feature.js.map +1 -1
- package/dist/settings/settings.entity.d.ts +24 -24
- package/dist/settings/settings.enum.d.ts +2 -2
- package/package.json +10 -10
- package/src/billing/billing.event.ts +3 -3
- package/src/billing/billing.operations.ts +5 -5
- package/src/billing/billing.presentation.ts +2 -2
- package/src/dashboard/dashboard.presentation.ts +2 -2
- package/src/example.ts +16 -9
- package/src/project/project.event.ts +4 -4
- package/src/project/project.operations.ts +8 -8
- package/src/project/project.presentation.ts +2 -2
- package/src/saas-boilerplate.feature.ts +42 -38
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -7,7 +7,7 @@ import { StabilityEnum } from "@contractspec/lib.contracts";
|
|
|
7
7
|
const SubscriptionPresentation = {
|
|
8
8
|
meta: {
|
|
9
9
|
key: "saas.billing.subscription",
|
|
10
|
-
version: 1,
|
|
10
|
+
version: "1.0.0",
|
|
11
11
|
title: "Subscription Status",
|
|
12
12
|
description: "Subscription status with plan info, limits, and current usage",
|
|
13
13
|
domain: "saas-boilerplate",
|
|
@@ -31,7 +31,7 @@ const SubscriptionPresentation = {
|
|
|
31
31
|
const UsageDashboardPresentation = {
|
|
32
32
|
meta: {
|
|
33
33
|
key: "saas.billing.usage",
|
|
34
|
-
version: 1,
|
|
34
|
+
version: "1.0.0",
|
|
35
35
|
title: "Usage Dashboard",
|
|
36
36
|
description: "Usage metrics and breakdown by resource type",
|
|
37
37
|
domain: "saas-boilerplate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.presentation.js","names":["SubscriptionPresentation: PresentationSpec","UsageDashboardPresentation: PresentationSpec"],"sources":["../../src/billing/billing.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\n/**\n * Presentation for subscription overview.\n */\nexport const SubscriptionPresentation: PresentationSpec = {\n meta: {\n key: 'saas.billing.subscription',\n version: 1,\n title: 'Subscription Status',\n description:\n 'Subscription status with plan info, limits, and current usage',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['billing', 'subscription'],\n stability: StabilityEnum.Beta,\n goal: 'View subscription plan and status',\n context: 'Billing section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SubscriptionView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.billing.enabled'],\n },\n};\n\n/**\n * Presentation for usage dashboard.\n */\nexport const UsageDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'saas.billing.usage',\n version: 1,\n title: 'Usage Dashboard',\n description: 'Usage metrics and breakdown by resource type',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['billing', 'usage', 'metrics'],\n stability: StabilityEnum.Beta,\n goal: 'Monitor feature usage and limits',\n context: 'Billing section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'UsageDashboardView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.billing.enabled'],\n },\n};\n"],"mappings":";;;;;;AAMA,MAAaA,2BAA6C;CACxD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,WAAW,eAAe;EACjC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF;;;;AAKD,MAAaC,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM;GAAC;GAAW;GAAS;GAAU;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF"}
|
|
1
|
+
{"version":3,"file":"billing.presentation.js","names":["SubscriptionPresentation: PresentationSpec","UsageDashboardPresentation: PresentationSpec"],"sources":["../../src/billing/billing.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\n/**\n * Presentation for subscription overview.\n */\nexport const SubscriptionPresentation: PresentationSpec = {\n meta: {\n key: 'saas.billing.subscription',\n version: '1.0.0',\n title: 'Subscription Status',\n description:\n 'Subscription status with plan info, limits, and current usage',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['billing', 'subscription'],\n stability: StabilityEnum.Beta,\n goal: 'View subscription plan and status',\n context: 'Billing section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SubscriptionView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.billing.enabled'],\n },\n};\n\n/**\n * Presentation for usage dashboard.\n */\nexport const UsageDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'saas.billing.usage',\n version: '1.0.0',\n title: 'Usage Dashboard',\n description: 'Usage metrics and breakdown by resource type',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['billing', 'usage', 'metrics'],\n stability: StabilityEnum.Beta,\n goal: 'Monitor feature usage and limits',\n context: 'Billing section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'UsageDashboardView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.billing.enabled'],\n },\n};\n"],"mappings":";;;;;;AAMA,MAAaA,2BAA6C;CACxD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,WAAW,eAAe;EACjC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF;;;;AAKD,MAAaC,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM;GAAC;GAAW;GAAS;GAAU;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF"}
|
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema60 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/billing/billing.schema.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Organization subscription details schema.
|
|
6
6
|
*/
|
|
7
|
-
declare const SubscriptionModel:
|
|
7
|
+
declare const SubscriptionModel: _contractspec_lib_schema60.SchemaModel<{
|
|
8
8
|
id: {
|
|
9
|
-
type:
|
|
9
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
organizationId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
planId: {
|
|
17
|
-
type:
|
|
17
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
18
18
|
isOptional: false;
|
|
19
19
|
};
|
|
20
20
|
planName: {
|
|
21
|
-
type:
|
|
21
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
status: {
|
|
25
|
-
type:
|
|
25
|
+
type: _contractspec_lib_schema60.EnumType<[string, string, string, string, string]>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
currentPeriodStart: {
|
|
29
|
-
type:
|
|
29
|
+
type: _contractspec_lib_schema60.FieldType<Date, string>;
|
|
30
30
|
isOptional: false;
|
|
31
31
|
};
|
|
32
32
|
currentPeriodEnd: {
|
|
33
|
-
type:
|
|
33
|
+
type: _contractspec_lib_schema60.FieldType<Date, string>;
|
|
34
34
|
isOptional: false;
|
|
35
35
|
};
|
|
36
36
|
trialEndsAt: {
|
|
37
|
-
type:
|
|
37
|
+
type: _contractspec_lib_schema60.FieldType<Date, string>;
|
|
38
38
|
isOptional: true;
|
|
39
39
|
};
|
|
40
40
|
cancelAtPeriodEnd: {
|
|
41
|
-
type:
|
|
41
|
+
type: _contractspec_lib_schema60.FieldType<boolean, boolean>;
|
|
42
42
|
isOptional: false;
|
|
43
43
|
};
|
|
44
44
|
}>;
|
|
45
45
|
/**
|
|
46
46
|
* Usage summary for a feature schema.
|
|
47
47
|
*/
|
|
48
|
-
declare const UsageSummaryModel:
|
|
48
|
+
declare const UsageSummaryModel: _contractspec_lib_schema60.SchemaModel<{
|
|
49
49
|
feature: {
|
|
50
|
-
type:
|
|
50
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
51
51
|
isOptional: false;
|
|
52
52
|
};
|
|
53
53
|
used: {
|
|
54
|
-
type:
|
|
54
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
55
55
|
isOptional: false;
|
|
56
56
|
};
|
|
57
57
|
limit: {
|
|
58
|
-
type:
|
|
58
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
59
59
|
isOptional: true;
|
|
60
60
|
};
|
|
61
61
|
unit: {
|
|
62
|
-
type:
|
|
62
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
63
63
|
isOptional: true;
|
|
64
64
|
};
|
|
65
65
|
percentage: {
|
|
66
|
-
type:
|
|
66
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
67
67
|
isOptional: true;
|
|
68
68
|
};
|
|
69
69
|
}>;
|
|
70
70
|
/**
|
|
71
71
|
* Input for recording feature usage.
|
|
72
72
|
*/
|
|
73
|
-
declare const RecordUsageInputModel:
|
|
73
|
+
declare const RecordUsageInputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
74
74
|
feature: {
|
|
75
|
-
type:
|
|
75
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
76
76
|
isOptional: false;
|
|
77
77
|
};
|
|
78
78
|
quantity: {
|
|
79
|
-
type:
|
|
79
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
80
80
|
isOptional: false;
|
|
81
81
|
};
|
|
82
82
|
sourceId: {
|
|
83
|
-
type:
|
|
83
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
84
84
|
isOptional: true;
|
|
85
85
|
};
|
|
86
86
|
sourceType: {
|
|
87
|
-
type:
|
|
87
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
88
88
|
isOptional: true;
|
|
89
89
|
};
|
|
90
90
|
metadata: {
|
|
91
|
-
type:
|
|
91
|
+
type: _contractspec_lib_schema60.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
92
92
|
isOptional: true;
|
|
93
93
|
};
|
|
94
94
|
}>;
|
|
95
95
|
/**
|
|
96
96
|
* Output for recording feature usage.
|
|
97
97
|
*/
|
|
98
|
-
declare const RecordUsageOutputModel:
|
|
98
|
+
declare const RecordUsageOutputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
99
99
|
recorded: {
|
|
100
|
-
type:
|
|
100
|
+
type: _contractspec_lib_schema60.FieldType<boolean, boolean>;
|
|
101
101
|
isOptional: false;
|
|
102
102
|
};
|
|
103
103
|
currentUsage: {
|
|
104
|
-
type:
|
|
104
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
105
105
|
isOptional: false;
|
|
106
106
|
};
|
|
107
107
|
limit: {
|
|
108
|
-
type:
|
|
108
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
109
109
|
isOptional: true;
|
|
110
110
|
};
|
|
111
111
|
limitReached: {
|
|
112
|
-
type:
|
|
112
|
+
type: _contractspec_lib_schema60.FieldType<boolean, boolean>;
|
|
113
113
|
isOptional: false;
|
|
114
114
|
};
|
|
115
115
|
}>;
|
|
116
116
|
/**
|
|
117
117
|
* Payload for usage.recorded event.
|
|
118
118
|
*/
|
|
119
|
-
declare const UsageRecordedPayloadModel:
|
|
119
|
+
declare const UsageRecordedPayloadModel: _contractspec_lib_schema60.SchemaModel<{
|
|
120
120
|
feature: {
|
|
121
|
-
type:
|
|
121
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
122
122
|
isOptional: false;
|
|
123
123
|
};
|
|
124
124
|
quantity: {
|
|
125
|
-
type:
|
|
125
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
126
126
|
isOptional: false;
|
|
127
127
|
};
|
|
128
128
|
}>;
|
|
129
129
|
/**
|
|
130
130
|
* Input for getting usage summary.
|
|
131
131
|
*/
|
|
132
|
-
declare const GetUsageSummaryInputModel:
|
|
132
|
+
declare const GetUsageSummaryInputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
133
133
|
billingPeriod: {
|
|
134
|
-
type:
|
|
134
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
135
135
|
isOptional: true;
|
|
136
136
|
};
|
|
137
137
|
}>;
|
|
138
138
|
/**
|
|
139
139
|
* Output for usage summary.
|
|
140
140
|
*/
|
|
141
|
-
declare const GetUsageSummaryOutputModel:
|
|
141
|
+
declare const GetUsageSummaryOutputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
142
142
|
billingPeriod: {
|
|
143
|
-
type:
|
|
143
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
144
144
|
isOptional: false;
|
|
145
145
|
};
|
|
146
146
|
usage: {
|
|
147
|
-
type:
|
|
147
|
+
type: _contractspec_lib_schema60.SchemaModel<{
|
|
148
148
|
feature: {
|
|
149
|
-
type:
|
|
149
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
150
150
|
isOptional: false;
|
|
151
151
|
};
|
|
152
152
|
used: {
|
|
153
|
-
type:
|
|
153
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
154
154
|
isOptional: false;
|
|
155
155
|
};
|
|
156
156
|
limit: {
|
|
157
|
-
type:
|
|
157
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
158
158
|
isOptional: true;
|
|
159
159
|
};
|
|
160
160
|
unit: {
|
|
161
|
-
type:
|
|
161
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
162
162
|
isOptional: true;
|
|
163
163
|
};
|
|
164
164
|
percentage: {
|
|
165
|
-
type:
|
|
165
|
+
type: _contractspec_lib_schema60.FieldType<number, number>;
|
|
166
166
|
isOptional: true;
|
|
167
167
|
};
|
|
168
168
|
}>;
|
|
@@ -173,26 +173,26 @@ declare const GetUsageSummaryOutputModel: _contractspec_lib_schema206.SchemaMode
|
|
|
173
173
|
/**
|
|
174
174
|
* Input for checking feature access.
|
|
175
175
|
*/
|
|
176
|
-
declare const CheckFeatureAccessInputModel:
|
|
176
|
+
declare const CheckFeatureAccessInputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
177
177
|
feature: {
|
|
178
|
-
type:
|
|
178
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
179
179
|
isOptional: false;
|
|
180
180
|
};
|
|
181
181
|
}>;
|
|
182
182
|
/**
|
|
183
183
|
* Output for feature access check.
|
|
184
184
|
*/
|
|
185
|
-
declare const CheckFeatureAccessOutputModel:
|
|
185
|
+
declare const CheckFeatureAccessOutputModel: _contractspec_lib_schema60.SchemaModel<{
|
|
186
186
|
hasAccess: {
|
|
187
|
-
type:
|
|
187
|
+
type: _contractspec_lib_schema60.FieldType<boolean, boolean>;
|
|
188
188
|
isOptional: false;
|
|
189
189
|
};
|
|
190
190
|
reason: {
|
|
191
|
-
type:
|
|
191
|
+
type: _contractspec_lib_schema60.EnumType<[string, string, string, string]>;
|
|
192
192
|
isOptional: true;
|
|
193
193
|
};
|
|
194
194
|
upgradeUrl: {
|
|
195
|
-
type:
|
|
195
|
+
type: _contractspec_lib_schema60.FieldType<string, string>;
|
|
196
196
|
isOptional: true;
|
|
197
197
|
};
|
|
198
198
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.schema.d.ts","names":[],"sources":["../../src/billing/billing.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AASa,cAAA,iBAiBX,
|
|
1
|
+
{"version":3,"file":"billing.schema.d.ts","names":[],"sources":["../../src/billing/billing.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AASa,cAAA,iBAiBX,6BAjB4B,WAiB5B,CAAA;EAAA,EAAA,EAAA;UAAA,0BAAA,CAAA;;;;;;;;;;;;IAjB4B,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAsBjB,UAAA,EAAA,KAUX;EAAA,CAAA;;;;;;IAV4B,IAAA,sCAAA,KAAA,EAAA,MAAA,CAAA;IAejB,UAAA,EAAA,KAAA;EAUX,CAAA;;;;;;;;EAVgC,CAAA;EAerB,iBAAA,EAAA;IASX,IAAA,sCAAA,CAAA,OAAA,EAAA,OAAA,CAAA;;;;;;AAKF;AAOE,cAnDW,iBAmDX,6BAnD4B,WAmD5B,CAAA;;UAzCA,0BAAA,CAAA,SAkCoC,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAYzB,CAAA;EAWA,IAAA,EAAA;IAUX,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;IAVqC,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAe1B,UAAA,EAAA,IAAA;EAWA,CAAA;EAQX,UAAA,EAAA;;;;CARwC,CAAA;;;;cA9E7B,kDAAqB;;UAUhC,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cAKW,mDAAsB;;UASjC,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;cAKW,sDAAyB;;UAOpC,0BAAA,CAAA;;;;;;;;;;;cAKW,2BAMX,0BAAA,CANoC;;UAMpC,0BAAA,CAAA;;;;;;;cAKW,uDAA0B;;UAUrC,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,8BAMX,0BAAA,CANuC;;UAMvC,0BAAA,CAAA;;;;;;;cAKW,0DAA6B;;UAQxC,0BAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { StabilityEnum } from "@contractspec/lib.contracts";
|
|
|
7
7
|
const SaasDashboardPresentation = {
|
|
8
8
|
meta: {
|
|
9
9
|
key: "saas.dashboard",
|
|
10
|
-
version: 1,
|
|
10
|
+
version: "1.0.0",
|
|
11
11
|
title: "SaaS Dashboard",
|
|
12
12
|
description: "Main SaaS dashboard with project overview, usage stats, and quick actions",
|
|
13
13
|
domain: "saas-boilerplate",
|
|
@@ -31,7 +31,7 @@ const SaasDashboardPresentation = {
|
|
|
31
31
|
const SettingsPanelPresentation = {
|
|
32
32
|
meta: {
|
|
33
33
|
key: "saas.settings",
|
|
34
|
-
version: 1,
|
|
34
|
+
version: "1.0.0",
|
|
35
35
|
title: "Settings Panel",
|
|
36
36
|
description: "Organization and user settings panel",
|
|
37
37
|
domain: "saas-boilerplate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.presentation.js","names":["SaasDashboardPresentation: PresentationSpec","SettingsPanelPresentation: PresentationSpec"],"sources":["../../src/dashboard/dashboard.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\n/**\n * Main dashboard presentation for the SaaS application.\n */\nexport const SaasDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'saas.dashboard',\n version: 1,\n title: 'SaaS Dashboard',\n description:\n 'Main SaaS dashboard with project overview, usage stats, and quick actions',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['dashboard', 'overview'],\n stability: StabilityEnum.Beta,\n goal: 'Overview of SaaS activity and metrics',\n context: 'Main dashboard',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SaasDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.enabled'],\n },\n};\n\n/**\n * Settings panel presentation.\n */\nexport const SettingsPanelPresentation: PresentationSpec = {\n meta: {\n key: 'saas.settings',\n version: 1,\n title: 'Settings Panel',\n description: 'Organization and user settings panel',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['settings', 'config'],\n stability: StabilityEnum.Beta,\n goal: 'Configure organization and user settings',\n context: 'Settings section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SettingsPanel',\n },\n targets: ['react'],\n policy: {\n flags: ['saas.enabled'],\n },\n};\n"],"mappings":";;;;;;AAMA,MAAaA,4BAA8C;CACzD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,aAAa,WAAW;EAC/B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,eAAe,EACxB;CACF;;;;AAKD,MAAaC,4BAA8C;CACzD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,YAAY,SAAS;EAC5B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,eAAe,EACxB;CACF"}
|
|
1
|
+
{"version":3,"file":"dashboard.presentation.js","names":["SaasDashboardPresentation: PresentationSpec","SettingsPanelPresentation: PresentationSpec"],"sources":["../../src/dashboard/dashboard.presentation.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\n/**\n * Main dashboard presentation for the SaaS application.\n */\nexport const SaasDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'saas.dashboard',\n version: '1.0.0',\n title: 'SaaS Dashboard',\n description:\n 'Main SaaS dashboard with project overview, usage stats, and quick actions',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['dashboard', 'overview'],\n stability: StabilityEnum.Beta,\n goal: 'Overview of SaaS activity and metrics',\n context: 'Main dashboard',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SaasDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['saas.enabled'],\n },\n};\n\n/**\n * Settings panel presentation.\n */\nexport const SettingsPanelPresentation: PresentationSpec = {\n meta: {\n key: 'saas.settings',\n version: '1.0.0',\n title: 'Settings Panel',\n description: 'Organization and user settings panel',\n domain: 'saas-boilerplate',\n owners: ['@saas-team'],\n tags: ['settings', 'config'],\n stability: StabilityEnum.Beta,\n goal: 'Configure organization and user settings',\n context: 'Settings section',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SettingsPanel',\n },\n targets: ['react'],\n policy: {\n flags: ['saas.enabled'],\n },\n};\n"],"mappings":";;;;;;AAMA,MAAaA,4BAA8C;CACzD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,aAAa,WAAW;EAC/B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,eAAe,EACxB;CACF;;;;AAKD,MAAaC,4BAA8C;CACzD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,aAAa;EACtB,MAAM,CAAC,YAAY,SAAS;EAC5B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,eAAe,EACxB;CACF"}
|
package/dist/example.d.ts
CHANGED
|
@@ -1,37 +1,7 @@
|
|
|
1
|
+
import { ExampleSpec } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/example.d.ts
|
|
2
|
-
declare const example:
|
|
3
|
-
readonly id: "saas-boilerplate";
|
|
4
|
-
readonly title: "SaaS Boilerplate";
|
|
5
|
-
readonly summary: "Multi-tenant SaaS foundation with orgs, projects, settings, billing usage, and RBAC.";
|
|
6
|
-
readonly tags: readonly ["saas", "multi-tenant", "billing", "rbac"];
|
|
7
|
-
readonly kind: "template";
|
|
8
|
-
readonly visibility: "public";
|
|
9
|
-
readonly docs: {
|
|
10
|
-
readonly rootDocId: "docs.examples.saas-boilerplate";
|
|
11
|
-
};
|
|
12
|
-
readonly entrypoints: {
|
|
13
|
-
readonly packageName: "@contractspec/example.saas-boilerplate";
|
|
14
|
-
readonly feature: "./feature";
|
|
15
|
-
readonly contracts: "./contracts";
|
|
16
|
-
readonly presentations: "./presentations";
|
|
17
|
-
readonly handlers: "./handlers";
|
|
18
|
-
readonly docs: "./docs";
|
|
19
|
-
};
|
|
20
|
-
readonly surfaces: {
|
|
21
|
-
readonly templates: true;
|
|
22
|
-
readonly sandbox: {
|
|
23
|
-
readonly enabled: true;
|
|
24
|
-
readonly modes: readonly ["playground", "specs", "builder", "markdown", "evolution"];
|
|
25
|
-
};
|
|
26
|
-
readonly studio: {
|
|
27
|
-
readonly enabled: true;
|
|
28
|
-
readonly installable: true;
|
|
29
|
-
};
|
|
30
|
-
readonly mcp: {
|
|
31
|
-
readonly enabled: true;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
};
|
|
4
|
+
declare const example: ExampleSpec;
|
|
35
5
|
//#endregion
|
|
36
6
|
export { example as default };
|
|
37
7
|
//# sourceMappingURL=example.d.ts.map
|
package/dist/example.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SAAS"}
|
package/dist/example.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
//#region src/example.ts
|
|
2
2
|
const example = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
meta: {
|
|
4
|
+
key: "saas-boilerplate",
|
|
5
|
+
version: "1.0.0",
|
|
6
|
+
title: "SaaS Boilerplate",
|
|
7
|
+
description: "Multi-tenant SaaS foundation with orgs, projects, settings, billing usage, and RBAC.",
|
|
8
|
+
kind: "template",
|
|
9
|
+
visibility: "public",
|
|
10
|
+
stability: "experimental",
|
|
11
|
+
owners: ["@platform.core"],
|
|
12
|
+
tags: [
|
|
13
|
+
"saas",
|
|
14
|
+
"multi-tenant",
|
|
15
|
+
"billing",
|
|
16
|
+
"rbac"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
14
19
|
docs: { rootDocId: "docs.examples.saas-boilerplate" },
|
|
15
20
|
entrypoints: {
|
|
16
21
|
packageName: "@contractspec/example.saas-boilerplate",
|
package/dist/example.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"example.js","names":["example: ExampleSpec"],"sources":["../src/example.ts"],"sourcesContent":["import type { ExampleSpec } from '@contractspec/lib.contracts';\n\nconst example: ExampleSpec = {\n meta: {\n key: 'saas-boilerplate',\n version: '1.0.0',\n title: 'SaaS Boilerplate',\n description:\n 'Multi-tenant SaaS foundation with orgs, projects, settings, billing usage, and RBAC.',\n kind: 'template',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['saas', 'multi-tenant', 'billing', 'rbac'],\n },\n docs: {\n rootDocId: 'docs.examples.saas-boilerplate',\n },\n entrypoints: {\n packageName: '@contractspec/example.saas-boilerplate',\n feature: './feature',\n contracts: './contracts',\n presentations: './presentations',\n handlers: './handlers',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: {\n enabled: true,\n modes: ['playground', 'specs', 'builder', 'markdown', 'evolution'],\n },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n};\n\nexport default example;\n"],"mappings":";AAEA,MAAMA,UAAuB;CAC3B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAQ;GAAgB;GAAW;GAAO;EAClD;CACD,MAAM,EACJ,WAAW,kCACZ;CACD,aAAa;EACX,aAAa;EACb,SAAS;EACT,WAAW;EACX,eAAe;EACf,UAAU;EACV,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GACP,SAAS;GACT,OAAO;IAAC;IAAc;IAAS;IAAW;IAAY;IAAY;GACnE;EACD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema106 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/project/project.entity.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Project status enum for entities.
|
|
6
6
|
*/
|
|
7
|
-
declare const ProjectStatusEnum:
|
|
7
|
+
declare const ProjectStatusEnum: _contractspec_lib_schema106.EntityEnumDef;
|
|
8
8
|
/**
|
|
9
9
|
* Project entity - team-scoped work container.
|
|
10
10
|
*/
|
|
11
|
-
declare const ProjectEntity:
|
|
12
|
-
id:
|
|
13
|
-
name:
|
|
14
|
-
description:
|
|
15
|
-
slug:
|
|
16
|
-
organizationId:
|
|
17
|
-
createdBy:
|
|
18
|
-
status:
|
|
19
|
-
isPublic:
|
|
20
|
-
settings:
|
|
21
|
-
tags:
|
|
22
|
-
metadata:
|
|
23
|
-
createdAt:
|
|
24
|
-
updatedAt:
|
|
25
|
-
archivedAt:
|
|
11
|
+
declare const ProjectEntity: _contractspec_lib_schema106.EntitySpec<{
|
|
12
|
+
id: _contractspec_lib_schema106.EntityScalarField;
|
|
13
|
+
name: _contractspec_lib_schema106.EntityScalarField;
|
|
14
|
+
description: _contractspec_lib_schema106.EntityScalarField;
|
|
15
|
+
slug: _contractspec_lib_schema106.EntityScalarField;
|
|
16
|
+
organizationId: _contractspec_lib_schema106.EntityScalarField;
|
|
17
|
+
createdBy: _contractspec_lib_schema106.EntityScalarField;
|
|
18
|
+
status: _contractspec_lib_schema106.EntityEnumField;
|
|
19
|
+
isPublic: _contractspec_lib_schema106.EntityScalarField;
|
|
20
|
+
settings: _contractspec_lib_schema106.EntityScalarField;
|
|
21
|
+
tags: _contractspec_lib_schema106.EntityScalarField;
|
|
22
|
+
metadata: _contractspec_lib_schema106.EntityScalarField;
|
|
23
|
+
createdAt: _contractspec_lib_schema106.EntityScalarField;
|
|
24
|
+
updatedAt: _contractspec_lib_schema106.EntityScalarField;
|
|
25
|
+
archivedAt: _contractspec_lib_schema106.EntityScalarField;
|
|
26
26
|
}>;
|
|
27
27
|
/**
|
|
28
28
|
* ProjectMember entity - project-level access.
|
|
29
29
|
*/
|
|
30
|
-
declare const ProjectMemberEntity:
|
|
31
|
-
id:
|
|
32
|
-
projectId:
|
|
33
|
-
userId:
|
|
34
|
-
role:
|
|
35
|
-
addedBy:
|
|
36
|
-
createdAt:
|
|
30
|
+
declare const ProjectMemberEntity: _contractspec_lib_schema106.EntitySpec<{
|
|
31
|
+
id: _contractspec_lib_schema106.EntityScalarField;
|
|
32
|
+
projectId: _contractspec_lib_schema106.EntityScalarField;
|
|
33
|
+
userId: _contractspec_lib_schema106.EntityScalarField;
|
|
34
|
+
role: _contractspec_lib_schema106.EntityScalarField;
|
|
35
|
+
addedBy: _contractspec_lib_schema106.EntityScalarField;
|
|
36
|
+
createdAt: _contractspec_lib_schema106.EntityScalarField;
|
|
37
37
|
}>;
|
|
38
38
|
//#endregion
|
|
39
39
|
export { ProjectEntity, ProjectMemberEntity, ProjectStatusEnum };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema182 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/project/project.enum.d.ts
|
|
4
4
|
|
|
@@ -6,11 +6,11 @@ import * as _contractspec_lib_schema184 from "@contractspec/lib.schema";
|
|
|
6
6
|
* Project status enum for contract schemas.
|
|
7
7
|
* Note: Entity enum is defined separately in project.entity.ts
|
|
8
8
|
*/
|
|
9
|
-
declare const ProjectStatusSchemaEnum:
|
|
9
|
+
declare const ProjectStatusSchemaEnum: _contractspec_lib_schema182.EnumType<[string, string, string, string]>;
|
|
10
10
|
/**
|
|
11
11
|
* Project status filter enum (includes 'all' option).
|
|
12
12
|
*/
|
|
13
|
-
declare const ProjectStatusFilterEnum:
|
|
13
|
+
declare const ProjectStatusFilterEnum: _contractspec_lib_schema182.EnumType<[string, string, string, string]>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { ProjectStatusFilterEnum, ProjectStatusSchemaEnum };
|
|
16
16
|
//# sourceMappingURL=project.enum.d.ts.map
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema285 from "@contractspec/lib.schema";
|
|
2
2
|
import * as _contractspec_lib_contracts7 from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/project/project.event.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Event: A new project has been created.
|
|
7
7
|
*/
|
|
8
|
-
declare const ProjectCreatedEvent: _contractspec_lib_contracts7.EventSpec<
|
|
8
|
+
declare const ProjectCreatedEvent: _contractspec_lib_contracts7.EventSpec<_contractspec_lib_schema285.SchemaModel<{
|
|
9
9
|
projectId: {
|
|
10
|
-
type:
|
|
10
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
12
12
|
};
|
|
13
13
|
name: {
|
|
14
|
-
type:
|
|
14
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
15
15
|
isOptional: false;
|
|
16
16
|
};
|
|
17
17
|
organizationId: {
|
|
18
|
-
type:
|
|
18
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
19
19
|
isOptional: false;
|
|
20
20
|
};
|
|
21
21
|
createdBy: {
|
|
22
|
-
type:
|
|
22
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
23
23
|
isOptional: false;
|
|
24
24
|
};
|
|
25
25
|
createdAt: {
|
|
26
|
-
type:
|
|
26
|
+
type: _contractspec_lib_schema285.FieldType<Date, string>;
|
|
27
27
|
isOptional: false;
|
|
28
28
|
};
|
|
29
29
|
}>>;
|
|
30
30
|
/**
|
|
31
31
|
* Event: A project has been updated.
|
|
32
32
|
*/
|
|
33
|
-
declare const ProjectUpdatedEvent: _contractspec_lib_contracts7.EventSpec<
|
|
33
|
+
declare const ProjectUpdatedEvent: _contractspec_lib_contracts7.EventSpec<_contractspec_lib_schema285.SchemaModel<{
|
|
34
34
|
projectId: {
|
|
35
|
-
type:
|
|
35
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
36
36
|
isOptional: false;
|
|
37
37
|
};
|
|
38
38
|
updatedFields: {
|
|
39
|
-
type:
|
|
39
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
40
40
|
isArray: true;
|
|
41
41
|
isOptional: false;
|
|
42
42
|
};
|
|
43
43
|
updatedBy: {
|
|
44
|
-
type:
|
|
44
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
45
45
|
isOptional: false;
|
|
46
46
|
};
|
|
47
47
|
updatedAt: {
|
|
48
|
-
type:
|
|
48
|
+
type: _contractspec_lib_schema285.FieldType<Date, string>;
|
|
49
49
|
isOptional: false;
|
|
50
50
|
};
|
|
51
51
|
}>>;
|
|
52
52
|
/**
|
|
53
53
|
* Event: A project has been deleted.
|
|
54
54
|
*/
|
|
55
|
-
declare const ProjectDeletedEvent: _contractspec_lib_contracts7.EventSpec<
|
|
55
|
+
declare const ProjectDeletedEvent: _contractspec_lib_contracts7.EventSpec<_contractspec_lib_schema285.SchemaModel<{
|
|
56
56
|
projectId: {
|
|
57
|
-
type:
|
|
57
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
58
58
|
isOptional: false;
|
|
59
59
|
};
|
|
60
60
|
organizationId: {
|
|
61
|
-
type:
|
|
61
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
62
62
|
isOptional: false;
|
|
63
63
|
};
|
|
64
64
|
deletedBy: {
|
|
65
|
-
type:
|
|
65
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
66
66
|
isOptional: false;
|
|
67
67
|
};
|
|
68
68
|
deletedAt: {
|
|
69
|
-
type:
|
|
69
|
+
type: _contractspec_lib_schema285.FieldType<Date, string>;
|
|
70
70
|
isOptional: false;
|
|
71
71
|
};
|
|
72
72
|
}>>;
|
|
73
73
|
/**
|
|
74
74
|
* Event: A project has been archived.
|
|
75
75
|
*/
|
|
76
|
-
declare const ProjectArchivedEvent: _contractspec_lib_contracts7.EventSpec<
|
|
76
|
+
declare const ProjectArchivedEvent: _contractspec_lib_contracts7.EventSpec<_contractspec_lib_schema285.SchemaModel<{
|
|
77
77
|
projectId: {
|
|
78
|
-
type:
|
|
78
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
79
79
|
isOptional: false;
|
|
80
80
|
};
|
|
81
81
|
archivedBy: {
|
|
82
|
-
type:
|
|
82
|
+
type: _contractspec_lib_schema285.FieldType<string, string>;
|
|
83
83
|
isOptional: false;
|
|
84
84
|
};
|
|
85
85
|
archivedAt: {
|
|
86
|
-
type:
|
|
86
|
+
type: _contractspec_lib_schema285.FieldType<Date, string>;
|
|
87
87
|
isOptional: false;
|
|
88
88
|
};
|
|
89
89
|
}>>;
|
|
@@ -109,7 +109,7 @@ const ProjectArchivedPayload = defineSchemaModel({
|
|
|
109
109
|
const ProjectCreatedEvent = defineEvent({
|
|
110
110
|
meta: {
|
|
111
111
|
key: "project.created",
|
|
112
|
-
version: 1,
|
|
112
|
+
version: "1.0.0",
|
|
113
113
|
description: "A new project has been created.",
|
|
114
114
|
stability: "stable",
|
|
115
115
|
owners: ["@saas-team"],
|
|
@@ -123,7 +123,7 @@ const ProjectCreatedEvent = defineEvent({
|
|
|
123
123
|
const ProjectUpdatedEvent = defineEvent({
|
|
124
124
|
meta: {
|
|
125
125
|
key: "project.updated",
|
|
126
|
-
version: 1,
|
|
126
|
+
version: "1.0.0",
|
|
127
127
|
description: "A project has been updated.",
|
|
128
128
|
stability: "stable",
|
|
129
129
|
owners: ["@saas-team"],
|
|
@@ -137,7 +137,7 @@ const ProjectUpdatedEvent = defineEvent({
|
|
|
137
137
|
const ProjectDeletedEvent = defineEvent({
|
|
138
138
|
meta: {
|
|
139
139
|
key: "project.deleted",
|
|
140
|
-
version: 1,
|
|
140
|
+
version: "1.0.0",
|
|
141
141
|
description: "A project has been deleted.",
|
|
142
142
|
stability: "stable",
|
|
143
143
|
owners: ["@saas-team"],
|
|
@@ -151,7 +151,7 @@ const ProjectDeletedEvent = defineEvent({
|
|
|
151
151
|
const ProjectArchivedEvent = defineEvent({
|
|
152
152
|
meta: {
|
|
153
153
|
key: "project.archived",
|
|
154
|
-
version: 1,
|
|
154
|
+
version: "1.0.0",
|
|
155
155
|
description: "A project has been archived.",
|
|
156
156
|
stability: "stable",
|
|
157
157
|
owners: ["@saas-team"],
|