@perses-dev/client 0.54.0-beta.3 → 0.54.0-beta.5

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.
Files changed (75) hide show
  1. package/dist/cjs/model/folder.js +16 -0
  2. package/dist/cjs/model/index.js +8 -2
  3. package/dist/cjs/model/role.js +60 -0
  4. package/dist/cjs/model/roleBindings.js +16 -0
  5. package/dist/cjs/model/secret.js +16 -0
  6. package/dist/cjs/model/user.js +16 -0
  7. package/dist/cjs/model/variable.js +34 -0
  8. package/dist/cjs/schema/index.js +4 -0
  9. package/dist/cjs/schema/role.js +86 -0
  10. package/dist/cjs/schema/rolebinding.js +65 -0
  11. package/dist/cjs/schema/secret.js +211 -0
  12. package/dist/cjs/schema/user.js +57 -0
  13. package/dist/model/ephemeralDashboard.d.ts +14 -0
  14. package/dist/model/ephemeralDashboard.d.ts.map +1 -0
  15. package/dist/model/ephemeralDashboard.js +15 -0
  16. package/dist/model/ephemeralDashboard.js.map +1 -0
  17. package/dist/model/folder.d.ts +19 -0
  18. package/dist/model/folder.d.ts.map +1 -0
  19. package/dist/model/{http-proxy.js → folder.js} +1 -1
  20. package/dist/model/folder.js.map +1 -0
  21. package/dist/model/http.d.ts +1 -1
  22. package/dist/model/http.d.ts.map +1 -1
  23. package/dist/model/http.js.map +1 -1
  24. package/dist/model/index.d.ts +8 -2
  25. package/dist/model/index.d.ts.map +1 -1
  26. package/dist/model/index.js +8 -2
  27. package/dist/model/index.js.map +1 -1
  28. package/dist/model/resource.d.ts +9 -0
  29. package/dist/model/resource.d.ts.map +1 -1
  30. package/dist/model/resource.js.map +1 -1
  31. package/dist/model/role.d.ts +31 -0
  32. package/dist/model/role.d.ts.map +1 -0
  33. package/dist/model/role.js +41 -0
  34. package/dist/model/role.js.map +1 -0
  35. package/dist/model/roleBindings.d.ts +27 -0
  36. package/dist/model/roleBindings.d.ts.map +1 -0
  37. package/dist/model/roleBindings.js +15 -0
  38. package/dist/model/roleBindings.js.map +1 -0
  39. package/dist/model/secret.d.ts +54 -0
  40. package/dist/model/secret.d.ts.map +1 -0
  41. package/dist/model/secret.js +15 -0
  42. package/dist/model/secret.js.map +1 -0
  43. package/dist/model/user.d.ts +21 -0
  44. package/dist/model/user.d.ts.map +1 -0
  45. package/dist/model/user.js +15 -0
  46. package/dist/model/user.js.map +1 -0
  47. package/dist/model/variable.d.ts +58 -0
  48. package/dist/model/variable.d.ts.map +1 -0
  49. package/dist/model/variable.js +18 -0
  50. package/dist/model/variable.js.map +1 -0
  51. package/dist/schema/index.d.ts +4 -0
  52. package/dist/schema/index.d.ts.map +1 -1
  53. package/dist/schema/index.js +4 -0
  54. package/dist/schema/index.js.map +1 -1
  55. package/dist/schema/role.d.ts +58 -0
  56. package/dist/schema/role.d.ts.map +1 -0
  57. package/dist/schema/role.js +61 -0
  58. package/dist/schema/role.js.map +1 -0
  59. package/dist/schema/rolebinding.d.ts +58 -0
  60. package/dist/schema/rolebinding.d.ts.map +1 -0
  61. package/dist/schema/rolebinding.js +40 -0
  62. package/dist/schema/rolebinding.js.map +1 -0
  63. package/dist/schema/secret.d.ts +1597 -0
  64. package/dist/schema/secret.d.ts.map +1 -0
  65. package/dist/schema/secret.js +189 -0
  66. package/dist/schema/secret.js.map +1 -0
  67. package/dist/schema/user.d.ts +8 -0
  68. package/dist/schema/user.d.ts.map +1 -0
  69. package/dist/schema/user.js +36 -0
  70. package/dist/schema/user.js.map +1 -0
  71. package/package.json +2 -2
  72. package/dist/model/http-proxy.d.ts +0 -16
  73. package/dist/model/http-proxy.d.ts.map +0 -1
  74. package/dist/model/http-proxy.js.map +0 -1
  75. /package/dist/cjs/model/{http-proxy.js → ephemeralDashboard.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../src/schema/secret.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJzB,CAAC;AAEL,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAmE,CAAC;AAEpG,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,189 @@
1
+ // Copyright The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ import { z } from 'zod';
14
+ import { metadataSchema, projectMetadataSchema } from './metadata';
15
+ export const secretSpecSchema = z.object({
16
+ basicAuth: z.object({
17
+ username: z.string().min(1),
18
+ password: z.string().optional(),
19
+ passwordFile: z.string().optional()
20
+ }).superRefine((val, ctx)=>{
21
+ if (val.password && val.password.length > 0 && val.passwordFile && val.passwordFile.length > 0) {
22
+ ctx.addIssue({
23
+ code: z.ZodIssueCode.custom,
24
+ message: 'Only one of the fields must be defined',
25
+ path: [
26
+ 'password'
27
+ ]
28
+ });
29
+ ctx.addIssue({
30
+ code: z.ZodIssueCode.custom,
31
+ message: 'Only one of the fields must be defined',
32
+ path: [
33
+ 'passwordFile'
34
+ ]
35
+ });
36
+ }
37
+ }).optional(),
38
+ authorization: z.object({
39
+ type: z.string().optional(),
40
+ credentials: z.string().optional(),
41
+ credentialsFile: z.string().optional()
42
+ }).superRefine((val, ctx)=>{
43
+ if (val.credentials && val.credentials.length > 0 && val.credentialsFile && val.credentialsFile.length > 0) {
44
+ ctx.addIssue({
45
+ code: z.ZodIssueCode.custom,
46
+ message: 'Only one of the fields must be defined',
47
+ path: [
48
+ 'credentials'
49
+ ]
50
+ });
51
+ ctx.addIssue({
52
+ code: z.ZodIssueCode.custom,
53
+ message: 'Only one of the fields must be defined',
54
+ path: [
55
+ 'credentialsFile'
56
+ ]
57
+ });
58
+ }
59
+ }).optional(),
60
+ oauth: z.object({
61
+ clientID: z.string().min(1),
62
+ clientSecret: z.string().optional(),
63
+ clientSecretFile: z.string().optional(),
64
+ tokenURL: z.string().min(1),
65
+ scopes: z.array(z.string().nonempty()).default([]),
66
+ endpointParams: z.record(z.string().nonempty(), z.array(z.string())).default({}).optional(),
67
+ authStyle: z.union([
68
+ z.literal(0),
69
+ z.literal(1),
70
+ z.literal(2)
71
+ ]).optional()
72
+ }).superRefine((val, ctx)=>{
73
+ if (val.clientSecret && val.clientSecret.length > 0 && val.clientSecretFile && val.clientSecretFile.length > 0) {
74
+ ctx.addIssue({
75
+ code: z.ZodIssueCode.custom,
76
+ message: 'Only one of the fields must be defined',
77
+ path: [
78
+ 'clientSecret'
79
+ ]
80
+ });
81
+ ctx.addIssue({
82
+ code: z.ZodIssueCode.custom,
83
+ message: 'Only one of the fields must be defined',
84
+ path: [
85
+ 'clientSecretFile'
86
+ ]
87
+ });
88
+ }
89
+ }).optional(),
90
+ tlsConfig: z.object({
91
+ ca: z.string().optional(),
92
+ cert: z.string().optional(),
93
+ key: z.string().optional(),
94
+ caFile: z.string().optional(),
95
+ certFile: z.string().optional(),
96
+ keyFile: z.string().optional(),
97
+ serverName: z.string().optional(),
98
+ insecureSkipVerify: z.boolean().optional()
99
+ }).superRefine((val, ctx)=>{
100
+ if (val.ca && val.ca.length > 0 && val.caFile && val.caFile.length > 0) {
101
+ ctx.addIssue({
102
+ code: z.ZodIssueCode.custom,
103
+ message: 'Only one of the fields must be defined',
104
+ path: [
105
+ 'ca'
106
+ ]
107
+ });
108
+ ctx.addIssue({
109
+ code: z.ZodIssueCode.custom,
110
+ message: 'Only one of the fields must be defined',
111
+ path: [
112
+ 'caFile'
113
+ ]
114
+ });
115
+ }
116
+ if (val.cert && val.cert.length > 0 && val.certFile && val.certFile.length > 0) {
117
+ ctx.addIssue({
118
+ code: z.ZodIssueCode.custom,
119
+ message: 'Only one of the fields must be defined',
120
+ path: [
121
+ 'cert'
122
+ ]
123
+ });
124
+ ctx.addIssue({
125
+ code: z.ZodIssueCode.custom,
126
+ message: 'Only one of the fields must be defined',
127
+ path: [
128
+ 'certFile'
129
+ ]
130
+ });
131
+ }
132
+ if (val.key && val.key.length > 0 && val.keyFile && val.keyFile.length > 0) {
133
+ ctx.addIssue({
134
+ code: z.ZodIssueCode.custom,
135
+ message: 'Only one of the fields must be defined',
136
+ path: [
137
+ 'key'
138
+ ]
139
+ });
140
+ ctx.addIssue({
141
+ code: z.ZodIssueCode.custom,
142
+ message: 'Only one of the fields must be defined',
143
+ path: [
144
+ 'keyFile'
145
+ ]
146
+ });
147
+ }
148
+ }).optional()
149
+ }).superRefine((val, ctx)=>{
150
+ if (val.basicAuth && val.authorization && val.oauth) {
151
+ ctx.addIssue({
152
+ code: z.ZodIssueCode.custom,
153
+ message: 'Only one of the fields must be defined',
154
+ path: [
155
+ 'basicAuth'
156
+ ]
157
+ });
158
+ ctx.addIssue({
159
+ code: z.ZodIssueCode.custom,
160
+ message: 'Only one of the fields must be defined',
161
+ path: [
162
+ 'authorization'
163
+ ]
164
+ });
165
+ ctx.addIssue({
166
+ code: z.ZodIssueCode.custom,
167
+ message: 'Only one of the fields must be defined',
168
+ path: [
169
+ 'oauth'
170
+ ]
171
+ });
172
+ }
173
+ });
174
+ export const secretSchema = z.object({
175
+ kind: z.literal('Secret'),
176
+ metadata: projectMetadataSchema,
177
+ spec: secretSpecSchema
178
+ });
179
+ export const globalSecretSchema = z.object({
180
+ kind: z.literal('GlobalSecret'),
181
+ metadata: metadataSchema,
182
+ spec: secretSpecSchema
183
+ });
184
+ export const secretsEditorSchema = z.discriminatedUnion('kind', [
185
+ secretSchema,
186
+ globalSecretSchema
187
+ ]);
188
+
189
+ //# sourceMappingURL=secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schema/secret.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { z } from 'zod';\nimport { metadataSchema, projectMetadataSchema } from './metadata';\n\nexport const secretSpecSchema = z\n .object({\n basicAuth: z\n .object({\n username: z.string().min(1),\n password: z.string().optional(),\n passwordFile: z.string().optional(),\n })\n .superRefine((val, ctx) => {\n if (val.password && val.password.length > 0 && val.passwordFile && val.passwordFile.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['password'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['passwordFile'],\n });\n }\n })\n .optional(),\n authorization: z\n .object({\n type: z.string().optional(),\n credentials: z.string().optional(),\n credentialsFile: z.string().optional(),\n })\n .superRefine((val, ctx) => {\n if (val.credentials && val.credentials.length > 0 && val.credentialsFile && val.credentialsFile.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['credentials'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['credentialsFile'],\n });\n }\n })\n .optional(),\n oauth: z\n .object({\n clientID: z.string().min(1),\n clientSecret: z.string().optional(),\n clientSecretFile: z.string().optional(),\n tokenURL: z.string().min(1),\n scopes: z.array(z.string().nonempty()).default([]),\n endpointParams: z.record(z.string().nonempty(), z.array(z.string())).default({}).optional(),\n authStyle: z.union([z.literal(0), z.literal(1), z.literal(2)]).optional(),\n })\n .superRefine((val, ctx) => {\n if (\n val.clientSecret &&\n val.clientSecret.length > 0 &&\n val.clientSecretFile &&\n val.clientSecretFile.length > 0\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['clientSecret'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['clientSecretFile'],\n });\n }\n })\n .optional(),\n tlsConfig: z\n .object({\n ca: z.string().optional(),\n cert: z.string().optional(),\n key: z.string().optional(),\n caFile: z.string().optional(),\n certFile: z.string().optional(),\n keyFile: z.string().optional(),\n serverName: z.string().optional(),\n insecureSkipVerify: z.boolean().optional(),\n })\n .superRefine((val, ctx) => {\n if (val.ca && val.ca.length > 0 && val.caFile && val.caFile.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['ca'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['caFile'],\n });\n }\n\n if (val.cert && val.cert.length > 0 && val.certFile && val.certFile.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['cert'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['certFile'],\n });\n }\n\n if (val.key && val.key.length > 0 && val.keyFile && val.keyFile.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['key'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['keyFile'],\n });\n }\n })\n .optional(),\n })\n .superRefine((val, ctx) => {\n if (val.basicAuth && val.authorization && val.oauth) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['basicAuth'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['authorization'],\n });\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Only one of the fields must be defined',\n path: ['oauth'],\n });\n }\n });\n\nexport const secretSchema = z.object({\n kind: z.literal('Secret'),\n metadata: projectMetadataSchema,\n spec: secretSpecSchema,\n});\n\nexport const globalSecretSchema = z.object({\n kind: z.literal('GlobalSecret'),\n metadata: metadataSchema,\n spec: secretSpecSchema,\n});\n\nexport const secretsEditorSchema = z.discriminatedUnion('kind', [secretSchema, globalSecretSchema]);\n\nexport type SecretsEditorSchemaType = z.infer<typeof secretsEditorSchema>;\n"],"names":["z","metadataSchema","projectMetadataSchema","secretSpecSchema","object","basicAuth","username","string","min","password","optional","passwordFile","superRefine","val","ctx","length","addIssue","code","ZodIssueCode","custom","message","path","authorization","type","credentials","credentialsFile","oauth","clientID","clientSecret","clientSecretFile","tokenURL","scopes","array","nonempty","default","endpointParams","record","authStyle","union","literal","tlsConfig","ca","cert","key","caFile","certFile","keyFile","serverName","insecureSkipVerify","boolean","secretSchema","kind","metadata","spec","globalSecretSchema","secretsEditorSchema","discriminatedUnion"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import { NativeProvider, OAuthProvider, UserResource, UserSpec } from '../model';
3
+ export declare const nativeProviderSchema: z.Schema<NativeProvider>;
4
+ export declare const oauthProvidersSchema: z.ZodSchema<OAuthProvider>;
5
+ export declare const userSpecSchema: z.ZodSchema<UserSpec>;
6
+ export declare const userSchema: z.ZodSchema<UserResource>;
7
+ export type UserEditorSchemaType = z.infer<typeof userSchema>;
8
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/schema/user.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGjF,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAExD,CAAC;AAEH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAI1D,CAAC;AAGH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAK/C,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAI/C,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ // Copyright The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ import { z } from 'zod';
14
+ import { metadataSchema } from './metadata';
15
+ export const nativeProviderSchema = z.object({
16
+ password: z.string().optional()
17
+ });
18
+ export const oauthProvidersSchema = z.object({
19
+ issuer: z.string().optional(),
20
+ email: z.string().optional(),
21
+ subject: z.string().optional()
22
+ });
23
+ // TODO: handle exclusion native / oauth?
24
+ export const userSpecSchema = z.object({
25
+ firstName: z.string().optional(),
26
+ lastName: z.string().optional(),
27
+ nativeProvider: nativeProviderSchema.optional(),
28
+ oauthProviders: z.array(oauthProvidersSchema).optional()
29
+ });
30
+ export const userSchema = z.object({
31
+ kind: z.literal('User'),
32
+ metadata: metadataSchema,
33
+ spec: userSpecSchema
34
+ });
35
+
36
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schema/user.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { z } from 'zod';\nimport { NativeProvider, OAuthProvider, UserResource, UserSpec } from '../model';\nimport { metadataSchema } from './metadata';\n\nexport const nativeProviderSchema: z.Schema<NativeProvider> = z.object({\n password: z.string().optional(),\n});\n\nexport const oauthProvidersSchema: z.ZodSchema<OAuthProvider> = z.object({\n issuer: z.string().optional(),\n email: z.string().optional(),\n subject: z.string().optional(),\n});\n\n// TODO: handle exclusion native / oauth?\nexport const userSpecSchema: z.ZodSchema<UserSpec> = z.object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n nativeProvider: nativeProviderSchema.optional(),\n oauthProviders: z.array(oauthProvidersSchema).optional(),\n});\n\nexport const userSchema: z.ZodSchema<UserResource> = z.object({\n kind: z.literal('User'),\n metadata: metadataSchema,\n spec: userSpecSchema,\n});\n\nexport type UserEditorSchemaType = z.infer<typeof userSchema>;\n"],"names":["z","metadataSchema","nativeProviderSchema","object","password","string","optional","oauthProvidersSchema","issuer","email","subject","userSpecSchema","firstName","lastName","nativeProvider","oauthProviders","array","userSchema","kind","literal","metadata","spec"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,CAAC,QAAQ,MAAM;AAExB,SAASC,cAAc,QAAQ,aAAa;AAE5C,OAAO,MAAMC,uBAAiDF,EAAEG,MAAM,CAAC;IACrEC,UAAUJ,EAAEK,MAAM,GAAGC,QAAQ;AAC/B,GAAG;AAEH,OAAO,MAAMC,uBAAmDP,EAAEG,MAAM,CAAC;IACvEK,QAAQR,EAAEK,MAAM,GAAGC,QAAQ;IAC3BG,OAAOT,EAAEK,MAAM,GAAGC,QAAQ;IAC1BI,SAASV,EAAEK,MAAM,GAAGC,QAAQ;AAC9B,GAAG;AAEH,yCAAyC;AACzC,OAAO,MAAMK,iBAAwCX,EAAEG,MAAM,CAAC;IAC5DS,WAAWZ,EAAEK,MAAM,GAAGC,QAAQ;IAC9BO,UAAUb,EAAEK,MAAM,GAAGC,QAAQ;IAC7BQ,gBAAgBZ,qBAAqBI,QAAQ;IAC7CS,gBAAgBf,EAAEgB,KAAK,CAACT,sBAAsBD,QAAQ;AACxD,GAAG;AAEH,OAAO,MAAMW,aAAwCjB,EAAEG,MAAM,CAAC;IAC5De,MAAMlB,EAAEmB,OAAO,CAAC;IAChBC,UAAUnB;IACVoB,MAAMV;AACR,GAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perses-dev/client",
3
- "version": "0.54.0-beta.3",
3
+ "version": "0.54.0-beta.5",
4
4
  "description": "Functions as an API client or Data fetching Layer for interacting with a backend service",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/perses/perses/blob/main/README.md",
@@ -15,7 +15,7 @@
15
15
  "main": "dist/cjs/index.js",
16
16
  "types": "dist/index.d.ts",
17
17
  "dependencies": {
18
- "@perses-dev/spec": "0.2.0-beta.0",
18
+ "@perses-dev/spec": "0.2.0-beta.2",
19
19
  "zod": "^3.21.4"
20
20
  },
21
21
  "scripts": {
@@ -1,16 +0,0 @@
1
- import { RequestHeaders } from './http';
2
- export interface HTTPProxy {
3
- kind: 'HTTPProxy';
4
- spec: HTTPProxySpec;
5
- }
6
- export interface HTTPProxySpec {
7
- url: string;
8
- allowedEndpoints?: HTTPAllowedEndpoint[];
9
- headers?: RequestHeaders;
10
- secret?: string;
11
- }
12
- export interface HTTPAllowedEndpoint {
13
- endpointPattern: string;
14
- method: string;
15
- }
16
- //# sourceMappingURL=http-proxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-proxy.d.ts","sourceRoot":"","sources":["../../src/model/http-proxy.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;CACrB;AACD,MAAM,WAAW,aAAa;IAG5B,GAAG,EAAE,MAAM,CAAC;IAGZ,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEzC,OAAO,CAAC,EAAE,cAAc,CAAC;IAGzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/model/http-proxy.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { RequestHeaders } from './http';\n\nexport interface HTTPProxy {\n kind: 'HTTPProxy';\n spec: HTTPProxySpec;\n}\nexport interface HTTPProxySpec {\n // url is the url of the datasource. It is not the url of the proxy.\n // The Perses server is the proxy, so it needs to know where to redirect the request.\n url: string;\n // allowedEndpoints is a list of tuples of http methods and http endpoints that will be accessible.\n // Leave it empty if you don't want to restrict the access to the datasource.\n allowedEndpoints?: HTTPAllowedEndpoint[];\n // headers can be used to provide additional headers that need to be forwarded when requesting the datasource\n headers?: RequestHeaders;\n // secret is the name of the secret that should be used for the proxy or discovery configuration\n // It will contain any sensitive information such as password, token, certificate.\n secret?: string;\n}\n\nexport interface HTTPAllowedEndpoint {\n endpointPattern: string;\n method: string;\n}\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAsBjC,WAGC"}