@leaflow/sdk 0.0.0-dev.478.g138087b → 0.0.0-dev.482.g339e5e7
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/billing/v1/generated/functions.d.ts +1 -1
- package/dist/billing/v1/generated/functions.js +1 -1
- package/dist/billing/v1/generated/models.d.ts +15 -6
- package/dist/billing/v1/generated/models.js +5 -5
- package/dist/billing/v1/generated/schemas.zod.d.ts +7 -1
- package/dist/billing/v1/generated/schemas.zod.js +9 -1
- package/dist/billing/v1/generated/validators/billingAccount.zod.js +2 -1
- package/dist/billing/v1/generated/validators/billingAccountStatus.zod.d.ts +15 -0
- package/dist/billing/v1/generated/validators/billingAccountStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/listBillingAccountsParams.zod.d.ts +6 -0
- package/dist/billing/v1/generated/validators/listBillingAccountsParams.zod.js +3 -0
- package/dist/iam/v1/generated/functions.d.ts +46 -103
- package/dist/iam/v1/generated/functions.js +29 -114
- package/dist/iam/v1/generated/models.d.ts +53 -118
- package/dist/iam/v1/generated/models.js +2 -6
- package/dist/iam/v1/generated/schemas.zod.d.ts +31 -62
- package/dist/iam/v1/generated/schemas.zod.js +35 -53
- package/dist/iam/v1/generated/validators/{updatePolicyRequestBody.zod.d.ts → createMemberPermissionRequestBody.zod.d.ts} +9 -11
- package/dist/iam/v1/generated/validators/createMemberPermissionRequestBody.zod.js +36 -0
- package/dist/iam/v1/generated/validators/grantResource.zod.js +1 -1
- package/dist/iam/v1/generated/validators/lengthAwarePageMemberResource.zod.d.ts +12 -0
- package/dist/iam/v1/generated/validators/{listProjectInvitationsParams.zod.d.ts → listInvitationsParams.zod.d.ts} +8 -8
- package/dist/iam/v1/generated/validators/{listProjectInvitationsParams.zod.js → listInvitationsParams.zod.js} +11 -11
- package/dist/iam/v1/generated/validators/{policyListResponseBody.zod.d.ts → memberPermissionListResponseBody.zod.d.ts} +8 -14
- package/dist/iam/v1/generated/validators/{catalogListResponseBody.zod.js → memberPermissionListResponseBody.zod.js} +3 -3
- package/dist/iam/v1/generated/validators/{policyResource.zod.d.ts → memberPermissionResource.zod.d.ts} +11 -14
- package/dist/iam/v1/generated/validators/memberPermissionResource.zod.js +38 -0
- package/dist/iam/v1/generated/validators/memberResource.zod.d.ts +12 -0
- package/dist/iam/v1/generated/validators/memberResource.zod.js +5 -0
- package/dist/iam/v1/generated/validators/ownershipTransferResponseBody.zod.d.ts +24 -0
- package/dist/iam/v1/generated/validators/{catalogResource.zod.d.ts → permissionListResponseBody.zod.d.ts} +4 -8
- package/dist/iam/v1/generated/validators/{policyListResponseBody.zod.js → permissionListResponseBody.zod.js} +3 -3
- package/dist/routes.d.ts +7 -31
- package/dist/routes.js +7 -34
- package/package.json +1 -1
- package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.d.ts +0 -33
- package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.js +0 -43
- package/dist/iam/v1/generated/validators/catalogListResponseBody.zod.d.ts +0 -30
- package/dist/iam/v1/generated/validators/catalogResource.zod.js +0 -25
- package/dist/iam/v1/generated/validators/listPoliciesParams.zod.d.ts +0 -21
- package/dist/iam/v1/generated/validators/listPoliciesParams.zod.js +0 -23
- package/dist/iam/v1/generated/validators/policyResource.zod.js +0 -33
- package/dist/iam/v1/generated/validators/resourceTypeResource.zod.d.ts +0 -20
- package/dist/iam/v1/generated/validators/resourceTypeResource.zod.js +0 -20
- package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.d.ts +0 -20
- package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.js +0 -21
- package/dist/iam/v1/generated/validators/updatePolicyRequestBody.zod.js +0 -39
|
@@ -13,19 +13,17 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
import { AttachPolicyRequestBody } from "./validators/attachPolicyRequestBody.zod.js";
|
|
17
16
|
import { BatchGetMembersRequestBody } from "./validators/batchGetMembersRequestBody.zod.js";
|
|
18
17
|
import { CreateApplicationRequestBody } from "./validators/createApplicationRequestBody.zod.js";
|
|
18
|
+
import { CreateMemberPermissionRequestBody } from "./validators/createMemberPermissionRequestBody.zod.js";
|
|
19
19
|
import { CreateRoleRequestBody } from "./validators/createRoleRequestBody.zod.js";
|
|
20
20
|
import { CreateSSHKeyRequestBody } from "./validators/createSSHKeyRequestBody.zod.js";
|
|
21
21
|
import { IssueInvitationRequestBody } from "./validators/issueInvitationRequestBody.zod.js";
|
|
22
22
|
import { RenameSSHKeyRequestBody } from "./validators/renameSSHKeyRequestBody.zod.js";
|
|
23
|
-
import { SetMemberPermissionsRequestBody } from "./validators/setMemberPermissionsRequestBody.zod.js";
|
|
24
23
|
import { SetMemberRolesRequestBody } from "./validators/setMemberRolesRequestBody.zod.js";
|
|
25
24
|
import { SetProjectSlugRequestBody } from "./validators/setProjectSlugRequestBody.zod.js";
|
|
26
25
|
import { TransferOwnershipRequestBody } from "./validators/transferOwnershipRequestBody.zod.js";
|
|
27
26
|
import { UpdateApplicationRequestBody } from "./validators/updateApplicationRequestBody.zod.js";
|
|
28
|
-
import { UpdatePolicyRequestBody } from "./validators/updatePolicyRequestBody.zod.js";
|
|
29
27
|
import { UpdateProjectRequestBody } from "./validators/updateProjectRequestBody.zod.js";
|
|
30
28
|
import { UpdateRoleRequestBody } from "./validators/updateRoleRequestBody.zod.js";
|
|
31
29
|
/**
|
|
@@ -51,23 +49,23 @@ export const SetProjectSlugBody = SetProjectSlugRequestBody;
|
|
|
51
49
|
* Visible to any member, on the same rule as the member list. Who has been invited is part of who is in the project.
|
|
52
50
|
* @summary List the invitations this project is still waiting on
|
|
53
51
|
*/
|
|
54
|
-
export const
|
|
55
|
-
export const
|
|
56
|
-
export const
|
|
57
|
-
export const
|
|
58
|
-
export const
|
|
59
|
-
export const
|
|
52
|
+
export const listInvitationsQueryLimitDefault = 50;
|
|
53
|
+
export const listInvitationsQueryLimitMax = 200;
|
|
54
|
+
export const listInvitationsQueryOffsetDefault = 0;
|
|
55
|
+
export const listInvitationsQueryOffsetMin = 0;
|
|
56
|
+
export const listInvitationsQueryOffsetMax = 10000;
|
|
57
|
+
export const ListInvitationsQueryParams = zod.strictObject({
|
|
60
58
|
limit: zod
|
|
61
59
|
.int()
|
|
62
60
|
.min(1)
|
|
63
|
-
.max(
|
|
64
|
-
.default(
|
|
61
|
+
.max(listInvitationsQueryLimitMax)
|
|
62
|
+
.default(listInvitationsQueryLimitDefault)
|
|
65
63
|
.describe("Items returned in this page. Defaults to 50; at most 200."),
|
|
66
64
|
offset: zod
|
|
67
65
|
.int()
|
|
68
|
-
.min(
|
|
69
|
-
.max(
|
|
70
|
-
.default(
|
|
66
|
+
.min(listInvitationsQueryOffsetMin)
|
|
67
|
+
.max(listInvitationsQueryOffsetMax)
|
|
68
|
+
.default(listInvitationsQueryOffsetDefault)
|
|
71
69
|
.describe("Items to skip. Defaults to 0; at most 10000."),
|
|
72
70
|
});
|
|
73
71
|
/**
|
|
@@ -136,52 +134,36 @@ export const SetMemberRolesParams = zod.strictObject({
|
|
|
136
134
|
});
|
|
137
135
|
export const SetMemberRolesBody = SetMemberRolesRequestBody;
|
|
138
136
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
export const SetMemberPermissionsParams = zod.strictObject({
|
|
144
|
-
userId: zod.string().max(setMemberPermissionsPathUserIdMax),
|
|
145
|
-
});
|
|
146
|
-
export const SetMemberPermissionsBody = SetMemberPermissionsRequestBody;
|
|
147
|
-
/**
|
|
148
|
-
* Visible to any member, on the same rule as the member list. What has been granted to whom is part of who is in the project.
|
|
149
|
-
* @summary List the policies in this project
|
|
150
|
-
*/
|
|
151
|
-
export const listPoliciesQueryUserIdMax = 255;
|
|
152
|
-
export const ListPoliciesQueryParams = zod.strictObject({
|
|
153
|
-
userId: zod
|
|
154
|
-
.string()
|
|
155
|
-
.max(listPoliciesQueryUserIdMax)
|
|
156
|
-
.optional()
|
|
157
|
-
.describe("Restricts the result to one person. Omitting it covers the whole project"),
|
|
158
|
-
});
|
|
159
|
-
/**
|
|
160
|
-
* This creates an **additional** policy, which either carries a resource scope or has `deny` as its effect. An `allow` covering every resource is a base policy, of which each member holds exactly one, and it is changed with set-member-roles and set-member-permissions. `roles` cannot contain `OWNER` or `ADMIN`. Requires `iam:members.manage`.
|
|
161
|
-
* @summary Attach a policy
|
|
162
|
-
*/
|
|
163
|
-
export const AttachPolicyBody = AttachPolicyRequestBody;
|
|
164
|
-
/**
|
|
165
|
-
* Visible to any member, on the same rule as list-policies; no further permission is required.
|
|
166
|
-
* @summary Get a policy
|
|
137
|
+
* Every row states one permission this person holds apart from their roles: project-wide when `resource_type` and `resource_id` are null, otherwise only on that resource. What a role grants is not listed here; the member's grant carries the roles and their compiled rules.
|
|
138
|
+
*
|
|
139
|
+
* Visible to any member, on the same rule as the member list.
|
|
140
|
+
* @summary List the permissions granted directly to a member
|
|
167
141
|
*/
|
|
168
|
-
export const
|
|
169
|
-
|
|
142
|
+
export const listMemberPermissionsPathUserIdMax = 255;
|
|
143
|
+
export const ListMemberPermissionsParams = zod.strictObject({
|
|
144
|
+
userId: zod.string().max(listMemberPermissionsPathUserIdMax),
|
|
170
145
|
});
|
|
171
146
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
147
|
+
* Creates one permission row. The same row twice answers 409; changing a grant means revoking the row and creating another, so that each row records when it was granted.
|
|
148
|
+
*
|
|
149
|
+
* `OWNER` and `ADMIN` cannot be granted here, being facts on the membership. A permission that carries no resource dimension cannot be scoped: IAM refuses the row at grant time rather than storing a scope that would never hold.
|
|
150
|
+
*
|
|
151
|
+
* Requires `iam:members.manage`.
|
|
152
|
+
* @summary Grant a permission to a member
|
|
174
153
|
*/
|
|
175
|
-
export const
|
|
176
|
-
|
|
154
|
+
export const createMemberPermissionPathUserIdMax = 255;
|
|
155
|
+
export const CreateMemberPermissionParams = zod.strictObject({
|
|
156
|
+
userId: zod.string().max(createMemberPermissionPathUserIdMax),
|
|
177
157
|
});
|
|
178
|
-
export const
|
|
158
|
+
export const CreateMemberPermissionBody = CreateMemberPermissionRequestBody;
|
|
179
159
|
/**
|
|
180
|
-
*
|
|
181
|
-
* @summary
|
|
160
|
+
* Removes that one row. Requires `iam:members.manage`.
|
|
161
|
+
* @summary Revoke a permission granted directly to a member
|
|
182
162
|
*/
|
|
183
|
-
export const
|
|
184
|
-
|
|
163
|
+
export const deleteMemberPermissionPathUserIdMax = 255;
|
|
164
|
+
export const DeleteMemberPermissionParams = zod.strictObject({
|
|
165
|
+
userId: zod.string().max(deleteMemberPermissionPathUserIdMax),
|
|
166
|
+
permissionId: zod.uuid(),
|
|
185
167
|
});
|
|
186
168
|
/**
|
|
187
169
|
* The only way `OWNER` moves, and only the owner can initiate it.
|
|
@@ -13,19 +13,17 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
|
|
16
|
+
export declare const createMemberPermissionRequestBodyPermissionMax = 128;
|
|
17
|
+
export declare const createMemberPermissionRequestBodyResourceTypeMax = 128;
|
|
18
|
+
export declare const createMemberPermissionRequestBodyResourceIdMax = 255;
|
|
19
|
+
export declare const CreateMemberPermissionRequestBody: zod.ZodObject<{
|
|
20
|
+
permission: zod.ZodString;
|
|
19
21
|
effect: zod.ZodEnum<{
|
|
20
22
|
allow: "allow";
|
|
21
23
|
deny: "deny";
|
|
22
24
|
}>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
id: zod.ZodString;
|
|
26
|
-
type: zod.ZodString;
|
|
27
|
-
}, zod.z.core.$strict>>>>;
|
|
28
|
-
roles: zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodString>>>;
|
|
25
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
26
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
29
27
|
}, zod.z.core.$strict>;
|
|
30
|
-
export type
|
|
31
|
-
export type
|
|
28
|
+
export type CreateMemberPermissionRequestBody = zod.input<typeof CreateMemberPermissionRequestBody>;
|
|
29
|
+
export type CreateMemberPermissionRequestBodyOutput = zod.output<typeof CreateMemberPermissionRequestBody>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow IAM API
|
|
5
|
+
* What happens inside a project: members, roles, invitations and the SSH keys the project shares.
|
|
6
|
+
*
|
|
7
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
|
|
8
|
+
* `projectId`, and the current project is the one the token states. Tokens are obtained from the
|
|
9
|
+
* account API.
|
|
10
|
+
*
|
|
11
|
+
* `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
|
|
12
|
+
* project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
|
|
13
|
+
* OpenAPI spec version: 1.0.0
|
|
14
|
+
*/
|
|
15
|
+
import * as zod from "zod";
|
|
16
|
+
export const createMemberPermissionRequestBodyPermissionMax = 128;
|
|
17
|
+
export const createMemberPermissionRequestBodyResourceTypeMax = 128;
|
|
18
|
+
export const createMemberPermissionRequestBodyResourceIdMax = 255;
|
|
19
|
+
export const CreateMemberPermissionRequestBody = zod.strictObject({
|
|
20
|
+
permission: zod
|
|
21
|
+
.string()
|
|
22
|
+
.min(1)
|
|
23
|
+
.max(createMemberPermissionRequestBodyPermissionMax)
|
|
24
|
+
.describe("The code of the permission to grant"),
|
|
25
|
+
effect: zod.enum(["allow", "deny"]),
|
|
26
|
+
resource_type: zod
|
|
27
|
+
.string()
|
|
28
|
+
.max(createMemberPermissionRequestBodyResourceTypeMax)
|
|
29
|
+
.nullable()
|
|
30
|
+
.describe("The kind of resource to hold on; give it together with `resource_id`. Both null grant the permission project-wide"),
|
|
31
|
+
resource_id: zod
|
|
32
|
+
.string()
|
|
33
|
+
.max(createMemberPermissionRequestBodyResourceIdMax)
|
|
34
|
+
.nullable()
|
|
35
|
+
.describe("The resource identifier to hold on, which may carry a glob. Give it together with `resource_type`"),
|
|
36
|
+
});
|
|
@@ -21,5 +21,5 @@ export const GrantResource = zod.strictObject({
|
|
|
21
21
|
rules: zod
|
|
22
22
|
.array(RuleResource)
|
|
23
23
|
.nullable()
|
|
24
|
-
.describe("**The rules compiled from
|
|
24
|
+
.describe("**The rules compiled from the roles and grants that apply. Do not walk them to reach a decision.** They are here to render what a user may do; each request is decided by the service handling it"),
|
|
25
25
|
});
|
|
@@ -37,6 +37,18 @@ export declare const LengthAwarePageMemberResource: zod.ZodObject<{
|
|
|
37
37
|
}, zod.z.core.$strict>>>;
|
|
38
38
|
}, zod.z.core.$strict>;
|
|
39
39
|
last_name: zod.ZodString;
|
|
40
|
+
permissions: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
41
|
+
id: zod.ZodUUID;
|
|
42
|
+
permission: zod.ZodString;
|
|
43
|
+
effect: zod.ZodEnum<{
|
|
44
|
+
allow: "allow";
|
|
45
|
+
deny: "deny";
|
|
46
|
+
}>;
|
|
47
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
48
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
49
|
+
created_at: zod.z.ZodISODateTime;
|
|
50
|
+
updated_at: zod.z.ZodISODateTime;
|
|
51
|
+
}, zod.z.core.$strict>>>;
|
|
40
52
|
user_id: zod.ZodString;
|
|
41
53
|
}, zod.z.core.$strict>>;
|
|
42
54
|
limit: zod.ZodInt;
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export declare const
|
|
19
|
-
export declare const
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
16
|
+
export declare const listInvitationsParamsLimitDefault = 50;
|
|
17
|
+
export declare const listInvitationsParamsLimitMax = 200;
|
|
18
|
+
export declare const listInvitationsParamsOffsetDefault = 0;
|
|
19
|
+
export declare const listInvitationsParamsOffsetMin = 0;
|
|
20
|
+
export declare const listInvitationsParamsOffsetMax = 10000;
|
|
21
|
+
export declare const ListInvitationsParams: zod.ZodObject<{
|
|
22
22
|
limit: zod.ZodDefault<zod.ZodInt>;
|
|
23
23
|
offset: zod.ZodDefault<zod.ZodInt>;
|
|
24
24
|
}, zod.z.core.$strict>;
|
|
25
|
-
export type
|
|
26
|
-
export type
|
|
25
|
+
export type ListInvitationsParams = zod.input<typeof ListInvitationsParams>;
|
|
26
|
+
export type ListInvitationsParamsOutput = zod.output<typeof ListInvitationsParams>;
|
|
@@ -13,20 +13,20 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export const
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
16
|
+
export const listInvitationsParamsLimitDefault = 50;
|
|
17
|
+
export const listInvitationsParamsLimitMax = 200;
|
|
18
|
+
export const listInvitationsParamsOffsetDefault = 0;
|
|
19
|
+
export const listInvitationsParamsOffsetMin = 0;
|
|
20
|
+
export const listInvitationsParamsOffsetMax = 10000;
|
|
21
|
+
export const ListInvitationsParams = zod.strictObject({
|
|
22
22
|
limit: zod
|
|
23
23
|
.int()
|
|
24
24
|
.min(1)
|
|
25
|
-
.max(
|
|
26
|
-
.default(
|
|
25
|
+
.max(listInvitationsParamsLimitMax)
|
|
26
|
+
.default(listInvitationsParamsLimitDefault),
|
|
27
27
|
offset: zod
|
|
28
28
|
.int()
|
|
29
|
-
.min(
|
|
30
|
-
.max(
|
|
31
|
-
.default(
|
|
29
|
+
.min(listInvitationsParamsOffsetMin)
|
|
30
|
+
.max(listInvitationsParamsOffsetMax)
|
|
31
|
+
.default(listInvitationsParamsOffsetDefault),
|
|
32
32
|
});
|
|
@@ -13,25 +13,19 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const MemberPermissionListResponseBody: zod.ZodObject<{
|
|
17
17
|
items: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
description: zod.ZodString;
|
|
18
|
+
id: zod.ZodUUID;
|
|
19
|
+
permission: zod.ZodString;
|
|
21
20
|
effect: zod.ZodEnum<{
|
|
22
21
|
allow: "allow";
|
|
23
22
|
deny: "deny";
|
|
24
23
|
}>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
id: zod.ZodString;
|
|
29
|
-
type: zod.ZodString;
|
|
30
|
-
}, zod.z.core.$strict>>>;
|
|
31
|
-
roles: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
24
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
25
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
26
|
+
created_at: zod.z.ZodISODateTime;
|
|
32
27
|
updated_at: zod.z.ZodISODateTime;
|
|
33
|
-
user_id: zod.ZodString;
|
|
34
28
|
}, zod.z.core.$strict>>>;
|
|
35
29
|
}, zod.z.core.$strict>;
|
|
36
|
-
export type
|
|
37
|
-
export type
|
|
30
|
+
export type MemberPermissionListResponseBody = zod.input<typeof MemberPermissionListResponseBody>;
|
|
31
|
+
export type MemberPermissionListResponseBodyOutput = zod.output<typeof MemberPermissionListResponseBody>;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
import {
|
|
17
|
-
export const
|
|
18
|
-
items: zod.array(
|
|
16
|
+
import { MemberPermissionResource } from "./memberPermissionResource.zod.js";
|
|
17
|
+
export const MemberPermissionListResponseBody = zod.strictObject({
|
|
18
|
+
items: zod.array(MemberPermissionResource).nullable(),
|
|
19
19
|
});
|
|
@@ -13,23 +13,20 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export declare const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
export declare const memberPermissionResourcePermissionMax = 128;
|
|
17
|
+
export declare const memberPermissionResourceResourceTypeMax = 128;
|
|
18
|
+
export declare const memberPermissionResourceResourceIdMax = 255;
|
|
19
|
+
export declare const MemberPermissionResource: zod.ZodObject<{
|
|
20
|
+
id: zod.ZodUUID;
|
|
21
|
+
permission: zod.ZodString;
|
|
20
22
|
effect: zod.ZodEnum<{
|
|
21
23
|
allow: "allow";
|
|
22
24
|
deny: "deny";
|
|
23
25
|
}>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
id: zod.ZodString;
|
|
28
|
-
type: zod.ZodString;
|
|
29
|
-
}, zod.z.core.$strict>>>;
|
|
30
|
-
roles: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
26
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
27
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
28
|
+
created_at: zod.z.ZodISODateTime;
|
|
31
29
|
updated_at: zod.z.ZodISODateTime;
|
|
32
|
-
user_id: zod.ZodString;
|
|
33
30
|
}, zod.z.core.$strict>;
|
|
34
|
-
export type
|
|
35
|
-
export type
|
|
31
|
+
export type MemberPermissionResource = zod.input<typeof MemberPermissionResource>;
|
|
32
|
+
export type MemberPermissionResourceOutput = zod.output<typeof MemberPermissionResource>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow IAM API
|
|
5
|
+
* What happens inside a project: members, roles, invitations and the SSH keys the project shares.
|
|
6
|
+
*
|
|
7
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme. No path carries a
|
|
8
|
+
* `projectId`, and the current project is the one the token states. Tokens are obtained from the
|
|
9
|
+
* account API.
|
|
10
|
+
*
|
|
11
|
+
* `GET /api/v1/membership` returns the roles and permissions the caller holds in the current
|
|
12
|
+
* project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
|
|
13
|
+
* OpenAPI spec version: 1.0.0
|
|
14
|
+
*/
|
|
15
|
+
import * as zod from "zod";
|
|
16
|
+
export const memberPermissionResourcePermissionMax = 128;
|
|
17
|
+
export const memberPermissionResourceResourceTypeMax = 128;
|
|
18
|
+
export const memberPermissionResourceResourceIdMax = 255;
|
|
19
|
+
export const MemberPermissionResource = zod.strictObject({
|
|
20
|
+
id: zod.uuid().describe("The id of this grant, used to revoke it"),
|
|
21
|
+
permission: zod
|
|
22
|
+
.string()
|
|
23
|
+
.max(memberPermissionResourcePermissionMax)
|
|
24
|
+
.describe("The code of the permission, such as compute:instance.delete"),
|
|
25
|
+
effect: zod.enum(["allow", "deny"]),
|
|
26
|
+
resource_type: zod
|
|
27
|
+
.string()
|
|
28
|
+
.max(memberPermissionResourceResourceTypeMax)
|
|
29
|
+
.nullable()
|
|
30
|
+
.describe("The kind of resource this grant holds on, such as fleet:machine. Null with `resource_id` means it holds project-wide"),
|
|
31
|
+
resource_id: zod
|
|
32
|
+
.string()
|
|
33
|
+
.max(memberPermissionResourceResourceIdMax)
|
|
34
|
+
.nullable()
|
|
35
|
+
.describe("The resource identifier, which may carry a glob. Null with `resource_type` means the grant holds project-wide"),
|
|
36
|
+
created_at: zod.iso.datetime({ offset: true }),
|
|
37
|
+
updated_at: zod.iso.datetime({ offset: true }),
|
|
38
|
+
});
|
|
@@ -36,6 +36,18 @@ export declare const MemberResource: zod.ZodObject<{
|
|
|
36
36
|
}, zod.z.core.$strict>>>;
|
|
37
37
|
}, zod.z.core.$strict>;
|
|
38
38
|
last_name: zod.ZodString;
|
|
39
|
+
permissions: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
40
|
+
id: zod.ZodUUID;
|
|
41
|
+
permission: zod.ZodString;
|
|
42
|
+
effect: zod.ZodEnum<{
|
|
43
|
+
allow: "allow";
|
|
44
|
+
deny: "deny";
|
|
45
|
+
}>;
|
|
46
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
47
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
48
|
+
created_at: zod.z.ZodISODateTime;
|
|
49
|
+
updated_at: zod.z.ZodISODateTime;
|
|
50
|
+
}, zod.z.core.$strict>>>;
|
|
39
51
|
user_id: zod.ZodString;
|
|
40
52
|
}, zod.z.core.$strict>;
|
|
41
53
|
export type MemberResource = zod.input<typeof MemberResource>;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
16
|
import { GrantResource } from "./grantResource.zod.js";
|
|
17
|
+
import { MemberPermissionResource } from "./memberPermissionResource.zod.js";
|
|
17
18
|
export const MemberResource = zod.strictObject({
|
|
18
19
|
avatar_hash: zod
|
|
19
20
|
.string()
|
|
@@ -24,5 +25,9 @@ export const MemberResource = zod.strictObject({
|
|
|
24
25
|
first_name: zod.string(),
|
|
25
26
|
grant: GrantResource,
|
|
26
27
|
last_name: zod.string(),
|
|
28
|
+
permissions: zod
|
|
29
|
+
.array(MemberPermissionResource)
|
|
30
|
+
.nullable()
|
|
31
|
+
.describe("The permissions granted to this person directly, apart from their roles"),
|
|
27
32
|
user_id: zod.string(),
|
|
28
33
|
});
|
|
@@ -37,6 +37,18 @@ export declare const OwnershipTransferResponseBody: zod.ZodObject<{
|
|
|
37
37
|
}, zod.z.core.$strict>>>;
|
|
38
38
|
}, zod.z.core.$strict>;
|
|
39
39
|
last_name: zod.ZodString;
|
|
40
|
+
permissions: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
41
|
+
id: zod.ZodUUID;
|
|
42
|
+
permission: zod.ZodString;
|
|
43
|
+
effect: zod.ZodEnum<{
|
|
44
|
+
allow: "allow";
|
|
45
|
+
deny: "deny";
|
|
46
|
+
}>;
|
|
47
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
48
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
49
|
+
created_at: zod.z.ZodISODateTime;
|
|
50
|
+
updated_at: zod.z.ZodISODateTime;
|
|
51
|
+
}, zod.z.core.$strict>>>;
|
|
40
52
|
user_id: zod.ZodString;
|
|
41
53
|
}, zod.z.core.$strict>;
|
|
42
54
|
to: zod.ZodObject<{
|
|
@@ -62,6 +74,18 @@ export declare const OwnershipTransferResponseBody: zod.ZodObject<{
|
|
|
62
74
|
}, zod.z.core.$strict>>>;
|
|
63
75
|
}, zod.z.core.$strict>;
|
|
64
76
|
last_name: zod.ZodString;
|
|
77
|
+
permissions: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
78
|
+
id: zod.ZodUUID;
|
|
79
|
+
permission: zod.ZodString;
|
|
80
|
+
effect: zod.ZodEnum<{
|
|
81
|
+
allow: "allow";
|
|
82
|
+
deny: "deny";
|
|
83
|
+
}>;
|
|
84
|
+
resource_type: zod.ZodNullable<zod.ZodString>;
|
|
85
|
+
resource_id: zod.ZodNullable<zod.ZodString>;
|
|
86
|
+
created_at: zod.z.ZodISODateTime;
|
|
87
|
+
updated_at: zod.z.ZodISODateTime;
|
|
88
|
+
}, zod.z.core.$strict>>>;
|
|
65
89
|
user_id: zod.ZodString;
|
|
66
90
|
}, zod.z.core.$strict>;
|
|
67
91
|
}, zod.z.core.$strict>;
|
|
@@ -13,16 +13,12 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
export declare const
|
|
17
|
-
|
|
16
|
+
export declare const PermissionListResponseBody: zod.ZodObject<{
|
|
17
|
+
items: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
18
18
|
name: zod.ZodString;
|
|
19
19
|
owner_only: zod.ZodBoolean;
|
|
20
20
|
resource_type: zod.ZodString;
|
|
21
21
|
}, zod.z.core.$strict>>>;
|
|
22
|
-
resource_types: zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
|
|
23
|
-
name: zod.ZodString;
|
|
24
|
-
}, zod.z.core.$strict>>>;
|
|
25
|
-
service: zod.ZodString;
|
|
26
22
|
}, zod.z.core.$strict>;
|
|
27
|
-
export type
|
|
28
|
-
export type
|
|
23
|
+
export type PermissionListResponseBody = zod.input<typeof PermissionListResponseBody>;
|
|
24
|
+
export type PermissionListResponseBodyOutput = zod.output<typeof PermissionListResponseBody>;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* OpenAPI spec version: 1.0.0
|
|
14
14
|
*/
|
|
15
15
|
import * as zod from "zod";
|
|
16
|
-
import {
|
|
17
|
-
export const
|
|
18
|
-
items: zod.array(
|
|
16
|
+
import { PermissionResource } from "./permissionResource.zod.js";
|
|
17
|
+
export const PermissionListResponseBody = zod.strictObject({
|
|
18
|
+
items: zod.array(PermissionResource).nullable(),
|
|
19
19
|
});
|
package/dist/routes.d.ts
CHANGED
|
@@ -3410,7 +3410,7 @@ export declare const routes: readonly [{
|
|
|
3410
3410
|
readonly contract: "iam";
|
|
3411
3411
|
readonly method: "GET";
|
|
3412
3412
|
readonly path: "/api/v1/invitations";
|
|
3413
|
-
readonly operationId: "list-
|
|
3413
|
+
readonly operationId: "list-invitations";
|
|
3414
3414
|
readonly securityScheme: "ScopedToken";
|
|
3415
3415
|
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3416
3416
|
}, {
|
|
@@ -3461,52 +3461,28 @@ export declare const routes: readonly [{
|
|
|
3461
3461
|
readonly operationId: "set-member-roles";
|
|
3462
3462
|
readonly securityScheme: "ScopedToken";
|
|
3463
3463
|
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3464
|
-
}, {
|
|
3465
|
-
readonly service: "iam";
|
|
3466
|
-
readonly contract: "iam";
|
|
3467
|
-
readonly method: "PUT";
|
|
3468
|
-
readonly path: "/api/v1/members/{userId}/permissions";
|
|
3469
|
-
readonly operationId: "set-member-permissions";
|
|
3470
|
-
readonly securityScheme: "ScopedToken";
|
|
3471
|
-
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3472
3464
|
}, {
|
|
3473
3465
|
readonly service: "iam";
|
|
3474
3466
|
readonly contract: "iam";
|
|
3475
3467
|
readonly method: "GET";
|
|
3476
|
-
readonly path: "/api/v1/
|
|
3477
|
-
readonly operationId: "list-
|
|
3468
|
+
readonly path: "/api/v1/members/{userId}/permissions";
|
|
3469
|
+
readonly operationId: "list-member-permissions";
|
|
3478
3470
|
readonly securityScheme: "ScopedToken";
|
|
3479
3471
|
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3480
3472
|
}, {
|
|
3481
3473
|
readonly service: "iam";
|
|
3482
3474
|
readonly contract: "iam";
|
|
3483
3475
|
readonly method: "POST";
|
|
3484
|
-
readonly path: "/api/v1/
|
|
3485
|
-
readonly operationId: "
|
|
3486
|
-
readonly securityScheme: "ScopedToken";
|
|
3487
|
-
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3488
|
-
}, {
|
|
3489
|
-
readonly service: "iam";
|
|
3490
|
-
readonly contract: "iam";
|
|
3491
|
-
readonly method: "GET";
|
|
3492
|
-
readonly path: "/api/v1/policies/{policyId}";
|
|
3493
|
-
readonly operationId: "get-policy";
|
|
3494
|
-
readonly securityScheme: "ScopedToken";
|
|
3495
|
-
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3496
|
-
}, {
|
|
3497
|
-
readonly service: "iam";
|
|
3498
|
-
readonly contract: "iam";
|
|
3499
|
-
readonly method: "PUT";
|
|
3500
|
-
readonly path: "/api/v1/policies/{policyId}";
|
|
3501
|
-
readonly operationId: "update-policy";
|
|
3476
|
+
readonly path: "/api/v1/members/{userId}/permissions";
|
|
3477
|
+
readonly operationId: "create-member-permission";
|
|
3502
3478
|
readonly securityScheme: "ScopedToken";
|
|
3503
3479
|
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3504
3480
|
}, {
|
|
3505
3481
|
readonly service: "iam";
|
|
3506
3482
|
readonly contract: "iam";
|
|
3507
3483
|
readonly method: "DELETE";
|
|
3508
|
-
readonly path: "/api/v1/
|
|
3509
|
-
readonly operationId: "
|
|
3484
|
+
readonly path: "/api/v1/members/{userId}/permissions/{permissionId}";
|
|
3485
|
+
readonly operationId: "delete-member-permission";
|
|
3510
3486
|
readonly securityScheme: "ScopedToken";
|
|
3511
3487
|
readonly upstreamUrl: "https://iam.leaflow.cloud";
|
|
3512
3488
|
}, {
|