@structured-id/ui-core 0.1.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 (156) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +47 -0
  3. package/dist/browser-vp/index.cjs +349 -0
  4. package/dist/browser-vp/index.d.cts +287 -0
  5. package/dist/browser-vp/index.d.ts +287 -0
  6. package/dist/browser-vp/index.js +349 -0
  7. package/dist/chunk-C3Q766CY.cjs +125 -0
  8. package/dist/chunk-J5YXRXB5.js +125 -0
  9. package/dist/index.cjs +19360 -0
  10. package/dist/index.d.cts +9536 -0
  11. package/dist/index.d.ts +9536 -0
  12. package/dist/index.js +19360 -0
  13. package/dist/storage-4CB2JTLW.cjs +22 -0
  14. package/dist/storage-THRWREZP.js +22 -0
  15. package/package.json +93 -0
  16. package/src/browser-vp/crypto.ts +254 -0
  17. package/src/browser-vp/index.test.ts +10 -0
  18. package/src/browser-vp/index.ts +118 -0
  19. package/src/browser-vp/prf.ts +181 -0
  20. package/src/browser-vp/storage.test.ts +9 -0
  21. package/src/browser-vp/storage.ts +165 -0
  22. package/src/browser-vp/types.ts +97 -0
  23. package/src/browser-vp/vp.test.ts +43 -0
  24. package/src/browser-vp/vp.ts +113 -0
  25. package/src/components/SidAvatar.vue +106 -0
  26. package/src/components/SidConfirmDialog.vue +125 -0
  27. package/src/components/SidStatusBadge.vue +71 -0
  28. package/src/components/index.ts +5 -0
  29. package/src/composables/index.ts +10 -0
  30. package/src/composables/useAuth.ts +40 -0
  31. package/src/composables/useBffAuth.ts +147 -0
  32. package/src/composables/useGrpc.test.ts +196 -0
  33. package/src/composables/useGrpc.ts +120 -0
  34. package/src/composables/useSession.ts +80 -0
  35. package/src/generated/google/api/http.ts +687 -0
  36. package/src/generated/google/protobuf/descriptor.ts +4865 -0
  37. package/src/generated/google/protobuf/duration.ts +230 -0
  38. package/src/generated/google/protobuf/empty.ts +94 -0
  39. package/src/generated/google/protobuf/struct.ts +484 -0
  40. package/src/generated/google/protobuf/timestamp.ts +287 -0
  41. package/src/generated/sid/v1/account/account.client.ts +527 -0
  42. package/src/generated/sid/v1/account/account.ts +3261 -0
  43. package/src/generated/sid/v1/admin/admin.client.ts +136 -0
  44. package/src/generated/sid/v1/admin/admin.ts +846 -0
  45. package/src/generated/sid/v1/admin/admin_roles.client.ts +181 -0
  46. package/src/generated/sid/v1/admin/admin_roles.ts +1606 -0
  47. package/src/generated/sid/v1/admin/analytics.client.ts +106 -0
  48. package/src/generated/sid/v1/admin/analytics.ts +1017 -0
  49. package/src/generated/sid/v1/admin/branding.client.ts +166 -0
  50. package/src/generated/sid/v1/admin/branding.ts +1906 -0
  51. package/src/generated/sid/v1/admin/enrollment.client.ts +165 -0
  52. package/src/generated/sid/v1/admin/enrollment.ts +1704 -0
  53. package/src/generated/sid/v1/admin/events.client.ts +195 -0
  54. package/src/generated/sid/v1/admin/events.ts +1900 -0
  55. package/src/generated/sid/v1/admin/flow.client.ts +183 -0
  56. package/src/generated/sid/v1/admin/flow.ts +1552 -0
  57. package/src/generated/sid/v1/admin/keys.client.ts +107 -0
  58. package/src/generated/sid/v1/admin/keys.ts +931 -0
  59. package/src/generated/sid/v1/admin/login_experience.client.ts +160 -0
  60. package/src/generated/sid/v1/admin/login_experience.ts +1061 -0
  61. package/src/generated/sid/v1/admin/migration.client.ts +127 -0
  62. package/src/generated/sid/v1/admin/migration.ts +1948 -0
  63. package/src/generated/sid/v1/admin/notifications.client.ts +128 -0
  64. package/src/generated/sid/v1/admin/notifications.ts +1332 -0
  65. package/src/generated/sid/v1/admin/operations.client.ts +241 -0
  66. package/src/generated/sid/v1/admin/operations.ts +2648 -0
  67. package/src/generated/sid/v1/admin/organizations.client.ts +57 -0
  68. package/src/generated/sid/v1/admin/organizations.ts +349 -0
  69. package/src/generated/sid/v1/admin/scopes.client.ts +171 -0
  70. package/src/generated/sid/v1/admin/scopes.ts +1324 -0
  71. package/src/generated/sid/v1/admin/security.client.ts +412 -0
  72. package/src/generated/sid/v1/admin/security.ts +4086 -0
  73. package/src/generated/sid/v1/admin/sessions.client.ts +114 -0
  74. package/src/generated/sid/v1/admin/sessions.ts +923 -0
  75. package/src/generated/sid/v1/admin/settings.client.ts +340 -0
  76. package/src/generated/sid/v1/admin/settings.ts +2395 -0
  77. package/src/generated/sid/v1/admin/user_profile.client.ts +57 -0
  78. package/src/generated/sid/v1/admin/user_profile.ts +730 -0
  79. package/src/generated/sid/v1/admin/webhooks.client.ts +269 -0
  80. package/src/generated/sid/v1/admin/webhooks.ts +2804 -0
  81. package/src/generated/sid/v1/attestation/attestation.client.ts +115 -0
  82. package/src/generated/sid/v1/attestation/attestation.ts +813 -0
  83. package/src/generated/sid/v1/authn/auth.client.ts +900 -0
  84. package/src/generated/sid/v1/authn/auth.ts +9287 -0
  85. package/src/generated/sid/v1/authn/flows.client.ts +413 -0
  86. package/src/generated/sid/v1/authn/flows.ts +3217 -0
  87. package/src/generated/sid/v1/authz/authz.client.ts +459 -0
  88. package/src/generated/sid/v1/authz/authz.ts +5343 -0
  89. package/src/generated/sid/v1/authz/governance.client.ts +102 -0
  90. package/src/generated/sid/v1/authz/governance.ts +818 -0
  91. package/src/generated/sid/v1/common/errors.ts +184 -0
  92. package/src/generated/sid/v1/common/pagination.ts +152 -0
  93. package/src/generated/sid/v1/common/transport.ts +227 -0
  94. package/src/generated/sid/v1/common/types.ts +151 -0
  95. package/src/generated/sid/v1/events/event_stream.client.ts +67 -0
  96. package/src/generated/sid/v1/events/event_stream.ts +374 -0
  97. package/src/generated/sid/v1/federation/upstream.client.ts +142 -0
  98. package/src/generated/sid/v1/federation/upstream.ts +1736 -0
  99. package/src/generated/sid/v1/identity/identity.client.ts +467 -0
  100. package/src/generated/sid/v1/identity/identity.ts +5613 -0
  101. package/src/generated/sid/v1/machine/machine_user.client.ts +219 -0
  102. package/src/generated/sid/v1/machine/machine_user.ts +2400 -0
  103. package/src/generated/sid/v1/machine/pat.client.ts +147 -0
  104. package/src/generated/sid/v1/machine/pat.ts +1268 -0
  105. package/src/generated/sid/v1/projects/projects.client.ts +286 -0
  106. package/src/generated/sid/v1/projects/projects.ts +2714 -0
  107. package/src/generated/sid/v1/scim/scim.client.ts +274 -0
  108. package/src/generated/sid/v1/scim/scim.ts +3043 -0
  109. package/src/generated/sid/v1/test/test.client.ts +232 -0
  110. package/src/generated/sid/v1/test/test.ts +1136 -0
  111. package/src/i18n/index.ts +40 -0
  112. package/src/index.ts +157 -0
  113. package/src/profile/auth.ts +15 -0
  114. package/src/profile/components/ConsentManager.vue +88 -0
  115. package/src/profile/components/ProfileEditor.vue +146 -0
  116. package/src/profile/components/SecuritySettings.vue +170 -0
  117. package/src/profile/components/SessionList.vue +100 -0
  118. package/src/profile/components/SidLoginForm.test.ts +80 -0
  119. package/src/profile/components/SidLoginForm.vue +230 -0
  120. package/src/profile/components/SidMfaChallenge.test.ts +127 -0
  121. package/src/profile/components/SidMfaChallenge.vue +243 -0
  122. package/src/profile/components/SidRegistrationForm.test.ts +79 -0
  123. package/src/profile/components/SidRegistrationForm.vue +317 -0
  124. package/src/profile/components/index.ts +11 -0
  125. package/src/profile/composables/index.ts +6 -0
  126. package/src/profile/composables/useAccountApi.ts +203 -0
  127. package/src/profile/composables/useAuthApi.opaque.test.ts +140 -0
  128. package/src/profile/composables/useAuthApi.ts +617 -0
  129. package/src/profile/composables/useIdentityApi.ts +123 -0
  130. package/src/profile/composables/useLoginSuccess.test.ts +112 -0
  131. package/src/profile/composables/useLoginSuccess.ts +65 -0
  132. package/src/profile/composables/useOpaqueAuth.test.ts +290 -0
  133. package/src/profile/composables/useOpaqueAuth.ts +191 -0
  134. package/src/profile/composables/useSecurityLevel.test.ts +198 -0
  135. package/src/profile/composables/useSecurityLevel.ts +324 -0
  136. package/src/profile/index.ts +18 -0
  137. package/src/quasar/SidPrincipalInput.vue +209 -0
  138. package/src/quasar/index.ts +8 -0
  139. package/src/stores/auth.test.ts +83 -0
  140. package/src/stores/auth.ts +92 -0
  141. package/src/stores/index.ts +1 -0
  142. package/src/transport/adaptive.test.ts +728 -0
  143. package/src/transport/adaptive.ts +308 -0
  144. package/src/transport/framing.test.ts +227 -0
  145. package/src/transport/framing.ts +98 -0
  146. package/src/transport/webtransport.test.ts +728 -0
  147. package/src/transport/webtransport.ts +323 -0
  148. package/src/types/auth.ts +58 -0
  149. package/src/types/index.ts +1 -0
  150. package/src/utils/formatters.test.ts +26 -0
  151. package/src/utils/formatters.ts +69 -0
  152. package/src/utils/index.ts +16 -0
  153. package/src/utils/normalizePrincipal.test.ts +188 -0
  154. package/src/utils/normalizePrincipal.ts +159 -0
  155. package/src/utils/validators.test.ts +75 -0
  156. package/src/utils/validators.ts +36 -0
