@scalar/oas-utils 0.2.140 → 0.2.142
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/CHANGELOG.md +18 -0
- package/dist/entities/cookie/cookie.js +14 -13
- package/dist/entities/cookie/cookie.js.map +7 -0
- package/dist/entities/cookie/index.d.ts +1 -1
- package/dist/entities/cookie/index.d.ts.map +1 -1
- package/dist/entities/cookie/index.js +5 -1
- package/dist/entities/cookie/index.js.map +7 -0
- package/dist/entities/environment/environment.js +10 -9
- package/dist/entities/environment/environment.js.map +7 -0
- package/dist/entities/environment/index.d.ts +1 -1
- package/dist/entities/environment/index.d.ts.map +1 -1
- package/dist/entities/environment/index.js +5 -1
- package/dist/entities/environment/index.js.map +7 -0
- package/dist/entities/hotkeys/hotkeys.js +109 -116
- package/dist/entities/hotkeys/hotkeys.js.map +7 -0
- package/dist/entities/hotkeys/index.d.ts +1 -1
- package/dist/entities/hotkeys/index.d.ts.map +1 -1
- package/dist/entities/hotkeys/index.js +6 -1
- package/dist/entities/hotkeys/index.js.map +7 -0
- package/dist/entities/shared/index.d.ts +1 -1
- package/dist/entities/shared/index.d.ts.map +1 -1
- package/dist/entities/shared/index.js +7 -1
- package/dist/entities/shared/index.js.map +7 -0
- package/dist/entities/shared/utility.js +9 -12
- package/dist/entities/shared/utility.js.map +7 -0
- package/dist/entities/spec/collection.d.ts.map +1 -1
- package/dist/entities/spec/collection.js +91 -94
- package/dist/entities/spec/collection.js.map +7 -0
- package/dist/entities/spec/index.d.ts +8 -8
- package/dist/entities/spec/index.d.ts.map +1 -1
- package/dist/entities/spec/index.js +59 -9
- package/dist/entities/spec/index.js.map +7 -0
- package/dist/entities/spec/operation.d.ts +1 -1
- package/dist/entities/spec/operation.d.ts.map +1 -1
- package/dist/entities/spec/operation.js +5 -8
- package/dist/entities/spec/operation.js.map +7 -0
- package/dist/entities/spec/operation.test.js +43 -0
- package/dist/entities/spec/operation.test.js.map +7 -0
- package/dist/entities/spec/parameters.d.ts +1 -1
- package/dist/entities/spec/parameters.d.ts.map +1 -1
- package/dist/entities/spec/parameters.js +40 -38
- package/dist/entities/spec/parameters.js.map +7 -0
- package/dist/entities/spec/parameters.test.js +71 -0
- package/dist/entities/spec/parameters.test.js.map +7 -0
- package/dist/entities/spec/request-example.test.js +637 -0
- package/dist/entities/spec/request-example.test.js.map +7 -0
- package/dist/entities/spec/request-examples.d.ts +3 -3
- package/dist/entities/spec/request-examples.d.ts.map +1 -1
- package/dist/entities/spec/request-examples.js +323 -338
- package/dist/entities/spec/request-examples.js.map +7 -0
- package/dist/entities/spec/requests.d.ts +6 -8
- package/dist/entities/spec/requests.d.ts.map +1 -1
- package/dist/entities/spec/requests.js +80 -101
- package/dist/entities/spec/requests.js.map +7 -0
- package/dist/entities/spec/server.js +47 -63
- package/dist/entities/spec/server.js.map +7 -0
- package/dist/entities/spec/server.test.js +120 -0
- package/dist/entities/spec/server.test.js.map +7 -0
- package/dist/entities/spec/spec-objects.d.ts.map +1 -1
- package/dist/entities/spec/spec-objects.js +77 -121
- package/dist/entities/spec/spec-objects.js.map +7 -0
- package/dist/entities/spec/spec-objects.test.js +205 -0
- package/dist/entities/spec/spec-objects.test.js.map +7 -0
- package/dist/entities/spec/x-scalar-environments.js +21 -18
- package/dist/entities/spec/x-scalar-environments.js.map +7 -0
- package/dist/entities/spec/x-scalar-environments.test.js +11 -0
- package/dist/entities/spec/x-scalar-environments.test.js.map +7 -0
- package/dist/entities/spec/x-scalar-secrets.js +8 -6
- package/dist/entities/spec/x-scalar-secrets.js.map +7 -0
- package/dist/entities/spec/x-scalar-secrets.test.js +11 -0
- package/dist/entities/spec/x-scalar-secrets.test.js.map +7 -0
- package/dist/entities/workspace/index.d.ts +1 -1
- package/dist/entities/workspace/index.d.ts.map +1 -1
- package/dist/entities/workspace/index.js +7 -1
- package/dist/entities/workspace/index.js.map +7 -0
- package/dist/entities/workspace/workspace.js +46 -50
- package/dist/entities/workspace/workspace.js.map +7 -0
- package/dist/helpers/create-hash.js +15 -18
- package/dist/helpers/create-hash.js.map +7 -0
- package/dist/helpers/ensure-protocol.js +9 -10
- package/dist/helpers/ensure-protocol.js.map +7 -0
- package/dist/helpers/ensure-protocol.test.js +70 -0
- package/dist/helpers/ensure-protocol.test.js.map +7 -0
- package/dist/helpers/fetch-document.js +24 -32
- package/dist/helpers/fetch-document.js.map +7 -0
- package/dist/helpers/fetch-document.test.js +63 -0
- package/dist/helpers/fetch-document.test.js.map +7 -0
- package/dist/helpers/fetch-with-proxy-fallback.js +20 -28
- package/dist/helpers/fetch-with-proxy-fallback.js.map +7 -0
- package/dist/helpers/find-variables.d.ts +1 -1
- package/dist/helpers/find-variables.d.ts.map +1 -1
- package/dist/helpers/find-variables.js +6 -8
- package/dist/helpers/find-variables.js.map +7 -0
- package/dist/helpers/find-variables.test.js +20 -0
- package/dist/helpers/find-variables.test.js.map +7 -0
- package/dist/helpers/http-methods.d.ts +1 -1
- package/dist/helpers/http-methods.d.ts.map +1 -1
- package/dist/helpers/http-methods.js +60 -66
- package/dist/helpers/http-methods.js.map +7 -0
- package/dist/helpers/http-status-codes.js +319 -317
- package/dist/helpers/http-status-codes.js.map +7 -0
- package/dist/helpers/index.d.ts +27 -27
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +73 -27
- package/dist/helpers/index.js.map +7 -0
- package/dist/helpers/is-defined.js +5 -14
- package/dist/helpers/is-defined.js.map +7 -0
- package/dist/helpers/is-defined.test.js +37 -0
- package/dist/helpers/is-defined.test.js.map +7 -0
- package/dist/helpers/is-local-url.js +11 -16
- package/dist/helpers/is-local-url.js.map +7 -0
- package/dist/helpers/is-local-url.test.js +40 -0
- package/dist/helpers/is-local-url.test.js.map +7 -0
- package/dist/helpers/is-valid-url.js +9 -18
- package/dist/helpers/is-valid-url.js.map +7 -0
- package/dist/helpers/is-valid-url.test.js +17 -0
- package/dist/helpers/is-valid-url.test.js.map +7 -0
- package/dist/helpers/iterate-title.js +11 -15
- package/dist/helpers/iterate-title.js.map +7 -0
- package/dist/helpers/json2xml.js +40 -47
- package/dist/helpers/json2xml.js.map +7 -0
- package/dist/helpers/json2xml.test.js +19 -0
- package/dist/helpers/json2xml.test.js.map +7 -0
- package/dist/helpers/local-storage.js +13 -15
- package/dist/helpers/local-storage.js.map +7 -0
- package/dist/helpers/make-url-absolute.js +11 -17
- package/dist/helpers/make-url-absolute.js.map +7 -0
- package/dist/helpers/make-url-absolute.test.js +61 -0
- package/dist/helpers/make-url-absolute.test.js.map +7 -0
- package/dist/helpers/merge-urls.js +50 -75
- package/dist/helpers/merge-urls.js.map +7 -0
- package/dist/helpers/merge-urls.test.js +339 -0
- package/dist/helpers/merge-urls.test.js.map +7 -0
- package/dist/helpers/normalize-mime-type-object.js +21 -31
- package/dist/helpers/normalize-mime-type-object.js.map +7 -0
- package/dist/helpers/normalize-mime-type-object.test.js +53 -0
- package/dist/helpers/normalize-mime-type-object.test.js.map +7 -0
- package/dist/helpers/normalize-mime-type.js +8 -18
- package/dist/helpers/normalize-mime-type.js.map +7 -0
- package/dist/helpers/normalize-mime-type.test.js +33 -0
- package/dist/helpers/normalize-mime-type.test.js.map +7 -0
- package/dist/helpers/object.js +12 -18
- package/dist/helpers/object.js.map +7 -0
- package/dist/helpers/omit-undefined-values.js +17 -19
- package/dist/helpers/omit-undefined-values.js.map +7 -0
- package/dist/helpers/omit-undefined-values.test.js +89 -0
- package/dist/helpers/omit-undefined-values.test.js.map +7 -0
- package/dist/helpers/parse.js +71 -83
- package/dist/helpers/parse.js.map +7 -0
- package/dist/helpers/parse.test.js +45 -0
- package/dist/helpers/parse.test.js.map +7 -0
- package/dist/helpers/pretty-print-json.js +31 -35
- package/dist/helpers/pretty-print-json.js.map +7 -0
- package/dist/helpers/pretty-print-json.test.js +28 -0
- package/dist/helpers/pretty-print-json.test.js.map +7 -0
- package/dist/helpers/redirect-to-proxy.js +46 -83
- package/dist/helpers/redirect-to-proxy.js.map +7 -0
- package/dist/helpers/redirect-to-proxy.test.js +54 -0
- package/dist/helpers/redirect-to-proxy.test.js.map +7 -0
- package/dist/helpers/regex-helpers.js +11 -9
- package/dist/helpers/regex-helpers.js.map +7 -0
- package/dist/helpers/regex-helpers.test.js +154 -0
- package/dist/helpers/regex-helpers.test.js.map +7 -0
- package/dist/helpers/replace-variables.js +13 -16
- package/dist/helpers/replace-variables.js.map +7 -0
- package/dist/helpers/replace-variables.test.js +30 -0
- package/dist/helpers/replace-variables.test.js.map +7 -0
- package/dist/helpers/schema-model.js +15 -14
- package/dist/helpers/schema-model.js.map +7 -0
- package/dist/helpers/security/get-schemes.d.ts +1 -1
- package/dist/helpers/security/get-schemes.d.ts.map +1 -1
- package/dist/helpers/security/get-schemes.js +7 -9
- package/dist/helpers/security/get-schemes.js.map +7 -0
- package/dist/helpers/security/get-schemes.test.js +71 -0
- package/dist/helpers/security/get-schemes.test.js.map +7 -0
- package/dist/helpers/security/has-token.js +18 -19
- package/dist/helpers/security/has-token.js.map +7 -0
- package/dist/helpers/security/has-token.test.js +157 -0
- package/dist/helpers/security/has-token.test.js.map +7 -0
- package/dist/helpers/security/index.d.ts +2 -2
- package/dist/helpers/security/index.d.ts.map +1 -1
- package/dist/helpers/security/index.js +7 -2
- package/dist/helpers/security/index.js.map +7 -0
- package/dist/helpers/should-ignore-entity.d.ts +2 -2
- package/dist/helpers/should-ignore-entity.d.ts.map +1 -1
- package/dist/helpers/should-ignore-entity.js +5 -6
- package/dist/helpers/should-ignore-entity.js.map +7 -0
- package/dist/helpers/ssr-state.js +6 -6
- package/dist/helpers/ssr-state.js.map +7 -0
- package/dist/helpers/string.js +6 -18
- package/dist/helpers/string.js.map +7 -0
- package/dist/migrations/data-version.js +7 -17
- package/dist/migrations/data-version.js.map +7 -0
- package/dist/migrations/generate-types.js +56 -0
- package/dist/migrations/generate-types.js.map +7 -0
- package/dist/migrations/index.d.ts +3 -3
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +10 -3
- package/dist/migrations/index.js.map +7 -0
- package/dist/migrations/local-storage.d.ts +1 -1
- package/dist/migrations/local-storage.d.ts.map +1 -1
- package/dist/migrations/local-storage.js +27 -32
- package/dist/migrations/local-storage.js.map +7 -0
- package/dist/migrations/migrator.d.ts +1 -1
- package/dist/migrations/migrator.d.ts.map +1 -1
- package/dist/migrations/migrator.js +51 -58
- package/dist/migrations/migrator.js.map +7 -0
- package/dist/migrations/semver.js +23 -25
- package/dist/migrations/semver.js.map +7 -0
- package/dist/migrations/semver.test.js +21 -0
- package/dist/migrations/semver.test.js.map +7 -0
- package/dist/migrations/v-0.0.0/types.generated.js +1 -0
- package/dist/migrations/v-0.0.0/types.generated.js.map +7 -0
- package/dist/migrations/v-2.1.0/migration.d.ts +2 -2
- package/dist/migrations/v-2.1.0/migration.d.ts.map +1 -1
- package/dist/migrations/v-2.1.0/migration.js +256 -273
- package/dist/migrations/v-2.1.0/migration.js.map +7 -0
- package/dist/migrations/v-2.1.0/types.generated.js +1 -0
- package/dist/migrations/v-2.1.0/types.generated.js.map +7 -0
- package/dist/migrations/v-2.2.0/migration.d.ts +2 -2
- package/dist/migrations/v-2.2.0/migration.d.ts.map +1 -1
- package/dist/migrations/v-2.2.0/migration.js +95 -100
- package/dist/migrations/v-2.2.0/migration.js.map +7 -0
- package/dist/migrations/v-2.2.0/types.generated.js +1 -0
- package/dist/migrations/v-2.2.0/types.generated.js.map +7 -0
- package/dist/migrations/v-2.3.0/migration.d.ts +2 -2
- package/dist/migrations/v-2.3.0/migration.d.ts.map +1 -1
- package/dist/migrations/v-2.3.0/migration.js +47 -46
- package/dist/migrations/v-2.3.0/migration.js.map +7 -0
- package/dist/migrations/v-2.3.0/types.generated.js +1 -0
- package/dist/migrations/v-2.3.0/types.generated.js.map +7 -0
- package/dist/migrations/v-2.4.0/migration.d.ts +2 -2
- package/dist/migrations/v-2.4.0/migration.d.ts.map +1 -1
- package/dist/migrations/v-2.4.0/migration.js +24 -26
- package/dist/migrations/v-2.4.0/migration.js.map +7 -0
- package/dist/migrations/v-2.4.0/migration.test.js +90 -0
- package/dist/migrations/v-2.4.0/migration.test.js.map +7 -0
- package/dist/migrations/v-2.4.0/types.generated.js +1 -0
- package/dist/migrations/v-2.4.0/types.generated.js.map +7 -0
- package/dist/migrations/v-2.5.0/migration.d.ts +2 -2
- package/dist/migrations/v-2.5.0/migration.d.ts.map +1 -1
- package/dist/migrations/v-2.5.0/migration.js +135 -119
- package/dist/migrations/v-2.5.0/migration.js.map +7 -0
- package/dist/migrations/v-2.5.0/migration.test.js +108 -0
- package/dist/migrations/v-2.5.0/migration.test.js.map +7 -0
- package/dist/migrations/v-2.5.0/types.generated.d.ts +8 -8
- package/dist/migrations/v-2.5.0/types.generated.d.ts.map +1 -1
- package/dist/migrations/v-2.5.0/types.generated.js +1 -0
- package/dist/migrations/v-2.5.0/types.generated.js.map +7 -0
- package/dist/spec-getters/get-example-from-schema.js +206 -268
- package/dist/spec-getters/get-example-from-schema.js.map +7 -0
- package/dist/spec-getters/get-example-from-schema.test.js +1092 -0
- package/dist/spec-getters/get-example-from-schema.test.js.map +7 -0
- package/dist/spec-getters/get-parameters-from-operation.js +22 -42
- package/dist/spec-getters/get-parameters-from-operation.js.map +7 -0
- package/dist/spec-getters/get-parameters-from-operation.test.js +178 -0
- package/dist/spec-getters/get-parameters-from-operation.test.js.map +7 -0
- package/dist/spec-getters/get-request-body-from-operation.js +110 -162
- package/dist/spec-getters/get-request-body-from-operation.js.map +7 -0
- package/dist/spec-getters/get-request-body-from-operation.test.js +289 -0
- package/dist/spec-getters/get-request-body-from-operation.test.js.map +7 -0
- package/dist/spec-getters/get-server-variable-examples.d.ts +1 -1
- package/dist/spec-getters/get-server-variable-examples.d.ts.map +1 -1
- package/dist/spec-getters/get-server-variable-examples.js +12 -11
- package/dist/spec-getters/get-server-variable-examples.js.map +7 -0
- package/dist/spec-getters/index.d.ts +4 -4
- package/dist/spec-getters/index.d.ts.map +1 -1
- package/dist/spec-getters/index.js +11 -4
- package/dist/spec-getters/index.js.map +7 -0
- package/dist/transforms/import-spec.d.ts +6 -6
- package/dist/transforms/import-spec.d.ts.map +1 -1
- package/dist/transforms/import-spec.js +313 -425
- package/dist/transforms/import-spec.js.map +7 -0
- package/dist/transforms/import-spec.test.js +1124 -0
- package/dist/transforms/import-spec.test.js.map +7 -0
- package/dist/transforms/index.d.ts +1 -1
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/index.js +13 -1
- package/dist/transforms/index.js.map +7 -0
- package/package.json +10 -11
|
@@ -1,110 +1,105 @@
|
|
|
1
|
-
/** Migrate security scheme from v-2.1.0 to v-2.2.0 */
|
|
2
1
|
const migrateSecurityScheme = (scheme, auth) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
'scopes': flow.scopes,
|
|
30
|
-
'token': auth.token,
|
|
31
|
-
'x-scalar-client-id': _scheme['x-scalar-client-id'],
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
};
|
|
2
|
+
if (scheme.type === "apiKey" && auth.type === "apiKey") {
|
|
3
|
+
return {
|
|
4
|
+
...scheme,
|
|
5
|
+
value: auth.value
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
if (scheme.type === "http" && auth.type === "http") {
|
|
9
|
+
return {
|
|
10
|
+
...scheme,
|
|
11
|
+
username: auth.username,
|
|
12
|
+
password: auth.password,
|
|
13
|
+
token: auth.token
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
if (scheme.type === "oauth2") {
|
|
17
|
+
const { flow, ..._scheme } = scheme;
|
|
18
|
+
if (flow.type === "implicit" && auth.type === "oauth-implicit") {
|
|
19
|
+
return {
|
|
20
|
+
..._scheme,
|
|
21
|
+
flows: {
|
|
22
|
+
implicit: {
|
|
23
|
+
...flow,
|
|
24
|
+
"scopes": flow.scopes,
|
|
25
|
+
"token": auth.token,
|
|
26
|
+
"x-scalar-client-id": _scheme["x-scalar-client-id"]
|
|
27
|
+
}
|
|
35
28
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (flow.type === "password" && auth.type === "oauth-password") {
|
|
32
|
+
return {
|
|
33
|
+
..._scheme,
|
|
34
|
+
flows: {
|
|
35
|
+
password: {
|
|
36
|
+
...flow,
|
|
37
|
+
"username": auth.username,
|
|
38
|
+
"password": auth.password,
|
|
39
|
+
"token": auth.token,
|
|
40
|
+
"clientSecret": auth.clientSecret,
|
|
41
|
+
"scopes": flow.scopes,
|
|
42
|
+
"x-scalar-client-id": _scheme["x-scalar-client-id"]
|
|
43
|
+
}
|
|
52
44
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
};
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
if (flow.type === "clientCredentials" && auth.type === "oauth-clientCredentials") {
|
|
48
|
+
return {
|
|
49
|
+
..._scheme,
|
|
50
|
+
flows: {
|
|
51
|
+
clientCredentials: {
|
|
52
|
+
...flow,
|
|
53
|
+
"token": auth.token,
|
|
54
|
+
"clientSecret": auth.clientSecret,
|
|
55
|
+
"scopes": flow.scopes,
|
|
56
|
+
"x-scalar-client-id": _scheme["x-scalar-client-id"]
|
|
57
|
+
}
|
|
67
58
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
};
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (flow.type === "authorizationCode" && auth.type === "oauth-authorizationCode") {
|
|
62
|
+
return {
|
|
63
|
+
..._scheme,
|
|
64
|
+
flows: {
|
|
65
|
+
authorizationCode: {
|
|
66
|
+
...flow,
|
|
67
|
+
"token": auth.token,
|
|
68
|
+
"clientSecret": auth.clientSecret,
|
|
69
|
+
"scopes": flow.scopes,
|
|
70
|
+
"x-scalar-client-id": _scheme["x-scalar-client-id"]
|
|
71
|
+
}
|
|
82
72
|
}
|
|
73
|
+
};
|
|
83
74
|
}
|
|
84
|
-
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
85
77
|
};
|
|
86
|
-
/** V-2.1.0 to V-2.2.0 migration */
|
|
87
78
|
const migrate_v_2_2_0 = (data) => {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
const newScheme = migrateSecurityScheme(s, auth);
|
|
96
|
-
if (newScheme) {
|
|
97
|
-
prev[s.uid] = newScheme;
|
|
98
|
-
}
|
|
79
|
+
console.info("Performing data migration v-2.1.0 to v-2.2.0");
|
|
80
|
+
const securitySchemes = Object.values(data.securitySchemes).reduce(
|
|
81
|
+
(prev, s) => {
|
|
82
|
+
const collection = Object.values(data.collections).find((c) => c.securitySchemes.includes(s.uid));
|
|
83
|
+
const auth = collection?.auth?.[s.uid];
|
|
84
|
+
if (!auth) {
|
|
99
85
|
return prev;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
86
|
+
}
|
|
87
|
+
const newScheme = migrateSecurityScheme(s, auth);
|
|
88
|
+
if (newScheme) {
|
|
89
|
+
prev[s.uid] = newScheme;
|
|
90
|
+
}
|
|
91
|
+
return prev;
|
|
92
|
+
},
|
|
93
|
+
{}
|
|
94
|
+
);
|
|
95
|
+
const servers = data.servers;
|
|
96
|
+
return {
|
|
97
|
+
...data,
|
|
98
|
+
securitySchemes,
|
|
99
|
+
servers
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
export {
|
|
103
|
+
migrate_v_2_2_0
|
|
108
104
|
};
|
|
109
|
-
|
|
110
|
-
export { migrate_v_2_2_0 };
|
|
105
|
+
//# sourceMappingURL=migration.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/migrations/v-2.2.0/migration.ts"],
|
|
4
|
+
"sourcesContent": ["import type { v_2_1_0 } from '@/migrations/v-2.1.0/types.generated'\n\nimport type { v_2_2_0 } from './types.generated'\n\n/** Migrate security scheme from v-2.1.0 to v-2.2.0 */\nconst migrateSecurityScheme = (\n scheme: v_2_1_0.SecurityScheme,\n auth: v_2_1_0.Collection['auth'][string],\n): v_2_2_0.SecurityScheme | null => {\n // API Key\n if (scheme.type === 'apiKey' && auth.type === 'apiKey') {\n return {\n ...scheme,\n value: auth.value,\n }\n }\n\n // HTTP\n if (scheme.type === 'http' && auth.type === 'http') {\n return {\n ...scheme,\n username: auth.username,\n password: auth.password,\n token: auth.token,\n }\n }\n\n // OAuth2\n if (scheme.type === 'oauth2') {\n const { flow, ..._scheme } = scheme\n\n // Implicit\n if (flow.type === 'implicit' && auth.type === 'oauth-implicit') {\n return {\n ..._scheme,\n flows: {\n implicit: {\n ...flow,\n 'scopes': flow.scopes as Record<string, string>,\n 'token': auth.token,\n 'x-scalar-client-id': _scheme['x-scalar-client-id'],\n },\n },\n }\n }\n\n // Password\n if (flow.type === 'password' && auth.type === 'oauth-password') {\n return {\n ..._scheme,\n flows: {\n password: {\n ...flow,\n 'username': auth.username,\n 'password': auth.password,\n 'token': auth.token,\n 'clientSecret': auth.clientSecret,\n 'scopes': flow.scopes as Record<string, string>,\n 'x-scalar-client-id': _scheme['x-scalar-client-id'],\n },\n },\n } satisfies v_2_2_0.SecurityScheme\n }\n\n // Client Credentials\n if (flow.type === 'clientCredentials' && auth.type === 'oauth-clientCredentials') {\n return {\n ..._scheme,\n flows: {\n clientCredentials: {\n ...flow,\n 'token': auth.token,\n 'clientSecret': auth.clientSecret,\n 'scopes': flow.scopes as Record<string, string>,\n 'x-scalar-client-id': _scheme['x-scalar-client-id'],\n },\n },\n } satisfies v_2_2_0.SecurityScheme\n }\n\n // Authorization Code\n if (flow.type === 'authorizationCode' && auth.type === 'oauth-authorizationCode') {\n return {\n ..._scheme,\n flows: {\n authorizationCode: {\n ...flow,\n 'token': auth.token,\n 'clientSecret': auth.clientSecret,\n 'scopes': flow.scopes as Record<string, string>,\n 'x-scalar-client-id': _scheme['x-scalar-client-id'],\n },\n },\n } satisfies v_2_2_0.SecurityScheme\n }\n }\n\n return null\n}\n\n/** V-2.1.0 to V-2.2.0 migration */\nexport const migrate_v_2_2_0 = (data: v_2_1_0.DataRecord): v_2_2_0.DataRecord => {\n console.info('Performing data migration v-2.1.0 to v-2.2.0')\n\n const securitySchemes = Object.values(data.securitySchemes).reduce<v_2_2_0.DataRecord['securitySchemes']>(\n (prev, s) => {\n const collection = Object.values(data.collections).find((c) => c.securitySchemes.includes(s.uid))\n const auth = collection?.auth?.[s.uid]\n if (!auth) {\n return prev\n }\n\n const newScheme = migrateSecurityScheme(s, auth)\n if (newScheme) {\n prev[s.uid] = newScheme\n }\n\n return prev\n },\n {},\n )\n\n // No changes to servers\n const servers = data.servers as v_2_2_0.DataRecord['servers']\n\n return {\n ...data,\n securitySchemes,\n servers,\n } satisfies v_2_2_0.DataRecord\n}\n"],
|
|
5
|
+
"mappings": "AAKA,MAAM,wBAAwB,CAC5B,QACA,SACkC;AAElC,MAAI,OAAO,SAAS,YAAY,KAAK,SAAS,UAAU;AACtD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AAGA,MAAI,OAAO,SAAS,UAAU,KAAK,SAAS,QAAQ;AAClD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AAGA,MAAI,OAAO,SAAS,UAAU;AAC5B,UAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAG7B,QAAI,KAAK,SAAS,cAAc,KAAK,SAAS,kBAAkB;AAC9D,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,UACL,UAAU;AAAA,YACR,GAAG;AAAA,YACH,UAAU,KAAK;AAAA,YACf,SAAS,KAAK;AAAA,YACd,sBAAsB,QAAQ,oBAAoB;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,QAAI,KAAK,SAAS,cAAc,KAAK,SAAS,kBAAkB;AAC9D,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,UACL,UAAU;AAAA,YACR,GAAG;AAAA,YACH,YAAY,KAAK;AAAA,YACjB,YAAY,KAAK;AAAA,YACjB,SAAS,KAAK;AAAA,YACd,gBAAgB,KAAK;AAAA,YACrB,UAAU,KAAK;AAAA,YACf,sBAAsB,QAAQ,oBAAoB;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,QAAI,KAAK,SAAS,uBAAuB,KAAK,SAAS,2BAA2B;AAChF,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,UACL,mBAAmB;AAAA,YACjB,GAAG;AAAA,YACH,SAAS,KAAK;AAAA,YACd,gBAAgB,KAAK;AAAA,YACrB,UAAU,KAAK;AAAA,YACf,sBAAsB,QAAQ,oBAAoB;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,QAAI,KAAK,SAAS,uBAAuB,KAAK,SAAS,2BAA2B;AAChF,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,UACL,mBAAmB;AAAA,YACjB,GAAG;AAAA,YACH,SAAS,KAAK;AAAA,YACd,gBAAgB,KAAK;AAAA,YACrB,UAAU,KAAK;AAAA,YACf,sBAAsB,QAAQ,oBAAoB;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAGO,MAAM,kBAAkB,CAAC,SAAiD;AAC/E,UAAQ,KAAK,8CAA8C;AAE3D,QAAM,kBAAkB,OAAO,OAAO,KAAK,eAAe,EAAE;AAAA,IAC1D,CAAC,MAAM,MAAM;AACX,YAAM,aAAa,OAAO,OAAO,KAAK,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,SAAS,EAAE,GAAG,CAAC;AAChG,YAAM,OAAO,YAAY,OAAO,EAAE,GAAG;AACrC,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,YAAM,YAAY,sBAAsB,GAAG,IAAI;AAC/C,UAAI,WAAW;AACb,aAAK,EAAE,GAAG,IAAI;AAAA,MAChB;AAEA,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AAGA,QAAM,UAAU,KAAK;AAErB,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.generated.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { v_2_2_0 } from '../../migrations/v-2.2.0/types.generated.
|
|
2
|
-
import type { v_2_3_0 } from './types.generated.
|
|
1
|
+
import type { v_2_2_0 } from '../../migrations/v-2.2.0/types.generated.js';
|
|
2
|
+
import type { v_2_3_0 } from './types.generated.js';
|
|
3
3
|
/** V-2.2.0 to V-2.3.0 migration */
|
|
4
4
|
export declare const migrate_v_2_3_0: (data: v_2_2_0.DataRecord) => v_2_3_0.DataRecord;
|
|
5
5
|
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.3.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.3.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,mCAAmC;AACnC,eAAO,MAAM,eAAe,SAAU,OAAO,CAAC,UAAU,KAAG,OAAO,CAAC,UAqDlE,CAAA"}
|
|
@@ -1,50 +1,51 @@
|
|
|
1
|
-
/** V-2.2.0 to V-2.3.0 migration */
|
|
2
1
|
const migrate_v_2_3_0 = (data) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
prev[w.uid] = {
|
|
14
|
-
...w,
|
|
15
|
-
environments: workspaceEnvironments,
|
|
16
|
-
};
|
|
17
|
-
return prev;
|
|
18
|
-
}, {});
|
|
19
|
-
const collections = Object.values(data.collections).reduce((prev, c) => {
|
|
20
|
-
prev[c.uid] = {
|
|
21
|
-
...c,
|
|
22
|
-
'x-scalar-environments': c['x-scalar-environments'] || {},
|
|
23
|
-
};
|
|
24
|
-
return prev;
|
|
25
|
-
}, {});
|
|
26
|
-
Object.values(workspaces).forEach((workspace) => {
|
|
27
|
-
Object.entries(environments).forEach(([envKey, envData]) => {
|
|
28
|
-
if (envKey !== 'default') {
|
|
29
|
-
const parsedData = typeof envData.value === 'string' ? JSON.parse(envData.value) : envData.value;
|
|
30
|
-
const envName = envData.name;
|
|
31
|
-
Object.values(collections).forEach((collection) => {
|
|
32
|
-
collection['x-scalar-environments'] = collection['x-scalar-environments'] || {};
|
|
33
|
-
collection['x-scalar-environments'][envName] = {
|
|
34
|
-
variables: parsedData,
|
|
35
|
-
};
|
|
36
|
-
if (workspace.activeEnvironmentId === envKey) {
|
|
37
|
-
collection['x-scalar-active-environment'] = envName ?? '';
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
2
|
+
console.info("Performing data migration v-2.2.0 to v-2.3.0");
|
|
3
|
+
const environments = data.environments;
|
|
4
|
+
const workspaces = Object.values(data.workspaces).reduce((prev, w) => {
|
|
5
|
+
const workspaceEnvironments = {};
|
|
6
|
+
Object.entries(environments).forEach(([envId, envData]) => {
|
|
7
|
+
const parsedData = typeof envData.value === "string" ? JSON.parse(envData.value) : envData.value;
|
|
8
|
+
if (envId === "default") {
|
|
9
|
+
Object.assign(workspaceEnvironments, parsedData);
|
|
10
|
+
}
|
|
42
11
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
12
|
+
prev[w.uid] = {
|
|
13
|
+
...w,
|
|
14
|
+
environments: workspaceEnvironments
|
|
15
|
+
};
|
|
16
|
+
return prev;
|
|
17
|
+
}, {});
|
|
18
|
+
const collections = Object.values(data.collections).reduce((prev, c) => {
|
|
19
|
+
prev[c.uid] = {
|
|
20
|
+
...c,
|
|
21
|
+
"x-scalar-environments": c["x-scalar-environments"] || {}
|
|
47
22
|
};
|
|
23
|
+
return prev;
|
|
24
|
+
}, {});
|
|
25
|
+
Object.values(workspaces).forEach((workspace) => {
|
|
26
|
+
Object.entries(environments).forEach(([envKey, envData]) => {
|
|
27
|
+
if (envKey !== "default") {
|
|
28
|
+
const parsedData = typeof envData.value === "string" ? JSON.parse(envData.value) : envData.value;
|
|
29
|
+
const envName = envData.name;
|
|
30
|
+
Object.values(collections).forEach((collection) => {
|
|
31
|
+
collection["x-scalar-environments"] = collection["x-scalar-environments"] || {};
|
|
32
|
+
collection["x-scalar-environments"][envName] = {
|
|
33
|
+
variables: parsedData
|
|
34
|
+
};
|
|
35
|
+
if (workspace.activeEnvironmentId === envKey) {
|
|
36
|
+
collection["x-scalar-active-environment"] = envName ?? "";
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
...data,
|
|
44
|
+
collections,
|
|
45
|
+
workspaces
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export {
|
|
49
|
+
migrate_v_2_3_0
|
|
48
50
|
};
|
|
49
|
-
|
|
50
|
-
export { migrate_v_2_3_0 };
|
|
51
|
+
//# sourceMappingURL=migration.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/migrations/v-2.3.0/migration.ts"],
|
|
4
|
+
"sourcesContent": ["import type { v_2_2_0 } from '@/migrations/v-2.2.0/types.generated'\n\nimport type { v_2_3_0 } from './types.generated'\n\n/** V-2.2.0 to V-2.3.0 migration */\nexport const migrate_v_2_3_0 = (data: v_2_2_0.DataRecord): v_2_3_0.DataRecord => {\n console.info('Performing data migration v-2.2.0 to v-2.3.0')\n\n const environments = data.environments\n\n const workspaces = Object.values(data.workspaces).reduce<v_2_3_0.DataRecord['workspaces']>((prev, w) => {\n const workspaceEnvironments: Record<string, any> = {}\n\n Object.entries(environments).forEach(([envId, envData]) => {\n const parsedData = typeof envData.value === 'string' ? JSON.parse(envData.value) : envData.value\n if (envId === 'default') {\n Object.assign(workspaceEnvironments, parsedData)\n }\n })\n\n prev[w.uid] = {\n ...w,\n environments: workspaceEnvironments,\n }\n return prev\n }, {})\n\n const collections = Object.values(data.collections).reduce<v_2_3_0.DataRecord['collections']>((prev, c) => {\n prev[c.uid] = {\n ...c,\n 'x-scalar-environments': c['x-scalar-environments'] || {},\n }\n return prev\n }, {})\n\n Object.values(workspaces).forEach((workspace) => {\n Object.entries(environments).forEach(([envKey, envData]) => {\n if (envKey !== 'default') {\n const parsedData = typeof envData.value === 'string' ? JSON.parse(envData.value) : envData.value\n const envName = envData.name\n Object.values(collections).forEach((collection) => {\n collection['x-scalar-environments'] = collection['x-scalar-environments'] || {}\n collection['x-scalar-environments'][envName] = {\n variables: parsedData,\n }\n if (workspace.activeEnvironmentId === envKey) {\n collection['x-scalar-active-environment'] = envName ?? ''\n }\n })\n }\n })\n })\n\n return {\n ...data,\n collections,\n workspaces,\n } satisfies v_2_3_0.DataRecord\n}\n"],
|
|
5
|
+
"mappings": "AAKO,MAAM,kBAAkB,CAAC,SAAiD;AAC/E,UAAQ,KAAK,8CAA8C;AAE3D,QAAM,eAAe,KAAK;AAE1B,QAAM,aAAa,OAAO,OAAO,KAAK,UAAU,EAAE,OAAyC,CAAC,MAAM,MAAM;AACtG,UAAM,wBAA6C,CAAC;AAEpD,WAAO,QAAQ,YAAY,EAAE,QAAQ,CAAC,CAAC,OAAO,OAAO,MAAM;AACzD,YAAM,aAAa,OAAO,QAAQ,UAAU,WAAW,KAAK,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAC3F,UAAI,UAAU,WAAW;AACvB,eAAO,OAAO,uBAAuB,UAAU;AAAA,MACjD;AAAA,IACF,CAAC;AAED,SAAK,EAAE,GAAG,IAAI;AAAA,MACZ,GAAG;AAAA,MACH,cAAc;AAAA,IAChB;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,QAAM,cAAc,OAAO,OAAO,KAAK,WAAW,EAAE,OAA0C,CAAC,MAAM,MAAM;AACzG,SAAK,EAAE,GAAG,IAAI;AAAA,MACZ,GAAG;AAAA,MACH,yBAAyB,EAAE,uBAAuB,KAAK,CAAC;AAAA,IAC1D;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,SAAO,OAAO,UAAU,EAAE,QAAQ,CAAC,cAAc;AAC/C,WAAO,QAAQ,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,OAAO,MAAM;AAC1D,UAAI,WAAW,WAAW;AACxB,cAAM,aAAa,OAAO,QAAQ,UAAU,WAAW,KAAK,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAC3F,cAAM,UAAU,QAAQ;AACxB,eAAO,OAAO,WAAW,EAAE,QAAQ,CAAC,eAAe;AACjD,qBAAW,uBAAuB,IAAI,WAAW,uBAAuB,KAAK,CAAC;AAC9E,qBAAW,uBAAuB,EAAE,OAAO,IAAI;AAAA,YAC7C,WAAW;AAAA,UACb;AACA,cAAI,UAAU,wBAAwB,QAAQ;AAC5C,uBAAW,6BAA6B,IAAI,WAAW;AAAA,UACzD;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.generated.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { v_2_3_0 } from '../../migrations/v-2.3.0/types.generated.
|
|
2
|
-
import type { v_2_4_0 } from './types.generated.
|
|
1
|
+
import type { v_2_3_0 } from '../../migrations/v-2.3.0/types.generated.js';
|
|
2
|
+
import type { v_2_4_0 } from './types.generated.js';
|
|
3
3
|
/** V-2.3.0 to V-2.4.0 migration */
|
|
4
4
|
export declare const migrate_v_2_4_0: (data: v_2_3_0.DataRecord) => v_2_4_0.DataRecord;
|
|
5
5
|
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.4.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.4.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,mCAAmC;AACnC,eAAO,MAAM,eAAe,SAAU,OAAO,CAAC,UAAU,KAAG,OAAO,CAAC,UA6BlE,CAAA"}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
|
-
/** V-2.3.0 to V-2.4.0 migration */
|
|
2
1
|
const migrate_v_2_4_0 = (data) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
// Remove the selected server UID from the draft request
|
|
16
|
-
request.selectedServerUid = '';
|
|
17
|
-
}
|
|
18
|
-
});
|
|
2
|
+
console.info("Performing data migration v-2.3.0 to v-2.4.0");
|
|
3
|
+
const collections = Object.values(data.collections).reduce((prev, c) => {
|
|
4
|
+
if (c.info?.title === "Drafts") {
|
|
5
|
+
c.servers = [];
|
|
6
|
+
Object.values(data.requests).forEach((request) => {
|
|
7
|
+
if (request.selectedServerUid && c.requests.includes(request.uid)) {
|
|
8
|
+
const server = data.servers[request.selectedServerUid];
|
|
9
|
+
if (server) {
|
|
10
|
+
request.path = `${server.url}${request.path}`;
|
|
11
|
+
}
|
|
12
|
+
request.selectedServerUid = "";
|
|
19
13
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
prev[c.uid] = c;
|
|
17
|
+
return prev;
|
|
18
|
+
}, {});
|
|
19
|
+
return {
|
|
20
|
+
...data,
|
|
21
|
+
collections
|
|
22
|
+
};
|
|
27
23
|
};
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
export {
|
|
25
|
+
migrate_v_2_4_0
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=migration.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/migrations/v-2.4.0/migration.ts"],
|
|
4
|
+
"sourcesContent": ["import type { v_2_3_0 } from '@/migrations/v-2.3.0/types.generated'\n\nimport type { v_2_4_0 } from './types.generated'\n\n/** V-2.3.0 to V-2.4.0 migration */\nexport const migrate_v_2_4_0 = (data: v_2_3_0.DataRecord): v_2_4_0.DataRecord => {\n console.info('Performing data migration v-2.3.0 to v-2.4.0')\n\n const collections = Object.values(data.collections).reduce<v_2_4_0.DataRecord['collections']>((prev, c) => {\n if (c.info?.title === 'Drafts') {\n // Remove the servers from the draft collection\n c.servers = []\n\n Object.values(data.requests).forEach((request) => {\n if (request.selectedServerUid && c.requests.includes(request.uid)) {\n const server = data.servers[request.selectedServerUid]\n if (server) {\n // Update the request paths to include the server URL\n request.path = `${server.url}${request.path}`\n }\n // Remove the selected server UID from the draft request\n request.selectedServerUid = ''\n }\n })\n }\n\n prev[c.uid] = c\n return prev\n }, {})\n\n return {\n ...data,\n collections,\n } satisfies v_2_4_0.DataRecord\n}\n"],
|
|
5
|
+
"mappings": "AAKO,MAAM,kBAAkB,CAAC,SAAiD;AAC/E,UAAQ,KAAK,8CAA8C;AAE3D,QAAM,cAAc,OAAO,OAAO,KAAK,WAAW,EAAE,OAA0C,CAAC,MAAM,MAAM;AACzG,QAAI,EAAE,MAAM,UAAU,UAAU;AAE9B,QAAE,UAAU,CAAC;AAEb,aAAO,OAAO,KAAK,QAAQ,EAAE,QAAQ,CAAC,YAAY;AAChD,YAAI,QAAQ,qBAAqB,EAAE,SAAS,SAAS,QAAQ,GAAG,GAAG;AACjE,gBAAM,SAAS,KAAK,QAAQ,QAAQ,iBAAiB;AACrD,cAAI,QAAQ;AAEV,oBAAQ,OAAO,GAAG,OAAO,GAAG,GAAG,QAAQ,IAAI;AAAA,UAC7C;AAEA,kBAAQ,oBAAoB;AAAA,QAC9B;AAAA,MACF,CAAC;AAAA,IACH;AAEA,SAAK,EAAE,GAAG,IAAI;AACd,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { describe, expect, expectTypeOf, it } from "vitest";
|
|
2
|
+
import { migrate_v_2_4_0 } from "./migration.js";
|
|
3
|
+
describe("migrate_v_2_4_0", () => {
|
|
4
|
+
it("should migrate draft collection by removing servers and updating request paths", () => {
|
|
5
|
+
const mockServer = {
|
|
6
|
+
uid: "server1",
|
|
7
|
+
url: "https://api.example.com",
|
|
8
|
+
description: "Test server"
|
|
9
|
+
};
|
|
10
|
+
const mockRequest = {
|
|
11
|
+
uid: "request1",
|
|
12
|
+
type: "request",
|
|
13
|
+
path: "/users",
|
|
14
|
+
method: "get",
|
|
15
|
+
servers: ["server1"],
|
|
16
|
+
selectedServerUid: "server1",
|
|
17
|
+
examples: [],
|
|
18
|
+
selectedSecuritySchemeUids: []
|
|
19
|
+
};
|
|
20
|
+
const mockDraftCollection = {
|
|
21
|
+
"uid": "draft1",
|
|
22
|
+
"type": "collection",
|
|
23
|
+
"info": {
|
|
24
|
+
title: "Drafts",
|
|
25
|
+
version: "1.0.0"
|
|
26
|
+
},
|
|
27
|
+
"openapi": "3.0.0",
|
|
28
|
+
"security": [],
|
|
29
|
+
"servers": ["server1"],
|
|
30
|
+
"selectedServerUid": "",
|
|
31
|
+
"securitySchemes": [],
|
|
32
|
+
"selectedSecuritySchemeUids": [],
|
|
33
|
+
"requests": ["request1"],
|
|
34
|
+
"tags": [],
|
|
35
|
+
"children": [],
|
|
36
|
+
"watchMode": false,
|
|
37
|
+
"watchModeStatus": "IDLE",
|
|
38
|
+
"x-scalar-icon": "draft"
|
|
39
|
+
};
|
|
40
|
+
const mockData = {
|
|
41
|
+
collections: {
|
|
42
|
+
draft1: mockDraftCollection
|
|
43
|
+
},
|
|
44
|
+
servers: {
|
|
45
|
+
server1: mockServer
|
|
46
|
+
},
|
|
47
|
+
requests: {
|
|
48
|
+
request1: mockRequest
|
|
49
|
+
},
|
|
50
|
+
cookies: {},
|
|
51
|
+
environments: {},
|
|
52
|
+
requestExamples: {},
|
|
53
|
+
securitySchemes: {},
|
|
54
|
+
tags: {},
|
|
55
|
+
workspaces: {}
|
|
56
|
+
};
|
|
57
|
+
const result = migrate_v_2_4_0(mockData);
|
|
58
|
+
expectTypeOf(result).toMatchTypeOf();
|
|
59
|
+
expect(result.collections.draft1?.servers).toEqual([]);
|
|
60
|
+
expect(result.requests.request1?.path).toBe("https://api.example.com/users");
|
|
61
|
+
expect(result.requests.request1?.selectedServerUid).toBe("");
|
|
62
|
+
});
|
|
63
|
+
it("should preserve all other data properties", () => {
|
|
64
|
+
const mockData = {
|
|
65
|
+
collections: {},
|
|
66
|
+
cookies: {
|
|
67
|
+
cookie1: {
|
|
68
|
+
uid: "cookie1",
|
|
69
|
+
name: "test",
|
|
70
|
+
value: "value",
|
|
71
|
+
sameSite: "Lax"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
environments: {
|
|
75
|
+
env1: { uid: "env1", name: "test", color: "blue", value: "value" }
|
|
76
|
+
},
|
|
77
|
+
requestExamples: {},
|
|
78
|
+
requests: {},
|
|
79
|
+
securitySchemes: {},
|
|
80
|
+
servers: {},
|
|
81
|
+
tags: {},
|
|
82
|
+
workspaces: {}
|
|
83
|
+
};
|
|
84
|
+
const result = migrate_v_2_4_0(mockData);
|
|
85
|
+
expect(result.cookies).toEqual(mockData.cookies);
|
|
86
|
+
expect(result.environments).toEqual(mockData.environments);
|
|
87
|
+
expect(result.collections).toEqual(mockData.collections);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=migration.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/migrations/v-2.4.0/migration.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { describe, expect, expectTypeOf, it } from 'vitest'\n\nimport type { v_2_3_0 } from '../v-2.3.0/types.generated'\nimport { migrate_v_2_4_0 } from './migration'\nimport type { v_2_4_0 } from './types.generated'\n\ndescribe('migrate_v_2_4_0', () => {\n it('should migrate draft collection by removing servers and updating request paths', () => {\n // Setup test data\n const mockServer: v_2_3_0.Server = {\n uid: 'server1',\n url: 'https://api.example.com',\n description: 'Test server',\n }\n\n const mockRequest: v_2_3_0.Request = {\n uid: 'request1',\n type: 'request',\n path: '/users',\n method: 'get',\n servers: ['server1'],\n selectedServerUid: 'server1',\n examples: [],\n selectedSecuritySchemeUids: [],\n }\n\n const mockDraftCollection: v_2_3_0.Collection = {\n 'uid': 'draft1',\n 'type': 'collection',\n 'info': {\n title: 'Drafts',\n version: '1.0.0',\n },\n 'openapi': '3.0.0',\n 'security': [],\n 'servers': ['server1'],\n 'selectedServerUid': '',\n 'securitySchemes': [],\n 'selectedSecuritySchemeUids': [],\n 'requests': ['request1'],\n 'tags': [],\n 'children': [],\n 'watchMode': false,\n 'watchModeStatus': 'IDLE',\n 'x-scalar-icon': 'draft',\n }\n\n const mockData: v_2_3_0.DataRecord = {\n collections: {\n draft1: mockDraftCollection,\n },\n servers: {\n server1: mockServer,\n },\n requests: {\n request1: mockRequest,\n },\n cookies: {},\n environments: {},\n requestExamples: {},\n securitySchemes: {},\n tags: {},\n workspaces: {},\n }\n\n // Perform migration\n const result = migrate_v_2_4_0(mockData)\n\n // Assertions\n expectTypeOf(result).toMatchTypeOf<v_2_4_0.DataRecord>()\n expect(result.collections.draft1?.servers).toEqual([])\n expect(result.requests.request1?.path).toBe('https://api.example.com/users')\n expect(result.requests.request1?.selectedServerUid).toBe('')\n })\n\n it('should preserve all other data properties', () => {\n // Setup test data with all properties\n const mockData: v_2_3_0.DataRecord = {\n collections: {},\n cookies: {\n cookie1: {\n uid: 'cookie1',\n name: 'test',\n value: 'value',\n sameSite: 'Lax',\n },\n },\n environments: {\n env1: { uid: 'env1', name: 'test', color: 'blue', value: 'value' },\n },\n requestExamples: {},\n requests: {},\n securitySchemes: {},\n servers: {},\n tags: {},\n workspaces: {},\n }\n\n // Perform migration\n const result = migrate_v_2_4_0(mockData)\n\n // Assertions\n expect(result.cookies).toEqual(mockData.cookies)\n expect(result.environments).toEqual(mockData.environments)\n expect(result.collections).toEqual(mockData.collections)\n })\n})\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,UAAU,QAAQ,cAAc,UAAU;AAGnD,SAAS,uBAAuB;AAGhC,SAAS,mBAAmB,MAAM;AAChC,KAAG,kFAAkF,MAAM;AAEzF,UAAM,aAA6B;AAAA,MACjC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,aAAa;AAAA,IACf;AAEA,UAAM,cAA+B;AAAA,MACnC,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS,CAAC,SAAS;AAAA,MACnB,mBAAmB;AAAA,MACnB,UAAU,CAAC;AAAA,MACX,4BAA4B,CAAC;AAAA,IAC/B;AAEA,UAAM,sBAA0C;AAAA,MAC9C,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,WAAW,CAAC,SAAS;AAAA,MACrB,qBAAqB;AAAA,MACrB,mBAAmB,CAAC;AAAA,MACpB,8BAA8B,CAAC;AAAA,MAC/B,YAAY,CAAC,UAAU;AAAA,MACvB,QAAQ,CAAC;AAAA,MACT,YAAY,CAAC;AAAA,MACb,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,IACnB;AAEA,UAAM,WAA+B;AAAA,MACnC,aAAa;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,MACA,SAAS;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR,UAAU;AAAA,MACZ;AAAA,MACA,SAAS,CAAC;AAAA,MACV,cAAc,CAAC;AAAA,MACf,iBAAiB,CAAC;AAAA,MAClB,iBAAiB,CAAC;AAAA,MAClB,MAAM,CAAC;AAAA,MACP,YAAY,CAAC;AAAA,IACf;AAGA,UAAM,SAAS,gBAAgB,QAAQ;AAGvC,iBAAa,MAAM,EAAE,cAAkC;AACvD,WAAO,OAAO,YAAY,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,WAAO,OAAO,SAAS,UAAU,IAAI,EAAE,KAAK,+BAA+B;AAC3E,WAAO,OAAO,SAAS,UAAU,iBAAiB,EAAE,KAAK,EAAE;AAAA,EAC7D,CAAC;AAED,KAAG,6CAA6C,MAAM;AAEpD,UAAM,WAA+B;AAAA,MACnC,aAAa,CAAC;AAAA,MACd,SAAS;AAAA,QACP,SAAS;AAAA,UACP,KAAK;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,MAAM,EAAE,KAAK,QAAQ,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ;AAAA,MACnE;AAAA,MACA,iBAAiB,CAAC;AAAA,MAClB,UAAU,CAAC;AAAA,MACX,iBAAiB,CAAC;AAAA,MAClB,SAAS,CAAC;AAAA,MACV,MAAM,CAAC;AAAA,MACP,YAAY,CAAC;AAAA,IACf;AAGA,UAAM,SAAS,gBAAgB,QAAQ;AAGvC,WAAO,OAAO,OAAO,EAAE,QAAQ,SAAS,OAAO;AAC/C,WAAO,OAAO,YAAY,EAAE,QAAQ,SAAS,YAAY;AACzD,WAAO,OAAO,WAAW,EAAE,QAAQ,SAAS,WAAW;AAAA,EACzD,CAAC;AACH,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.generated.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { v_2_4_0 } from '../../migrations/v-2.4.0/types.generated.
|
|
2
|
-
import type { v_2_5_0 } from './types.generated.
|
|
1
|
+
import type { v_2_4_0 } from '../../migrations/v-2.4.0/types.generated.js';
|
|
2
|
+
import type { v_2_5_0 } from './types.generated.js';
|
|
3
3
|
/** V-2.4.0 to V-2.5.0 migration */
|
|
4
4
|
export declare const migrate_v_2_5_0: (data: v_2_4_0.DataRecord) => v_2_5_0["DataRecord"];
|
|
5
5
|
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.5.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.5.0/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,mCAAmC;AACnC,eAAO,MAAM,eAAe,SAAU,OAAO,CAAC,UAAU,KAAG,OAAO,CAAC,YAAY,CAkK9E,CAAA"}
|