codify-schemas 1.0.42 → 1.0.43
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/dist/messages/plan-request-data-schema.json +14 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/messages/plan-request-data-schema.json +14 -1
- package/src/messages/plan-request-data-schema.test.ts +25 -8
- package/src/types/index.ts +4 -1
|
@@ -2,5 +2,18 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://www.codifycli.com/plan-request-data-schema.json",
|
|
4
4
|
"title": "Plan Request Schema Data",
|
|
5
|
-
"
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"desired": {
|
|
8
|
+
"$ref": "resource-schema.json"
|
|
9
|
+
},
|
|
10
|
+
"state": {
|
|
11
|
+
"$ref": "resource-schema.json"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{ "required": ["desired"] },
|
|
17
|
+
{ "required": ["state"] }
|
|
18
|
+
]
|
|
6
19
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -37,7 +37,9 @@ export interface ValidateResponseData {
|
|
|
37
37
|
isValid: boolean;
|
|
38
38
|
}>;
|
|
39
39
|
}
|
|
40
|
-
export interface PlanRequestData
|
|
40
|
+
export interface PlanRequestData {
|
|
41
|
+
desired: ResourceConfig | undefined;
|
|
42
|
+
state: ResourceConfig | undefined;
|
|
41
43
|
}
|
|
42
44
|
export declare enum ResourceOperation {
|
|
43
45
|
CREATE = "create",
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AA2BD,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACf,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAmDD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
package/package.json
CHANGED
|
@@ -2,5 +2,18 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://www.codifycli.com/plan-request-data-schema.json",
|
|
4
4
|
"title": "Plan Request Schema Data",
|
|
5
|
-
"
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"desired": {
|
|
8
|
+
"$ref": "resource-schema.json"
|
|
9
|
+
},
|
|
10
|
+
"state": {
|
|
11
|
+
"$ref": "resource-schema.json"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{ "required": ["desired"] },
|
|
17
|
+
{ "required": ["state"] }
|
|
18
|
+
]
|
|
6
19
|
}
|
|
@@ -5,6 +5,7 @@ import Ajv2020 from 'ajv/dist/2020.js'
|
|
|
5
5
|
|
|
6
6
|
const ajv = new Ajv2020.default({
|
|
7
7
|
strict: true,
|
|
8
|
+
strictRequired: false,
|
|
8
9
|
})
|
|
9
10
|
ajv.addSchema(resourceSchema);
|
|
10
11
|
|
|
@@ -13,21 +14,37 @@ describe('Plan request data schema', () => {
|
|
|
13
14
|
ajv.compile(schema);
|
|
14
15
|
})
|
|
15
16
|
|
|
16
|
-
it("
|
|
17
|
+
it("It accepts either state, desired or both", () => {
|
|
17
18
|
const validate = ajv.compile(schema);
|
|
18
|
-
expect(validate({
|
|
19
|
+
expect(validate({
|
|
20
|
+
desired: {
|
|
21
|
+
type: "type"
|
|
22
|
+
}
|
|
23
|
+
})).to.be.true;
|
|
24
|
+
expect(validate({
|
|
25
|
+
state: {
|
|
26
|
+
type: "type"
|
|
27
|
+
}
|
|
28
|
+
})).to.be.true;
|
|
29
|
+
expect(validate({
|
|
30
|
+
desired: {
|
|
31
|
+
type: "type"
|
|
32
|
+
},
|
|
33
|
+
state: {
|
|
34
|
+
type: "type"
|
|
35
|
+
}
|
|
36
|
+
})).to.be.true;
|
|
19
37
|
expect(validate({})).to.be.false;
|
|
20
38
|
})
|
|
21
39
|
|
|
22
40
|
it ("name and type are alpha-numeric and follow variable naming conventions", () => {
|
|
23
41
|
const validate = ajv.compile(schema);
|
|
24
|
-
expect(validate({ type: "a234abcDEF_-"})).to.be.true;
|
|
25
|
-
expect(validate({ type: "234"})).to.be.false;
|
|
26
|
-
expect(validate({ type: "ABCDEF$"})).to.be.false;
|
|
42
|
+
expect(validate({ desired: { type: "a234abcDEF_-" } })).to.be.true;
|
|
43
|
+
expect(validate({ desired: { type: "234"} })).to.be.false;
|
|
44
|
+
expect(validate({ desired: { type: "ABCDEF$"} })).to.be.false;
|
|
27
45
|
|
|
28
|
-
expect(validate({ type: "type", name: "a234abcDEF_-"})).to.be.true;
|
|
29
|
-
expect(validate({ type: "type", name: "
|
|
30
|
-
expect(validate({ type: "type", name: "ABCDEF$"})).to.be.false;
|
|
46
|
+
expect(validate({ desired: { type: "type", name: "a234abcDEF_-"} })).to.be.true;
|
|
47
|
+
expect(validate({ desired: { type: "type", name: "ABCDEF$"} })).to.be.false;
|
|
31
48
|
});
|
|
32
49
|
|
|
33
50
|
})
|
package/src/types/index.ts
CHANGED
|
@@ -45,7 +45,10 @@ export interface ValidateResponseData {
|
|
|
45
45
|
}>;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
export interface PlanRequestData
|
|
48
|
+
export interface PlanRequestData {
|
|
49
|
+
desired: ResourceConfig | undefined
|
|
50
|
+
state: ResourceConfig | undefined
|
|
51
|
+
}
|
|
49
52
|
|
|
50
53
|
export enum ResourceOperation {
|
|
51
54
|
CREATE = "create",
|