@api-client/core 0.19.23 → 0.19.25
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/build/src/browser.d.ts +3 -0
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js +2 -0
- package/build/src/browser.js.map +1 -1
- package/build/src/index.d.ts +5 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +4 -0
- package/build/src/index.js.map +1 -1
- package/build/src/mocking/ModelingMock.d.ts +2 -0
- package/build/src/mocking/ModelingMock.d.ts.map +1 -1
- package/build/src/mocking/ModelingMock.js +2 -0
- package/build/src/mocking/ModelingMock.js.map +1 -1
- package/build/src/mocking/lib/Deployment.d.ts +16 -0
- package/build/src/mocking/lib/Deployment.d.ts.map +1 -0
- package/build/src/mocking/lib/Deployment.js +76 -0
- package/build/src/mocking/lib/Deployment.js.map +1 -0
- package/build/src/modeling/Bindings.d.ts +4 -0
- package/build/src/modeling/Bindings.d.ts.map +1 -1
- package/build/src/modeling/Bindings.js.map +1 -1
- package/build/src/modeling/DataFormat.d.ts +1 -1
- package/build/src/modeling/DataFormat.d.ts.map +1 -1
- package/build/src/modeling/DataFormat.js +2 -0
- package/build/src/modeling/DataFormat.js.map +1 -1
- package/build/src/modeling/DomainAssociation.d.ts +7 -0
- package/build/src/modeling/DomainAssociation.d.ts.map +1 -1
- package/build/src/modeling/DomainAssociation.js +10 -0
- package/build/src/modeling/DomainAssociation.js.map +1 -1
- package/build/src/modeling/DomainEntity.d.ts +9 -1
- package/build/src/modeling/DomainEntity.d.ts.map +1 -1
- package/build/src/modeling/DomainEntity.js +26 -1
- package/build/src/modeling/DomainEntity.js.map +1 -1
- package/build/src/modeling/ExposedEntity.d.ts +12 -1
- package/build/src/modeling/ExposedEntity.d.ts.map +1 -1
- package/build/src/modeling/ExposedEntity.js +24 -1
- package/build/src/modeling/ExposedEntity.js.map +1 -1
- package/build/src/modeling/RuntimeApiModel.d.ts +52 -0
- package/build/src/modeling/RuntimeApiModel.d.ts.map +1 -0
- package/build/src/modeling/RuntimeApiModel.js +85 -0
- package/build/src/modeling/RuntimeApiModel.js.map +1 -0
- package/build/src/modeling/actions/index.d.ts +10 -0
- package/build/src/modeling/actions/index.d.ts.map +1 -1
- package/build/src/modeling/actions/index.js +30 -0
- package/build/src/modeling/actions/index.js.map +1 -1
- package/build/src/modeling/index.d.ts.map +1 -1
- package/build/src/modeling/index.js +1 -0
- package/build/src/modeling/index.js.map +1 -1
- package/build/src/modeling/types.d.ts +25 -1
- package/build/src/modeling/types.d.ts.map +1 -1
- package/build/src/modeling/types.js.map +1 -1
- package/build/src/models/kinds.d.ts +1 -0
- package/build/src/models/kinds.d.ts.map +1 -1
- package/build/src/models/kinds.js +1 -0
- package/build/src/models/kinds.js.map +1 -1
- package/build/src/models/store/CustomDomain.d.ts +50 -0
- package/build/src/models/store/CustomDomain.d.ts.map +1 -0
- package/build/src/models/store/CustomDomain.js +79 -0
- package/build/src/models/store/CustomDomain.js.map +1 -0
- package/build/src/models/store/Deployment.d.ts +118 -0
- package/build/src/models/store/Deployment.d.ts.map +1 -0
- package/build/src/models/store/Deployment.js +182 -0
- package/build/src/models/store/Deployment.js.map +1 -0
- package/build/src/models/store/DeploymentCustomDomain.d.ts +52 -0
- package/build/src/models/store/DeploymentCustomDomain.d.ts.map +1 -0
- package/build/src/models/store/DeploymentCustomDomain.js +84 -0
- package/build/src/models/store/DeploymentCustomDomain.js.map +1 -0
- package/build/src/sdk/DataCatalogSdk.d.ts.map +1 -1
- package/build/src/sdk/DataCatalogSdk.js +22 -179
- package/build/src/sdk/DataCatalogSdk.js.map +1 -1
- package/build/src/sdk/DeploymentsSdk.d.ts +48 -0
- package/build/src/sdk/DeploymentsSdk.d.ts.map +1 -0
- package/build/src/sdk/DeploymentsSdk.js +94 -0
- package/build/src/sdk/DeploymentsSdk.js.map +1 -0
- package/build/src/sdk/RouteBuilder.d.ts +2 -0
- package/build/src/sdk/RouteBuilder.d.ts.map +1 -1
- package/build/src/sdk/RouteBuilder.js +6 -0
- package/build/src/sdk/RouteBuilder.js.map +1 -1
- package/build/src/sdk/Sdk.d.ts +2 -0
- package/build/src/sdk/Sdk.d.ts.map +1 -1
- package/build/src/sdk/Sdk.js +2 -0
- package/build/src/sdk/Sdk.js.map +1 -1
- package/build/src/sdk/SdkBase.d.ts +19 -1
- package/build/src/sdk/SdkBase.d.ts.map +1 -1
- package/build/src/sdk/SdkBase.js +31 -1
- package/build/src/sdk/SdkBase.js.map +1 -1
- package/build/src/sdk/SdkMock.d.ts +9 -0
- package/build/src/sdk/SdkMock.d.ts.map +1 -1
- package/build/src/sdk/SdkMock.js +73 -0
- package/build/src/sdk/SdkMock.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/matchit.d.ts +19 -0
- package/src/mocking/ModelingMock.ts +2 -0
- package/src/mocking/lib/Deployment.ts +88 -0
- package/src/modeling/Bindings.ts +4 -0
- package/src/modeling/DataFormat.ts +4 -0
- package/src/modeling/DomainAssociation.ts +11 -0
- package/src/modeling/DomainEntity.ts +30 -1
- package/src/modeling/ExposedEntity.ts +26 -1
- package/src/modeling/RuntimeApiModel.ts +137 -0
- package/src/modeling/types.ts +26 -1
- package/src/models/kinds.ts +1 -0
- package/src/models/store/CustomDomain.ts +119 -0
- package/src/models/store/Deployment.ts +250 -0
- package/src/models/store/DeploymentCustomDomain.ts +120 -0
- package/src/sdk/DataCatalogSdk.ts +22 -176
- package/src/sdk/DeploymentsSdk.ts +123 -0
- package/src/sdk/RouteBuilder.ts +8 -0
- package/src/sdk/Sdk.ts +3 -0
- package/src/sdk/SdkBase.ts +35 -3
- package/src/sdk/SdkMock.ts +103 -0
- package/tests/unit/modeling/RuntimeApiModel.spec.ts +122 -0
- package/tests/unit/modeling/actions/index.spec.ts +113 -0
- package/tests/unit/modeling/domain_asociation.spec.ts +28 -0
- package/tests/unit/modeling/domain_entity_parents.spec.ts +49 -0
- package/tests/unit/modeling/exposed_entity_actions.spec.ts +47 -0
- package/tests/unit/models/store/CustomDomain.spec.ts +111 -0
- package/tests/unit/models/store/Deployment.spec.ts +198 -0
- package/tests/unit/models/store/DeploymentCustomDomain.spec.ts +122 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { FieldValidationMessage } from '../../exceptions/validation_error.js';
|
|
2
|
+
import { DeploymentKind } from '../kinds.js';
|
|
3
|
+
export { DeploymentKind };
|
|
4
|
+
/**
|
|
5
|
+
* Status of the deployment
|
|
6
|
+
*/
|
|
7
|
+
export declare enum DeploymentStatus {
|
|
8
|
+
/**
|
|
9
|
+
* Deployment is pending
|
|
10
|
+
*/
|
|
11
|
+
Pending = 0,
|
|
12
|
+
/**
|
|
13
|
+
* Deployment is active
|
|
14
|
+
*/
|
|
15
|
+
Active = 1,
|
|
16
|
+
/**
|
|
17
|
+
* Deployment is inactive
|
|
18
|
+
*/
|
|
19
|
+
Inactive = 2,
|
|
20
|
+
/**
|
|
21
|
+
* Deployment has failed
|
|
22
|
+
*/
|
|
23
|
+
Failed = 3
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Environment tag for logical deployment grouping
|
|
27
|
+
*/
|
|
28
|
+
export declare enum DeploymentEnvironment {
|
|
29
|
+
PROD = "prod",
|
|
30
|
+
STAGING = "staging",
|
|
31
|
+
DEV = "dev"
|
|
32
|
+
}
|
|
33
|
+
export interface DeploymentSchema {
|
|
34
|
+
kind: typeof DeploymentKind;
|
|
35
|
+
/**
|
|
36
|
+
* Primary key (nanoid)
|
|
37
|
+
*/
|
|
38
|
+
key: string;
|
|
39
|
+
/**
|
|
40
|
+
* ID of the organization
|
|
41
|
+
*/
|
|
42
|
+
orgId: string;
|
|
43
|
+
/**
|
|
44
|
+
* The file ID representing the API
|
|
45
|
+
*/
|
|
46
|
+
apiId: string;
|
|
47
|
+
/**
|
|
48
|
+
* Denormalized organization slug
|
|
49
|
+
*/
|
|
50
|
+
orgSlug: string;
|
|
51
|
+
/**
|
|
52
|
+
* Denormalized API slug
|
|
53
|
+
*/
|
|
54
|
+
apiSlug: string;
|
|
55
|
+
/**
|
|
56
|
+
* Environment tag
|
|
57
|
+
*/
|
|
58
|
+
env: DeploymentEnvironment;
|
|
59
|
+
/**
|
|
60
|
+
* The version of the deployment (e.g., 'v1', 'v2')
|
|
61
|
+
* It must be set for production environments.
|
|
62
|
+
* It cannot be set for non-production environments (e.g. 'dev').
|
|
63
|
+
*/
|
|
64
|
+
version?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The semantic version of the deployed API model (e.g., '1.0.1').
|
|
67
|
+
*/
|
|
68
|
+
modelVersion: string;
|
|
69
|
+
/**
|
|
70
|
+
* Status of the deployment
|
|
71
|
+
*/
|
|
72
|
+
status: DeploymentStatus;
|
|
73
|
+
/**
|
|
74
|
+
* Timestamp of creation
|
|
75
|
+
*/
|
|
76
|
+
createdAt: number;
|
|
77
|
+
/**
|
|
78
|
+
* Timestamp of last update
|
|
79
|
+
*/
|
|
80
|
+
updatedAt: number;
|
|
81
|
+
/**
|
|
82
|
+
* The base URI to the API.
|
|
83
|
+
* Note: This field is computed at runtime when the deployment status is active.
|
|
84
|
+
* Note: This field is ignored when creating or updating a deployment.
|
|
85
|
+
*/
|
|
86
|
+
baseUri?: string;
|
|
87
|
+
/**
|
|
88
|
+
* The URI to the API portal.
|
|
89
|
+
* Note: This field is computed at runtime when the deployment status is active.
|
|
90
|
+
* Note: This field is ignored when creating or updating a deployment.
|
|
91
|
+
*/
|
|
92
|
+
portalUri?: string;
|
|
93
|
+
}
|
|
94
|
+
export declare class Deployment implements DeploymentSchema {
|
|
95
|
+
readonly kind: typeof DeploymentKind;
|
|
96
|
+
key: string;
|
|
97
|
+
orgId: string;
|
|
98
|
+
apiId: string;
|
|
99
|
+
orgSlug: string;
|
|
100
|
+
apiSlug: string;
|
|
101
|
+
env: DeploymentEnvironment;
|
|
102
|
+
version?: string;
|
|
103
|
+
modelVersion: string;
|
|
104
|
+
status: DeploymentStatus;
|
|
105
|
+
createdAt: number;
|
|
106
|
+
updatedAt: number;
|
|
107
|
+
baseUri?: string;
|
|
108
|
+
portalUri?: string;
|
|
109
|
+
static createSchema(input?: Partial<DeploymentSchema>): DeploymentSchema;
|
|
110
|
+
constructor(state?: Partial<DeploymentSchema>);
|
|
111
|
+
toJSON(): DeploymentSchema;
|
|
112
|
+
/**
|
|
113
|
+
* Validates the deployment.
|
|
114
|
+
* @returns An array of validation messages.
|
|
115
|
+
*/
|
|
116
|
+
validate(): FieldValidationMessage[];
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=Deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deployment.d.ts","sourceRoot":"","sources":["../../../../src/models/store/Deployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;GAEG;AACH,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,MAAM,IAAI;IACV;;OAEG;IACH,QAAQ,IAAI;IACZ;;OAEG;IACH,MAAM,IAAI;CACX;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,cAAc,CAAA;IAC3B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,GAAG,EAAE,qBAAqB,CAAA;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAA;IACxB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,UAAW,YAAW,gBAAgB;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,cAAc,CAAiB;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,qBAAqB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,MAAM,CAAC,YAAY,CAAC,KAAK,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB;gBA2BhE,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAiB7C,MAAM,IAAI,gBAAgB;IA0B1B;;;OAGG;IACH,QAAQ,IAAI,sBAAsB,EAAE;CA4DrC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { nanoid } from '../../nanoid.js';
|
|
2
|
+
import { DeploymentKind } from '../kinds.js';
|
|
3
|
+
export { DeploymentKind };
|
|
4
|
+
/**
|
|
5
|
+
* Status of the deployment
|
|
6
|
+
*/
|
|
7
|
+
export var DeploymentStatus;
|
|
8
|
+
(function (DeploymentStatus) {
|
|
9
|
+
/**
|
|
10
|
+
* Deployment is pending
|
|
11
|
+
*/
|
|
12
|
+
DeploymentStatus[DeploymentStatus["Pending"] = 0] = "Pending";
|
|
13
|
+
/**
|
|
14
|
+
* Deployment is active
|
|
15
|
+
*/
|
|
16
|
+
DeploymentStatus[DeploymentStatus["Active"] = 1] = "Active";
|
|
17
|
+
/**
|
|
18
|
+
* Deployment is inactive
|
|
19
|
+
*/
|
|
20
|
+
DeploymentStatus[DeploymentStatus["Inactive"] = 2] = "Inactive";
|
|
21
|
+
/**
|
|
22
|
+
* Deployment has failed
|
|
23
|
+
*/
|
|
24
|
+
DeploymentStatus[DeploymentStatus["Failed"] = 3] = "Failed";
|
|
25
|
+
})(DeploymentStatus || (DeploymentStatus = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Environment tag for logical deployment grouping
|
|
28
|
+
*/
|
|
29
|
+
export var DeploymentEnvironment;
|
|
30
|
+
(function (DeploymentEnvironment) {
|
|
31
|
+
DeploymentEnvironment["PROD"] = "prod";
|
|
32
|
+
DeploymentEnvironment["STAGING"] = "staging";
|
|
33
|
+
DeploymentEnvironment["DEV"] = "dev";
|
|
34
|
+
})(DeploymentEnvironment || (DeploymentEnvironment = {}));
|
|
35
|
+
export class Deployment {
|
|
36
|
+
kind = DeploymentKind;
|
|
37
|
+
key;
|
|
38
|
+
orgId;
|
|
39
|
+
apiId;
|
|
40
|
+
orgSlug;
|
|
41
|
+
apiSlug;
|
|
42
|
+
env;
|
|
43
|
+
version;
|
|
44
|
+
modelVersion;
|
|
45
|
+
status;
|
|
46
|
+
createdAt;
|
|
47
|
+
updatedAt;
|
|
48
|
+
baseUri;
|
|
49
|
+
portalUri;
|
|
50
|
+
static createSchema(input = {}) {
|
|
51
|
+
const key = input.key ?? nanoid();
|
|
52
|
+
const result = {
|
|
53
|
+
kind: DeploymentKind,
|
|
54
|
+
key,
|
|
55
|
+
orgId: input.orgId || '',
|
|
56
|
+
apiId: input.apiId || '',
|
|
57
|
+
orgSlug: input.orgSlug || '',
|
|
58
|
+
apiSlug: input.apiSlug || '',
|
|
59
|
+
env: input.env ?? DeploymentEnvironment.DEV,
|
|
60
|
+
modelVersion: input.modelVersion || '0.0.0',
|
|
61
|
+
status: input.status ?? DeploymentStatus.Pending,
|
|
62
|
+
createdAt: input.createdAt ?? Date.now(),
|
|
63
|
+
updatedAt: input.updatedAt ?? Date.now(),
|
|
64
|
+
};
|
|
65
|
+
if (input.baseUri) {
|
|
66
|
+
result.baseUri = input.baseUri;
|
|
67
|
+
}
|
|
68
|
+
if (input.portalUri) {
|
|
69
|
+
result.portalUri = input.portalUri;
|
|
70
|
+
}
|
|
71
|
+
if (input.version) {
|
|
72
|
+
result.version = input.version;
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
constructor(state) {
|
|
77
|
+
const init = Deployment.createSchema(state);
|
|
78
|
+
this.key = init.key;
|
|
79
|
+
this.orgId = init.orgId;
|
|
80
|
+
this.apiId = init.apiId;
|
|
81
|
+
this.orgSlug = init.orgSlug;
|
|
82
|
+
this.apiSlug = init.apiSlug;
|
|
83
|
+
this.env = init.env;
|
|
84
|
+
this.version = init.version;
|
|
85
|
+
this.status = init.status;
|
|
86
|
+
this.createdAt = init.createdAt;
|
|
87
|
+
this.updatedAt = init.updatedAt;
|
|
88
|
+
this.modelVersion = init.modelVersion;
|
|
89
|
+
this.baseUri = init.baseUri;
|
|
90
|
+
this.portalUri = init.portalUri;
|
|
91
|
+
}
|
|
92
|
+
toJSON() {
|
|
93
|
+
const result = {
|
|
94
|
+
kind: DeploymentKind,
|
|
95
|
+
key: this.key,
|
|
96
|
+
orgId: this.orgId,
|
|
97
|
+
apiId: this.apiId,
|
|
98
|
+
orgSlug: this.orgSlug,
|
|
99
|
+
apiSlug: this.apiSlug,
|
|
100
|
+
env: this.env,
|
|
101
|
+
modelVersion: this.modelVersion,
|
|
102
|
+
status: this.status,
|
|
103
|
+
createdAt: this.createdAt,
|
|
104
|
+
updatedAt: this.updatedAt,
|
|
105
|
+
};
|
|
106
|
+
if (this.version) {
|
|
107
|
+
result.version = this.version;
|
|
108
|
+
}
|
|
109
|
+
if (this.baseUri) {
|
|
110
|
+
result.baseUri = this.baseUri;
|
|
111
|
+
}
|
|
112
|
+
if (this.portalUri) {
|
|
113
|
+
result.portalUri = this.portalUri;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Validates the deployment.
|
|
119
|
+
* @returns An array of validation messages.
|
|
120
|
+
*/
|
|
121
|
+
validate() {
|
|
122
|
+
const result = [];
|
|
123
|
+
if (this.orgId === '') {
|
|
124
|
+
result.push({
|
|
125
|
+
field: 'orgId',
|
|
126
|
+
message: 'Org ID must not be empty',
|
|
127
|
+
rule: 'notEmpty',
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (this.apiId === '') {
|
|
131
|
+
result.push({
|
|
132
|
+
field: 'apiId',
|
|
133
|
+
message: 'API ID must not be empty',
|
|
134
|
+
rule: 'notEmpty',
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
if (this.orgSlug === '') {
|
|
138
|
+
result.push({
|
|
139
|
+
field: 'orgSlug',
|
|
140
|
+
message: 'Org slug must not be empty',
|
|
141
|
+
rule: 'notEmpty',
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (this.apiSlug === '') {
|
|
145
|
+
result.push({
|
|
146
|
+
field: 'apiSlug',
|
|
147
|
+
message: 'API slug must not be empty',
|
|
148
|
+
rule: 'notEmpty',
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (!this.env) {
|
|
152
|
+
result.push({
|
|
153
|
+
field: 'env',
|
|
154
|
+
message: 'Environment tag must not be empty',
|
|
155
|
+
rule: 'notEmpty',
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
if (this.modelVersion === '') {
|
|
159
|
+
result.push({
|
|
160
|
+
field: 'modelVersion',
|
|
161
|
+
message: 'API model version must not be empty',
|
|
162
|
+
rule: 'notEmpty',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (this.env === DeploymentEnvironment.PROD && !this.version) {
|
|
166
|
+
result.push({
|
|
167
|
+
field: 'version',
|
|
168
|
+
message: 'Version must not be empty for production environment',
|
|
169
|
+
rule: 'notEmpty',
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else if (this.env !== DeploymentEnvironment.PROD && this.version) {
|
|
173
|
+
result.push({
|
|
174
|
+
field: 'version',
|
|
175
|
+
message: 'Version must not be present for non-production environment',
|
|
176
|
+
rule: 'notEmpty',
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return result;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=Deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deployment.js","sourceRoot":"","sources":["../../../../src/models/store/Deployment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;GAEG;AACH,MAAM,CAAN,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,6DAAW,CAAA;IACX;;OAEG;IACH,2DAAU,CAAA;IACV;;OAEG;IACH,+DAAY,CAAA;IACZ;;OAEG;IACH,2DAAU,CAAA;AACZ,CAAC,EAjBW,gBAAgB,KAAhB,gBAAgB,QAiB3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,4CAAmB,CAAA;IACnB,oCAAW,CAAA;AACb,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAgED,MAAM,OAAO,UAAU;IACZ,IAAI,GAA0B,cAAc,CAAA;IACrD,GAAG,CAAQ;IACX,KAAK,CAAQ;IACb,KAAK,CAAQ;IACb,OAAO,CAAQ;IACf,OAAO,CAAQ;IACf,GAAG,CAAuB;IAC1B,OAAO,CAAS;IAChB,YAAY,CAAQ;IACpB,MAAM,CAAkB;IACxB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,OAAO,CAAS;IAChB,SAAS,CAAS;IAElB,MAAM,CAAC,YAAY,CAAC,QAAmC,EAAE;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,EAAE,CAAA;QACjC,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,cAAc;YACpB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,GAAG;YAC3C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,OAAO;YAC3C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC,OAAO;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SACzC,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAChC,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAChC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,YAAY,KAAiC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,MAAM,MAAM,GAA6B,EAAE,CAAA;QAE3C,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,4BAA4B;gBACrC,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,4BAA4B;gBACrC,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,mCAAmC;gBAC5C,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,qCAAqC;gBAC9C,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,qBAAqB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,sDAAsD;gBAC/D,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,KAAK,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,4DAA4D;gBACrE,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import type { FieldValidationMessage } from '../../exceptions/validation_error.js'\nimport { nanoid } from '../../nanoid.js'\nimport { DeploymentKind } from '../kinds.js'\n\nexport { DeploymentKind }\n\n/**\n * Status of the deployment\n */\nexport enum DeploymentStatus {\n /**\n * Deployment is pending\n */\n Pending = 0,\n /**\n * Deployment is active\n */\n Active = 1,\n /**\n * Deployment is inactive\n */\n Inactive = 2,\n /**\n * Deployment has failed\n */\n Failed = 3,\n}\n\n/**\n * Environment tag for logical deployment grouping\n */\nexport enum DeploymentEnvironment {\n PROD = 'prod',\n STAGING = 'staging',\n DEV = 'dev',\n}\n\nexport interface DeploymentSchema {\n kind: typeof DeploymentKind\n /**\n * Primary key (nanoid)\n */\n key: string\n /**\n * ID of the organization\n */\n orgId: string\n /**\n * The file ID representing the API\n */\n apiId: string\n /**\n * Denormalized organization slug\n */\n orgSlug: string\n /**\n * Denormalized API slug\n */\n apiSlug: string\n /**\n * Environment tag\n */\n env: DeploymentEnvironment\n /**\n * The version of the deployment (e.g., 'v1', 'v2')\n * It must be set for production environments.\n * It cannot be set for non-production environments (e.g. 'dev').\n */\n version?: string\n /**\n * The semantic version of the deployed API model (e.g., '1.0.1').\n */\n modelVersion: string\n /**\n * Status of the deployment\n */\n status: DeploymentStatus\n /**\n * Timestamp of creation\n */\n createdAt: number\n /**\n * Timestamp of last update\n */\n updatedAt: number\n /**\n * The base URI to the API.\n * Note: This field is computed at runtime when the deployment status is active.\n * Note: This field is ignored when creating or updating a deployment.\n */\n baseUri?: string\n /**\n * The URI to the API portal.\n * Note: This field is computed at runtime when the deployment status is active.\n * Note: This field is ignored when creating or updating a deployment.\n */\n portalUri?: string\n}\n\nexport class Deployment implements DeploymentSchema {\n readonly kind: typeof DeploymentKind = DeploymentKind\n key: string\n orgId: string\n apiId: string\n orgSlug: string\n apiSlug: string\n env: DeploymentEnvironment\n version?: string\n modelVersion: string\n status: DeploymentStatus\n createdAt: number\n updatedAt: number\n baseUri?: string\n portalUri?: string\n\n static createSchema(input: Partial<DeploymentSchema> = {}): DeploymentSchema {\n const key = input.key ?? nanoid()\n const result: DeploymentSchema = {\n kind: DeploymentKind,\n key,\n orgId: input.orgId || '',\n apiId: input.apiId || '',\n orgSlug: input.orgSlug || '',\n apiSlug: input.apiSlug || '',\n env: input.env ?? DeploymentEnvironment.DEV,\n modelVersion: input.modelVersion || '0.0.0',\n status: input.status ?? DeploymentStatus.Pending,\n createdAt: input.createdAt ?? Date.now(),\n updatedAt: input.updatedAt ?? Date.now(),\n }\n if (input.baseUri) {\n result.baseUri = input.baseUri\n }\n if (input.portalUri) {\n result.portalUri = input.portalUri\n }\n if (input.version) {\n result.version = input.version\n }\n return result\n }\n\n constructor(state?: Partial<DeploymentSchema>) {\n const init = Deployment.createSchema(state)\n this.key = init.key\n this.orgId = init.orgId\n this.apiId = init.apiId\n this.orgSlug = init.orgSlug\n this.apiSlug = init.apiSlug\n this.env = init.env\n this.version = init.version\n this.status = init.status\n this.createdAt = init.createdAt\n this.updatedAt = init.updatedAt\n this.modelVersion = init.modelVersion\n this.baseUri = init.baseUri\n this.portalUri = init.portalUri\n }\n\n toJSON(): DeploymentSchema {\n const result: DeploymentSchema = {\n kind: DeploymentKind,\n key: this.key,\n orgId: this.orgId,\n apiId: this.apiId,\n orgSlug: this.orgSlug,\n apiSlug: this.apiSlug,\n env: this.env,\n modelVersion: this.modelVersion,\n status: this.status,\n createdAt: this.createdAt,\n updatedAt: this.updatedAt,\n }\n if (this.version) {\n result.version = this.version\n }\n if (this.baseUri) {\n result.baseUri = this.baseUri\n }\n if (this.portalUri) {\n result.portalUri = this.portalUri\n }\n return result\n }\n\n /**\n * Validates the deployment.\n * @returns An array of validation messages.\n */\n validate(): FieldValidationMessage[] {\n const result: FieldValidationMessage[] = []\n\n if (this.orgId === '') {\n result.push({\n field: 'orgId',\n message: 'Org ID must not be empty',\n rule: 'notEmpty',\n })\n }\n if (this.apiId === '') {\n result.push({\n field: 'apiId',\n message: 'API ID must not be empty',\n rule: 'notEmpty',\n })\n }\n if (this.orgSlug === '') {\n result.push({\n field: 'orgSlug',\n message: 'Org slug must not be empty',\n rule: 'notEmpty',\n })\n }\n if (this.apiSlug === '') {\n result.push({\n field: 'apiSlug',\n message: 'API slug must not be empty',\n rule: 'notEmpty',\n })\n }\n if (!this.env) {\n result.push({\n field: 'env',\n message: 'Environment tag must not be empty',\n rule: 'notEmpty',\n })\n }\n if (this.modelVersion === '') {\n result.push({\n field: 'modelVersion',\n message: 'API model version must not be empty',\n rule: 'notEmpty',\n })\n }\n if (this.env === DeploymentEnvironment.PROD && !this.version) {\n result.push({\n field: 'version',\n message: 'Version must not be empty for production environment',\n rule: 'notEmpty',\n })\n } else if (this.env !== DeploymentEnvironment.PROD && this.version) {\n result.push({\n field: 'version',\n message: 'Version must not be present for non-production environment',\n rule: 'notEmpty',\n })\n }\n return result\n }\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { FieldValidationMessage } from '../../exceptions/validation_error.js';
|
|
2
|
+
export declare enum SslStatus {
|
|
3
|
+
Initializing = 0,
|
|
4
|
+
PendingDns = 1,
|
|
5
|
+
Issuing = 2,
|
|
6
|
+
Active = 3,
|
|
7
|
+
Error = 4
|
|
8
|
+
}
|
|
9
|
+
export interface DeploymentCustomDomainSchema {
|
|
10
|
+
/**
|
|
11
|
+
* Primary key (nanoid)
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* ID of the deployment
|
|
16
|
+
*/
|
|
17
|
+
deploymentId: string;
|
|
18
|
+
/**
|
|
19
|
+
* ID of the custom domain
|
|
20
|
+
*/
|
|
21
|
+
customDomainId: string;
|
|
22
|
+
/**
|
|
23
|
+
* The base path for the deployment
|
|
24
|
+
*/
|
|
25
|
+
basePath: string;
|
|
26
|
+
/**
|
|
27
|
+
* Status of the SSL certificate
|
|
28
|
+
*/
|
|
29
|
+
sslStatus: SslStatus;
|
|
30
|
+
/**
|
|
31
|
+
* Timestamp of creation
|
|
32
|
+
*/
|
|
33
|
+
createdAt: number;
|
|
34
|
+
/**
|
|
35
|
+
* Timestamp of last update
|
|
36
|
+
*/
|
|
37
|
+
updatedAt: number;
|
|
38
|
+
}
|
|
39
|
+
export declare class DeploymentCustomDomainModel implements DeploymentCustomDomainSchema {
|
|
40
|
+
id: string;
|
|
41
|
+
deploymentId: string;
|
|
42
|
+
customDomainId: string;
|
|
43
|
+
basePath: string;
|
|
44
|
+
sslStatus: SslStatus;
|
|
45
|
+
createdAt: number;
|
|
46
|
+
updatedAt: number;
|
|
47
|
+
static createSchema(input?: Partial<DeploymentCustomDomainSchema>): DeploymentCustomDomainSchema;
|
|
48
|
+
constructor(state?: Partial<DeploymentCustomDomainSchema>);
|
|
49
|
+
toJSON(): DeploymentCustomDomainSchema;
|
|
50
|
+
validate(): FieldValidationMessage[];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=DeploymentCustomDomain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeploymentCustomDomain.d.ts","sourceRoot":"","sources":["../../../../src/models/store/DeploymentCustomDomain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAGlF,oBAAY,SAAS;IACnB,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,OAAO,IAAI;IACX,MAAM,IAAI;IACV,KAAK,IAAI;CACV;AAED,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,2BAA4B,YAAW,4BAA4B;IAC9E,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,YAAY,CAAC,KAAK,GAAE,OAAO,CAAC,4BAA4B,CAAM,GAAG,4BAA4B;gBAaxF,KAAK,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC;IAWzD,MAAM,IAAI,4BAA4B;IAYtC,QAAQ,IAAI,sBAAsB,EAAE;CAgCrC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { nanoid } from '../../nanoid.js';
|
|
2
|
+
export var SslStatus;
|
|
3
|
+
(function (SslStatus) {
|
|
4
|
+
SslStatus[SslStatus["Initializing"] = 0] = "Initializing";
|
|
5
|
+
SslStatus[SslStatus["PendingDns"] = 1] = "PendingDns";
|
|
6
|
+
SslStatus[SslStatus["Issuing"] = 2] = "Issuing";
|
|
7
|
+
SslStatus[SslStatus["Active"] = 3] = "Active";
|
|
8
|
+
SslStatus[SslStatus["Error"] = 4] = "Error";
|
|
9
|
+
})(SslStatus || (SslStatus = {}));
|
|
10
|
+
export class DeploymentCustomDomainModel {
|
|
11
|
+
id;
|
|
12
|
+
deploymentId;
|
|
13
|
+
customDomainId;
|
|
14
|
+
basePath;
|
|
15
|
+
sslStatus;
|
|
16
|
+
createdAt;
|
|
17
|
+
updatedAt;
|
|
18
|
+
static createSchema(input = {}) {
|
|
19
|
+
const id = input.id ?? nanoid();
|
|
20
|
+
return {
|
|
21
|
+
id,
|
|
22
|
+
deploymentId: input.deploymentId || '',
|
|
23
|
+
customDomainId: input.customDomainId || '',
|
|
24
|
+
basePath: input.basePath ?? '/',
|
|
25
|
+
sslStatus: input.sslStatus ?? SslStatus.PendingDns,
|
|
26
|
+
createdAt: input.createdAt ?? Date.now(),
|
|
27
|
+
updatedAt: input.updatedAt ?? Date.now(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
constructor(state) {
|
|
31
|
+
const init = DeploymentCustomDomainModel.createSchema(state);
|
|
32
|
+
this.id = init.id;
|
|
33
|
+
this.deploymentId = init.deploymentId;
|
|
34
|
+
this.customDomainId = init.customDomainId;
|
|
35
|
+
this.basePath = init.basePath;
|
|
36
|
+
this.sslStatus = init.sslStatus;
|
|
37
|
+
this.createdAt = init.createdAt;
|
|
38
|
+
this.updatedAt = init.updatedAt;
|
|
39
|
+
}
|
|
40
|
+
toJSON() {
|
|
41
|
+
return {
|
|
42
|
+
id: this.id,
|
|
43
|
+
deploymentId: this.deploymentId,
|
|
44
|
+
customDomainId: this.customDomainId,
|
|
45
|
+
basePath: this.basePath,
|
|
46
|
+
sslStatus: this.sslStatus,
|
|
47
|
+
createdAt: this.createdAt,
|
|
48
|
+
updatedAt: this.updatedAt,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
validate() {
|
|
52
|
+
const result = [];
|
|
53
|
+
if (this.basePath === '') {
|
|
54
|
+
result.push({
|
|
55
|
+
field: 'basePath',
|
|
56
|
+
message: 'Base path must not be empty',
|
|
57
|
+
rule: 'notEmpty',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else if (!this.basePath.startsWith('/')) {
|
|
61
|
+
result.push({
|
|
62
|
+
field: 'basePath',
|
|
63
|
+
message: 'Base path must start with a slash',
|
|
64
|
+
rule: 'startsWithSlash',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (!this.deploymentId) {
|
|
68
|
+
result.push({
|
|
69
|
+
field: 'deploymentId',
|
|
70
|
+
message: 'Deployment ID must not be empty',
|
|
71
|
+
rule: 'notEmpty',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (!this.customDomainId) {
|
|
75
|
+
result.push({
|
|
76
|
+
field: 'customDomainId',
|
|
77
|
+
message: 'Custom domain ID must not be empty',
|
|
78
|
+
rule: 'notEmpty',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=DeploymentCustomDomain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeploymentCustomDomain.js","sourceRoot":"","sources":["../../../../src/models/store/DeploymentCustomDomain.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FieldValidationMessage } from '../../exceptions/validation_error.js'\nimport { nanoid } from '../../nanoid.js'\n\nexport enum SslStatus {\n Initializing = 0,\n PendingDns = 1,\n Issuing = 2,\n Active = 3,\n Error = 4,\n}\n\nexport interface DeploymentCustomDomainSchema {\n /**\n * Primary key (nanoid)\n */\n id: string\n /**\n * ID of the deployment\n */\n deploymentId: string\n /**\n * ID of the custom domain\n */\n customDomainId: string\n /**\n * The base path for the deployment\n */\n basePath: string\n /**\n * Status of the SSL certificate\n */\n sslStatus: SslStatus\n /**\n * Timestamp of creation\n */\n createdAt: number\n /**\n * Timestamp of last update\n */\n updatedAt: number\n}\n\nexport class DeploymentCustomDomainModel implements DeploymentCustomDomainSchema {\n id: string\n deploymentId: string\n customDomainId: string\n basePath: string\n sslStatus: SslStatus\n createdAt: number\n updatedAt: number\n\n static createSchema(input: Partial<DeploymentCustomDomainSchema> = {}): DeploymentCustomDomainSchema {\n const id = input.id ?? nanoid()\n return {\n id,\n deploymentId: input.deploymentId || '',\n customDomainId: input.customDomainId || '',\n basePath: input.basePath ?? '/',\n sslStatus: input.sslStatus ?? SslStatus.PendingDns,\n createdAt: input.createdAt ?? Date.now(),\n updatedAt: input.updatedAt ?? Date.now(),\n }\n }\n\n constructor(state?: Partial<DeploymentCustomDomainSchema>) {\n const init = DeploymentCustomDomainModel.createSchema(state)\n this.id = init.id\n this.deploymentId = init.deploymentId\n this.customDomainId = init.customDomainId\n this.basePath = init.basePath\n this.sslStatus = init.sslStatus\n this.createdAt = init.createdAt\n this.updatedAt = init.updatedAt\n }\n\n toJSON(): DeploymentCustomDomainSchema {\n return {\n id: this.id,\n deploymentId: this.deploymentId,\n customDomainId: this.customDomainId,\n basePath: this.basePath,\n sslStatus: this.sslStatus,\n createdAt: this.createdAt,\n updatedAt: this.updatedAt,\n }\n }\n\n validate(): FieldValidationMessage[] {\n const result: FieldValidationMessage[] = []\n\n if (this.basePath === '') {\n result.push({\n field: 'basePath',\n message: 'Base path must not be empty',\n rule: 'notEmpty',\n })\n } else if (!this.basePath.startsWith('/')) {\n result.push({\n field: 'basePath',\n message: 'Base path must start with a slash',\n rule: 'startsWithSlash',\n })\n }\n if (!this.deploymentId) {\n result.push({\n field: 'deploymentId',\n message: 'Deployment ID must not be empty',\n rule: 'notEmpty',\n })\n }\n if (!this.customDomainId) {\n result.push({\n field: 'customDomainId',\n message: 'Custom domain ID must not be empty',\n rule: 'notEmpty',\n })\n }\n return result\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCatalogSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/DataCatalogSdk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DataCatalogSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/DataCatalogSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,UAAU,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACpG,OAAO,KAAK,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAEjE,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CACzB;AAED,qBAAa,cAAe,SAAQ,OAAO;IACnC,IAAI,CACR,OAAO,GAAE,sBAA2B,EACpC,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IAY3D;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAO7G;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAsB5G,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAe7E;;;;;OAKG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAsBlD;;;;;OAKG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAejG,cAAc,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,EACjC,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IAsBnD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAetG,gBAAgB,CACpB,YAAY,CAAC,EAAE,uBAAuB,EAAE,EACxC,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAczC,gBAAgB,CACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IAsBnD,gBAAgB,CACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IAezD;;;;;;OAMG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAiBpH"}
|