@@ -0,0 +1,818 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/authz/governance.proto" (package "sid.v1.authz", syntax proto3)
3
+ // tslint:disable
4
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { PaginationResponse } from "../common/pagination";
15
+ import { PaginationRequest } from "../common/pagination";
16
+ import { Timestamp } from "../../../google/protobuf/timestamp";
17
+ import { Duration } from "../../../google/protobuf/duration";
18
+ // ══════════════════════════════════════════════════════════════════════════
19
+ // Access Requests
20
+ // ══════════════════════════════════════════════════════════════════════════
21
+
22
+ /**
23
+ * @generated from protobuf message sid.v1.authz.AccessRequestMessage
24
+ */
25
+ export interface AccessRequestMessage {
26
+ /**
27
+ * @generated from protobuf field: string requester_profile_id = 1
28
+ */
29
+ requesterProfileId: string;
30
+ /**
31
+ * @generated from protobuf field: string requested_role = 2
32
+ */
33
+ requestedRole: string;
34
+ /**
35
+ * @generated from protobuf field: string justification = 3
36
+ */
37
+ justification: string;
38
+ /**
39
+ * @generated from protobuf field: optional google.protobuf.Duration requested_duration = 4
40
+ */
41
+ requestedDuration?: Duration; // null = permanent
42
+ }
43
+ /**
44
+ * @generated from protobuf message sid.v1.authz.AccessRequestResponse
45
+ */
46
+ export interface AccessRequestResponse {
47
+ /**
48
+ * @generated from protobuf field: string request_id = 1
49
+ */
50
+ requestId: string;
51
+ /**
52
+ * @generated from protobuf field: sid.v1.authz.AccessRequestStatus status = 2
53
+ */
54
+ status: AccessRequestStatus;
55
+ /**
56
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 3
57
+ */
58
+ createdAt?: Timestamp;
59
+ }
60
+ /**
61
+ * @generated from protobuf message sid.v1.authz.ListPendingRequestsRequest
62
+ */
63
+ export interface ListPendingRequestsRequest {
64
+ /**
65
+ * @generated from protobuf field: sid.v1.common.PaginationRequest pagination = 1
66
+ */
67
+ pagination?: PaginationRequest;
68
+ }
69
+ /**
70
+ * @generated from protobuf message sid.v1.authz.ListPendingRequestsResponse
71
+ */
72
+ export interface ListPendingRequestsResponse {
73
+ /**
74
+ * @generated from protobuf field: repeated sid.v1.authz.AccessRequestDetail requests = 1
75
+ */
76
+ requests: AccessRequestDetail[];
77
+ /**
78
+ * @generated from protobuf field: sid.v1.common.PaginationResponse pagination = 2
79
+ */
80
+ pagination?: PaginationResponse;
81
+ }
82
+ /**
83
+ * @generated from protobuf message sid.v1.authz.AccessRequestDetail
84
+ */
85
+ export interface AccessRequestDetail {
86
+ /**
87
+ * @generated from protobuf field: string request_id = 1
88
+ */
89
+ requestId: string;
90
+ /**
91
+ * @generated from protobuf field: string requester_profile_id = 2
92
+ */
93
+ requesterProfileId: string;
94
+ /**
95
+ * @generated from protobuf field: string requester_display_name = 3
96
+ */
97
+ requesterDisplayName: string;
98
+ /**
99
+ * @generated from protobuf field: string requested_role = 4
100
+ */
101
+ requestedRole: string;
102
+ /**
103
+ * @generated from protobuf field: string justification = 5
104
+ */
105
+ justification: string;
106
+ /**
107
+ * @generated from protobuf field: optional google.protobuf.Duration requested_duration = 6
108
+ */
109
+ requestedDuration?: Duration;
110
+ /**
111
+ * @generated from protobuf field: sid.v1.authz.AccessRequestStatus status = 7
112
+ */
113
+ status: AccessRequestStatus;
114
+ /**
115
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 8
116
+ */
117
+ createdAt?: Timestamp;
118
+ /**
119
+ * @generated from protobuf field: google.protobuf.Timestamp expires_at = 9
120
+ */
121
+ expiresAt?: Timestamp; // Request auto-denied after this
122
+ }
123
+ /**
124
+ * @generated from protobuf message sid.v1.authz.DecideRequestRequest
125
+ */
126
+ export interface DecideRequestRequest {
127
+ /**
128
+ * @generated from protobuf field: string request_id = 1
129
+ */
130
+ requestId: string;
131
+ /**
132
+ * @generated from protobuf field: bool approved = 2
133
+ */
134
+ approved: boolean;
135
+ /**
136
+ * @generated from protobuf field: string reason = 3
137
+ */
138
+ reason: string; // Required for deny, optional for approve
139
+ }
140
+ /**
141
+ * @generated from protobuf message sid.v1.authz.DecideRequestResponse
142
+ */
143
+ export interface DecideRequestResponse {
144
+ /**
145
+ * @generated from protobuf field: string request_id = 1
146
+ */
147
+ requestId: string;
148
+ /**
149
+ * @generated from protobuf field: sid.v1.authz.AccessRequestStatus status = 2
150
+ */
151
+ status: AccessRequestStatus;
152
+ }
153
+ // ══════════════════════════════════════════════════════════════════════════
154
+ // Temporary Roles
155
+ // ══════════════════════════════════════════════════════════════════════════
156
+
157
+ /**
158
+ * @generated from protobuf message sid.v1.authz.GrantTemporaryRoleRequest
159
+ */
160
+ export interface GrantTemporaryRoleRequest {
161
+ /**
162
+ * @generated from protobuf field: string profile_id = 1
163
+ */
164
+ profileId: string;
165
+ /**
166
+ * @generated from protobuf field: string role = 2
167
+ */
168
+ role: string;
169
+ /**
170
+ * @generated from protobuf field: google.protobuf.Timestamp expires_at = 3
171
+ */
172
+ expiresAt?: Timestamp;
173
+ /**
174
+ * @generated from protobuf field: string justification = 4
175
+ */
176
+ justification: string;
177
+ }
178
+ /**
179
+ * @generated from protobuf message sid.v1.authz.GrantTemporaryRoleResponse
180
+ */
181
+ export interface GrantTemporaryRoleResponse {
182
+ /**
183
+ * @generated from protobuf field: string assignment_id = 1
184
+ */
185
+ assignmentId: string;
186
+ /**
187
+ * @generated from protobuf field: google.protobuf.Timestamp expires_at = 2
188
+ */
189
+ expiresAt?: Timestamp;
190
+ }
191
+ // ══════════════════════════════════════════════════════════════════════════
192
+ // Enums
193
+ // ══════════════════════════════════════════════════════════════════════════
194
+
195
+ /**
196
+ * @generated from protobuf enum sid.v1.authz.AccessRequestStatus
197
+ */
198
+ export enum AccessRequestStatus {
199
+ /**
200
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_UNSPECIFIED = 0;
201
+ */
202
+ UNSPECIFIED = 0,
203
+ /**
204
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_PENDING = 1;
205
+ */
206
+ PENDING = 1,
207
+ /**
208
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_APPROVED = 2;
209
+ */
210
+ APPROVED = 2,
211
+ /**
212
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_DENIED = 3;
213
+ */
214
+ DENIED = 3,
215
+ /**
216
+ * Request timed out without decision
217
+ *
218
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_EXPIRED = 4;
219
+ */
220
+ EXPIRED = 4,
221
+ /**
222
+ * Requester cancelled
223
+ *
224
+ * @generated from protobuf enum value: ACCESS_REQUEST_STATUS_CANCELLED = 5;
225
+ */
226
+ CANCELLED = 5
227
+ }
228
+ // @generated message type with reflection information, may provide speed optimized methods
229
+ class AccessRequestMessage$Type extends MessageType<AccessRequestMessage> {
230
+ constructor() {
231
+ super("sid.v1.authz.AccessRequestMessage", [
232
+ { no: 1, name: "requester_profile_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
233
+ { no: 2, name: "requested_role", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
234
+ { no: 3, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
235
+ { no: 4, name: "requested_duration", kind: "message", T: () => Duration }
236
+ ]);
237
+ }
238
+ create(value?: PartialMessage<AccessRequestMessage>): AccessRequestMessage {
239
+ const message = globalThis.Object.create((this.messagePrototype!));
240
+ message.requesterProfileId = "";
241
+ message.requestedRole = "";
242
+ message.justification = "";
243
+ if (value !== undefined)
244
+ reflectionMergePartial<AccessRequestMessage>(this, message, value);
245
+ return message;
246
+ }
247
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccessRequestMessage): AccessRequestMessage {
248
+ let message = target ?? this.create(), end = reader.pos + length;
249
+ while (reader.pos < end) {
250
+ let [fieldNo, wireType] = reader.tag();
251
+ switch (fieldNo) {
252
+ case /* string requester_profile_id */ 1:
253
+ message.requesterProfileId = reader.string();
254
+ break;
255
+ case /* string requested_role */ 2:
256
+ message.requestedRole = reader.string();
257
+ break;
258
+ case /* string justification */ 3:
259
+ message.justification = reader.string();
260
+ break;
261
+ case /* optional google.protobuf.Duration requested_duration */ 4:
262
+ message.requestedDuration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.requestedDuration);
263
+ break;
264
+ default:
265
+ let u = options.readUnknownField;
266
+ if (u === "throw")
267
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
268
+ let d = reader.skip(wireType);
269
+ if (u !== false)
270
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
271
+ }
272
+ }
273
+ return message;
274
+ }
275
+ internalBinaryWrite(message: AccessRequestMessage, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
276
+ /* string requester_profile_id = 1; */
277
+ if (message.requesterProfileId !== "")
278
+ writer.tag(1, WireType.LengthDelimited).string(message.requesterProfileId);
279
+ /* string requested_role = 2; */
280
+ if (message.requestedRole !== "")
281
+ writer.tag(2, WireType.LengthDelimited).string(message.requestedRole);
282
+ /* string justification = 3; */
283
+ if (message.justification !== "")
284
+ writer.tag(3, WireType.LengthDelimited).string(message.justification);
285
+ /* optional google.protobuf.Duration requested_duration = 4; */
286
+ if (message.requestedDuration)
287
+ Duration.internalBinaryWrite(message.requestedDuration, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
288
+ let u = options.writeUnknownFields;
289
+ if (u !== false)
290
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
291
+ return writer;
292
+ }
293
+ }
294
+ /**
295
+ * @generated MessageType for protobuf message sid.v1.authz.AccessRequestMessage
296
+ */
297
+ export const AccessRequestMessage = new AccessRequestMessage$Type();
298
+ // @generated message type with reflection information, may provide speed optimized methods
299
+ class AccessRequestResponse$Type extends MessageType<AccessRequestResponse> {
300
+ constructor() {
301
+ super("sid.v1.authz.AccessRequestResponse", [
302
+ { no: 1, name: "request_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
303
+ { no: 2, name: "status", kind: "enum", T: () => ["sid.v1.authz.AccessRequestStatus", AccessRequestStatus, "ACCESS_REQUEST_STATUS_"] },
304
+ { no: 3, name: "created_at", kind: "message", T: () => Timestamp }
305
+ ]);
306
+ }
307
+ create(value?: PartialMessage<AccessRequestResponse>): AccessRequestResponse {
308
+ const message = globalThis.Object.create((this.messagePrototype!));
309
+ message.requestId = "";
310
+ message.status = 0;
311
+ if (value !== undefined)
312
+ reflectionMergePartial<AccessRequestResponse>(this, message, value);
313
+ return message;
314
+ }
315
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccessRequestResponse): AccessRequestResponse {
316
+ let message = target ?? this.create(), end = reader.pos + length;
317
+ while (reader.pos < end) {
318
+ let [fieldNo, wireType] = reader.tag();
319
+ switch (fieldNo) {
320
+ case /* string request_id */ 1:
321
+ message.requestId = reader.string();
322
+ break;
323
+ case /* sid.v1.authz.AccessRequestStatus status */ 2:
324
+ message.status = reader.int32();
325
+ break;
326
+ case /* google.protobuf.Timestamp created_at */ 3:
327
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
328
+ break;
329
+ default:
330
+ let u = options.readUnknownField;
331
+ if (u === "throw")
332
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
333
+ let d = reader.skip(wireType);
334
+ if (u !== false)
335
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
336
+ }
337
+ }
338
+ return message;
339
+ }
340
+ internalBinaryWrite(message: AccessRequestResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
341
+ /* string request_id = 1; */
342
+ if (message.requestId !== "")
343
+ writer.tag(1, WireType.LengthDelimited).string(message.requestId);
344
+ /* sid.v1.authz.AccessRequestStatus status = 2; */
345
+ if (message.status !== 0)
346
+ writer.tag(2, WireType.Varint).int32(message.status);
347
+ /* google.protobuf.Timestamp created_at = 3; */
348
+ if (message.createdAt)
349
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
350
+ let u = options.writeUnknownFields;
351
+ if (u !== false)
352
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
353
+ return writer;
354
+ }
355
+ }
356
+ /**
357
+ * @generated MessageType for protobuf message sid.v1.authz.AccessRequestResponse
358
+ */
359
+ export const AccessRequestResponse = new AccessRequestResponse$Type();
360
+ // @generated message type with reflection information, may provide speed optimized methods
361
+ class ListPendingRequestsRequest$Type extends MessageType<ListPendingRequestsRequest> {
362
+ constructor() {
363
+ super("sid.v1.authz.ListPendingRequestsRequest", [
364
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest }
365
+ ]);
366
+ }
367
+ create(value?: PartialMessage<ListPendingRequestsRequest>): ListPendingRequestsRequest {
368
+ const message = globalThis.Object.create((this.messagePrototype!));
369
+ if (value !== undefined)
370
+ reflectionMergePartial<ListPendingRequestsRequest>(this, message, value);
371
+ return message;
372
+ }
373
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListPendingRequestsRequest): ListPendingRequestsRequest {
374
+ let message = target ?? this.create(), end = reader.pos + length;
375
+ while (reader.pos < end) {
376
+ let [fieldNo, wireType] = reader.tag();
377
+ switch (fieldNo) {
378
+ case /* sid.v1.common.PaginationRequest pagination */ 1:
379
+ message.pagination = PaginationRequest.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
380
+ break;
381
+ default:
382
+ let u = options.readUnknownField;
383
+ if (u === "throw")
384
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
385
+ let d = reader.skip(wireType);
386
+ if (u !== false)
387
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
388
+ }
389
+ }
390
+ return message;
391
+ }
392
+ internalBinaryWrite(message: ListPendingRequestsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
393
+ /* sid.v1.common.PaginationRequest pagination = 1; */
394
+ if (message.pagination)
395
+ PaginationRequest.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
396
+ let u = options.writeUnknownFields;
397
+ if (u !== false)
398
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
399
+ return writer;
400
+ }
401
+ }
402
+ /**
403
+ * @generated MessageType for protobuf message sid.v1.authz.ListPendingRequestsRequest
404
+ */
405
+ export const ListPendingRequestsRequest = new ListPendingRequestsRequest$Type();
406
+ // @generated message type with reflection information, may provide speed optimized methods
407
+ class ListPendingRequestsResponse$Type extends MessageType<ListPendingRequestsResponse> {
408
+ constructor() {
409
+ super("sid.v1.authz.ListPendingRequestsResponse", [
410
+ { no: 1, name: "requests", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => AccessRequestDetail },
411
+ { no: 2, name: "pagination", kind: "message", T: () => PaginationResponse }
412
+ ]);
413
+ }
414
+ create(value?: PartialMessage<ListPendingRequestsResponse>): ListPendingRequestsResponse {
415
+ const message = globalThis.Object.create((this.messagePrototype!));
416
+ message.requests = [];
417
+ if (value !== undefined)
418
+ reflectionMergePartial<ListPendingRequestsResponse>(this, message, value);
419
+ return message;
420
+ }
421
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListPendingRequestsResponse): ListPendingRequestsResponse {
422
+ let message = target ?? this.create(), end = reader.pos + length;
423
+ while (reader.pos < end) {
424
+ let [fieldNo, wireType] = reader.tag();
425
+ switch (fieldNo) {
426
+ case /* repeated sid.v1.authz.AccessRequestDetail requests */ 1:
427
+ message.requests.push(AccessRequestDetail.internalBinaryRead(reader, reader.uint32(), options));
428
+ break;
429
+ case /* sid.v1.common.PaginationResponse pagination */ 2:
430
+ message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
431
+ break;
432
+ default:
433
+ let u = options.readUnknownField;
434
+ if (u === "throw")
435
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
436
+ let d = reader.skip(wireType);
437
+ if (u !== false)
438
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
439
+ }
440
+ }
441
+ return message;
442
+ }
443
+ internalBinaryWrite(message: ListPendingRequestsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
444
+ /* repeated sid.v1.authz.AccessRequestDetail requests = 1; */
445
+ for (let i = 0; i < message.requests.length; i++)
446
+ AccessRequestDetail.internalBinaryWrite(message.requests[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
447
+ /* sid.v1.common.PaginationResponse pagination = 2; */
448
+ if (message.pagination)
449
+ PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
450
+ let u = options.writeUnknownFields;
451
+ if (u !== false)
452
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
453
+ return writer;
454
+ }
455
+ }
456
+ /**
457
+ * @generated MessageType for protobuf message sid.v1.authz.ListPendingRequestsResponse
458
+ */
459
+ export const ListPendingRequestsResponse = new ListPendingRequestsResponse$Type();
460
+ // @generated message type with reflection information, may provide speed optimized methods
461
+ class AccessRequestDetail$Type extends MessageType<AccessRequestDetail> {
462
+ constructor() {
463
+ super("sid.v1.authz.AccessRequestDetail", [
464
+ { no: 1, name: "request_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
465
+ { no: 2, name: "requester_profile_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
466
+ { no: 3, name: "requester_display_name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
467
+ { no: 4, name: "requested_role", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
468
+ { no: 5, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
469
+ { no: 6, name: "requested_duration", kind: "message", T: () => Duration },
470
+ { no: 7, name: "status", kind: "enum", T: () => ["sid.v1.authz.AccessRequestStatus", AccessRequestStatus, "ACCESS_REQUEST_STATUS_"] },
471
+ { no: 8, name: "created_at", kind: "message", T: () => Timestamp },
472
+ { no: 9, name: "expires_at", kind: "message", T: () => Timestamp }
473
+ ]);
474
+ }
475
+ create(value?: PartialMessage<AccessRequestDetail>): AccessRequestDetail {
476
+ const message = globalThis.Object.create((this.messagePrototype!));
477
+ message.requestId = "";
478
+ message.requesterProfileId = "";
479
+ message.requesterDisplayName = "";
480
+ message.requestedRole = "";
481
+ message.justification = "";
482
+ message.status = 0;
483
+ if (value !== undefined)
484
+ reflectionMergePartial<AccessRequestDetail>(this, message, value);
485
+ return message;
486
+ }
487
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccessRequestDetail): AccessRequestDetail {
488
+ let message = target ?? this.create(), end = reader.pos + length;
489
+ while (reader.pos < end) {
490
+ let [fieldNo, wireType] = reader.tag();
491
+ switch (fieldNo) {
492
+ case /* string request_id */ 1:
493
+ message.requestId = reader.string();
494
+ break;
495
+ case /* string requester_profile_id */ 2:
496
+ message.requesterProfileId = reader.string();
497
+ break;
498
+ case /* string requester_display_name */ 3:
499
+ message.requesterDisplayName = reader.string();
500
+ break;
501
+ case /* string requested_role */ 4:
502
+ message.requestedRole = reader.string();
503
+ break;
504
+ case /* string justification */ 5:
505
+ message.justification = reader.string();
506
+ break;
507
+ case /* optional google.protobuf.Duration requested_duration */ 6:
508
+ message.requestedDuration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.requestedDuration);
509
+ break;
510
+ case /* sid.v1.authz.AccessRequestStatus status */ 7:
511
+ message.status = reader.int32();
512
+ break;
513
+ case /* google.protobuf.Timestamp created_at */ 8:
514
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
515
+ break;
516
+ case /* google.protobuf.Timestamp expires_at */ 9:
517
+ message.expiresAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
518
+ break;
519
+ default:
520
+ let u = options.readUnknownField;
521
+ if (u === "throw")
522
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
523
+ let d = reader.skip(wireType);
524
+ if (u !== false)
525
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
526
+ }
527
+ }
528
+ return message;
529
+ }
530
+ internalBinaryWrite(message: AccessRequestDetail, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
531
+ /* string request_id = 1; */
532
+ if (message.requestId !== "")
533
+ writer.tag(1, WireType.LengthDelimited).string(message.requestId);
534
+ /* string requester_profile_id = 2; */
535
+ if (message.requesterProfileId !== "")
536
+ writer.tag(2, WireType.LengthDelimited).string(message.requesterProfileId);
537
+ /* string requester_display_name = 3; */
538
+ if (message.requesterDisplayName !== "")
539
+ writer.tag(3, WireType.LengthDelimited).string(message.requesterDisplayName);
540
+ /* string requested_role = 4; */
541
+ if (message.requestedRole !== "")
542
+ writer.tag(4, WireType.LengthDelimited).string(message.requestedRole);
543
+ /* string justification = 5; */
544
+ if (message.justification !== "")
545
+ writer.tag(5, WireType.LengthDelimited).string(message.justification);
546
+ /* optional google.protobuf.Duration requested_duration = 6; */
547
+ if (message.requestedDuration)
548
+ Duration.internalBinaryWrite(message.requestedDuration, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
549
+ /* sid.v1.authz.AccessRequestStatus status = 7; */
550
+ if (message.status !== 0)
551
+ writer.tag(7, WireType.Varint).int32(message.status);
552
+ /* google.protobuf.Timestamp created_at = 8; */
553
+ if (message.createdAt)
554
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
555
+ /* google.protobuf.Timestamp expires_at = 9; */
556
+ if (message.expiresAt)
557
+ Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
558
+ let u = options.writeUnknownFields;
559
+ if (u !== false)
560
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
561
+ return writer;
562
+ }
563
+ }
564
+ /**
565
+ * @generated MessageType for protobuf message sid.v1.authz.AccessRequestDetail
566
+ */
567
+ export const AccessRequestDetail = new AccessRequestDetail$Type();
568
+ // @generated message type with reflection information, may provide speed optimized methods
569
+ class DecideRequestRequest$Type extends MessageType<DecideRequestRequest> {
570
+ constructor() {
571
+ super("sid.v1.authz.DecideRequestRequest", [
572
+ { no: 1, name: "request_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
573
+ { no: 2, name: "approved", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
574
+ { no: 3, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
575
+ ]);
576
+ }
577
+ create(value?: PartialMessage<DecideRequestRequest>): DecideRequestRequest {
578
+ const message = globalThis.Object.create((this.messagePrototype!));
579
+ message.requestId = "";
580
+ message.approved = false;
581
+ message.reason = "";
582
+ if (value !== undefined)
583
+ reflectionMergePartial<DecideRequestRequest>(this, message, value);
584
+ return message;
585
+ }
586
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DecideRequestRequest): DecideRequestRequest {
587
+ let message = target ?? this.create(), end = reader.pos + length;
588
+ while (reader.pos < end) {
589
+ let [fieldNo, wireType] = reader.tag();
590
+ switch (fieldNo) {
591
+ case /* string request_id */ 1:
592
+ message.requestId = reader.string();
593
+ break;
594
+ case /* bool approved */ 2:
595
+ message.approved = reader.bool();
596
+ break;
597
+ case /* string reason */ 3:
598
+ message.reason = reader.string();
599
+ break;
600
+ default:
601
+ let u = options.readUnknownField;
602
+ if (u === "throw")
603
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
604
+ let d = reader.skip(wireType);
605
+ if (u !== false)
606
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
607
+ }
608
+ }
609
+ return message;
610
+ }
611
+ internalBinaryWrite(message: DecideRequestRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
612
+ /* string request_id = 1; */
613
+ if (message.requestId !== "")
614
+ writer.tag(1, WireType.LengthDelimited).string(message.requestId);
615
+ /* bool approved = 2; */
616
+ if (message.approved !== false)
617
+ writer.tag(2, WireType.Varint).bool(message.approved);
618
+ /* string reason = 3; */
619
+ if (message.reason !== "")
620
+ writer.tag(3, WireType.LengthDelimited).string(message.reason);
621
+ let u = options.writeUnknownFields;
622
+ if (u !== false)
623
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
624
+ return writer;
625
+ }
626
+ }
627
+ /**
628
+ * @generated MessageType for protobuf message sid.v1.authz.DecideRequestRequest
629
+ */
630
+ export const DecideRequestRequest = new DecideRequestRequest$Type();
631
+ // @generated message type with reflection information, may provide speed optimized methods
632
+ class DecideRequestResponse$Type extends MessageType<DecideRequestResponse> {
633
+ constructor() {
634
+ super("sid.v1.authz.DecideRequestResponse", [
635
+ { no: 1, name: "request_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
636
+ { no: 2, name: "status", kind: "enum", T: () => ["sid.v1.authz.AccessRequestStatus", AccessRequestStatus, "ACCESS_REQUEST_STATUS_"] }
637
+ ]);
638
+ }
639
+ create(value?: PartialMessage<DecideRequestResponse>): DecideRequestResponse {
640
+ const message = globalThis.Object.create((this.messagePrototype!));
641
+ message.requestId = "";
642
+ message.status = 0;
643
+ if (value !== undefined)
644
+ reflectionMergePartial<DecideRequestResponse>(this, message, value);
645
+ return message;
646
+ }
647
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DecideRequestResponse): DecideRequestResponse {
648
+ let message = target ?? this.create(), end = reader.pos + length;
649
+ while (reader.pos < end) {
650
+ let [fieldNo, wireType] = reader.tag();
651
+ switch (fieldNo) {
652
+ case /* string request_id */ 1:
653
+ message.requestId = reader.string();
654
+ break;
655
+ case /* sid.v1.authz.AccessRequestStatus status */ 2:
656
+ message.status = reader.int32();
657
+ break;
658
+ default:
659
+ let u = options.readUnknownField;
660
+ if (u === "throw")
661
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
662
+ let d = reader.skip(wireType);
663
+ if (u !== false)
664
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
665
+ }
666
+ }
667
+ return message;
668
+ }
669
+ internalBinaryWrite(message: DecideRequestResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
670
+ /* string request_id = 1; */
671
+ if (message.requestId !== "")
672
+ writer.tag(1, WireType.LengthDelimited).string(message.requestId);
673
+ /* sid.v1.authz.AccessRequestStatus status = 2; */
674
+ if (message.status !== 0)
675
+ writer.tag(2, WireType.Varint).int32(message.status);
676
+ let u = options.writeUnknownFields;
677
+ if (u !== false)
678
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
679
+ return writer;
680
+ }
681
+ }
682
+ /**
683
+ * @generated MessageType for protobuf message sid.v1.authz.DecideRequestResponse
684
+ */
685
+ export const DecideRequestResponse = new DecideRequestResponse$Type();
686
+ // @generated message type with reflection information, may provide speed optimized methods
687
+ class GrantTemporaryRoleRequest$Type extends MessageType<GrantTemporaryRoleRequest> {
688
+ constructor() {
689
+ super("sid.v1.authz.GrantTemporaryRoleRequest", [
690
+ { no: 1, name: "profile_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
691
+ { no: 2, name: "role", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
692
+ { no: 3, name: "expires_at", kind: "message", T: () => Timestamp },
693
+ { no: 4, name: "justification", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
694
+ ]);
695
+ }
696
+ create(value?: PartialMessage<GrantTemporaryRoleRequest>): GrantTemporaryRoleRequest {
697
+ const message = globalThis.Object.create((this.messagePrototype!));
698
+ message.profileId = "";
699
+ message.role = "";
700
+ message.justification = "";
701
+ if (value !== undefined)
702
+ reflectionMergePartial<GrantTemporaryRoleRequest>(this, message, value);
703
+ return message;
704
+ }
705
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GrantTemporaryRoleRequest): GrantTemporaryRoleRequest {
706
+ let message = target ?? this.create(), end = reader.pos + length;
707
+ while (reader.pos < end) {
708
+ let [fieldNo, wireType] = reader.tag();
709
+ switch (fieldNo) {
710
+ case /* string profile_id */ 1:
711
+ message.profileId = reader.string();
712
+ break;
713
+ case /* string role */ 2:
714
+ message.role = reader.string();
715
+ break;
716
+ case /* google.protobuf.Timestamp expires_at */ 3:
717
+ message.expiresAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
718
+ break;
719
+ case /* string justification */ 4:
720
+ message.justification = reader.string();
721
+ break;
722
+ default:
723
+ let u = options.readUnknownField;
724
+ if (u === "throw")
725
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
726
+ let d = reader.skip(wireType);
727
+ if (u !== false)
728
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
729
+ }
730
+ }
731
+ return message;
732
+ }
733
+ internalBinaryWrite(message: GrantTemporaryRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
734
+ /* string profile_id = 1; */
735
+ if (message.profileId !== "")
736
+ writer.tag(1, WireType.LengthDelimited).string(message.profileId);
737
+ /* string role = 2; */
738
+ if (message.role !== "")
739
+ writer.tag(2, WireType.LengthDelimited).string(message.role);
740
+ /* google.protobuf.Timestamp expires_at = 3; */
741
+ if (message.expiresAt)
742
+ Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
743
+ /* string justification = 4; */
744
+ if (message.justification !== "")
745
+ writer.tag(4, WireType.LengthDelimited).string(message.justification);
746
+ let u = options.writeUnknownFields;
747
+ if (u !== false)
748
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
749
+ return writer;
750
+ }
751
+ }
752
+ /**
753
+ * @generated MessageType for protobuf message sid.v1.authz.GrantTemporaryRoleRequest
754
+ */
755
+ export const GrantTemporaryRoleRequest = new GrantTemporaryRoleRequest$Type();
756
+ // @generated message type with reflection information, may provide speed optimized methods
757
+ class GrantTemporaryRoleResponse$Type extends MessageType<GrantTemporaryRoleResponse> {
758
+ constructor() {
759
+ super("sid.v1.authz.GrantTemporaryRoleResponse", [
760
+ { no: 1, name: "assignment_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
761
+ { no: 2, name: "expires_at", kind: "message", T: () => Timestamp }
762
+ ]);
763
+ }
764
+ create(value?: PartialMessage<GrantTemporaryRoleResponse>): GrantTemporaryRoleResponse {
765
+ const message = globalThis.Object.create((this.messagePrototype!));
766
+ message.assignmentId = "";
767
+ if (value !== undefined)
768
+ reflectionMergePartial<GrantTemporaryRoleResponse>(this, message, value);
769
+ return message;
770
+ }
771
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GrantTemporaryRoleResponse): GrantTemporaryRoleResponse {
772
+ let message = target ?? this.create(), end = reader.pos + length;
773
+ while (reader.pos < end) {
774
+ let [fieldNo, wireType] = reader.tag();
775
+ switch (fieldNo) {
776
+ case /* string assignment_id */ 1:
777
+ message.assignmentId = reader.string();
778
+ break;
779
+ case /* google.protobuf.Timestamp expires_at */ 2:
780
+ message.expiresAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
781
+ break;
782
+ default:
783
+ let u = options.readUnknownField;
784
+ if (u === "throw")
785
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
786
+ let d = reader.skip(wireType);
787
+ if (u !== false)
788
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
789
+ }
790
+ }
791
+ return message;
792
+ }
793
+ internalBinaryWrite(message: GrantTemporaryRoleResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
794
+ /* string assignment_id = 1; */
795
+ if (message.assignmentId !== "")
796
+ writer.tag(1, WireType.LengthDelimited).string(message.assignmentId);
797
+ /* google.protobuf.Timestamp expires_at = 2; */
798
+ if (message.expiresAt)
799
+ Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
800
+ let u = options.writeUnknownFields;
801
+ if (u !== false)
802
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
803
+ return writer;
804
+ }
805
+ }
806
+ /**
807
+ * @generated MessageType for protobuf message sid.v1.authz.GrantTemporaryRoleResponse
808
+ */
809
+ export const GrantTemporaryRoleResponse = new GrantTemporaryRoleResponse$Type();
810
+ /**
811
+ * @generated ServiceType for protobuf service sid.v1.authz.GovernanceService
812
+ */
813
+ export const GovernanceService = new ServiceType("sid.v1.authz.GovernanceService", [
814
+ { name: "RequestAccess", options: { "google.api.http": { post: "/v1/governance/access-requests", body: "*" } }, I: AccessRequestMessage, O: AccessRequestResponse },
815
+ { name: "ListPendingRequests", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/governance/access-requests" } }, I: ListPendingRequestsRequest, O: ListPendingRequestsResponse },
816
+ { name: "DecideRequest", idempotency: "IDEMPOTENT", options: { "google.api.http": { post: "/v1/governance/access-requests/{request_id}/decide", body: "*" } }, I: DecideRequestRequest, O: DecideRequestResponse },
817
+ { name: "GrantTemporaryRole", options: { "google.api.http": { post: "/v1/governance/temporary-roles", body: "*" } }, I: GrantTemporaryRoleRequest, O: GrantTemporaryRoleResponse }
818
+ ]);