Passed
Pull Request — master (#2657)
by
unknown
03:44
created

basev1.*SchemaReadRequestMetadata.Reset   A

Complexity

Conditions 1

Size

Total Lines 5
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
// Code generated by protoc-gen-go. DO NOT EDIT.
2
// versions:
3
// 	protoc-gen-go v1.36.10
4
// 	protoc        (unknown)
5
// source: base/v1/service.proto
6
7
package basev1
8
9
import (
10
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
11
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
12
	_ "google.golang.org/genproto/googleapis/api/annotations"
13
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
14
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
15
	reflect "reflect"
16
	sync "sync"
17
	unsafe "unsafe"
18
)
19
20
const (
21
	// Verify that this generated code is sufficiently up-to-date.
22
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
23
	// Verify that runtime/protoimpl is sufficiently up-to-date.
24
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
25
)
26
27
// PermissionCheckRequest is the request message for the Check method in the Permission service.
28
type PermissionCheckRequest struct {
29
	state protoimpl.MessageState `protogen:"open.v1"`
30
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
31
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
32
	// Metadata associated with this request, required.
33
	Metadata *PermissionCheckRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
34
	// Entity on which the permission needs to be checked, required.
35
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
36
	// Name of the permission or relation, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
37
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
38
	// Subject for which the permission needs to be checked, required.
39
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
40
	// Context associated with this request.
41
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
42
	// Additional arguments associated with this request.
43
	Arguments     []*Argument `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty"`
44
	unknownFields protoimpl.UnknownFields
45
	sizeCache     protoimpl.SizeCache
46
}
47
48
func (x *PermissionCheckRequest) Reset() {
49
	*x = PermissionCheckRequest{}
50
	mi := &file_base_v1_service_proto_msgTypes[0]
51
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
52
	ms.StoreMessageInfo(mi)
53
}
54
55
func (x *PermissionCheckRequest) String() string {
56
	return protoimpl.X.MessageStringOf(x)
57
}
58
59
func (*PermissionCheckRequest) ProtoMessage() {}
60
61
func (x *PermissionCheckRequest) ProtoReflect() protoreflect.Message {
62
	mi := &file_base_v1_service_proto_msgTypes[0]
63
	if x != nil {
64
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
65
		if ms.LoadMessageInfo() == nil {
66
			ms.StoreMessageInfo(mi)
67
		}
68
		return ms
69
	}
70
	return mi.MessageOf(x)
71
}
72
73
// Deprecated: Use PermissionCheckRequest.ProtoReflect.Descriptor instead.
74
func (*PermissionCheckRequest) Descriptor() ([]byte, []int) {
75
	return file_base_v1_service_proto_rawDescGZIP(), []int{0}
76
}
77
78
func (x *PermissionCheckRequest) GetTenantId() string {
79
	if x != nil {
80
		return x.TenantId
81
	}
82
	return ""
83
}
84
85
func (x *PermissionCheckRequest) GetMetadata() *PermissionCheckRequestMetadata {
86
	if x != nil {
87
		return x.Metadata
88
	}
89
	return nil
90
}
91
92
func (x *PermissionCheckRequest) GetEntity() *Entity {
93
	if x != nil {
94
		return x.Entity
95
	}
96
	return nil
97
}
98
99
func (x *PermissionCheckRequest) GetPermission() string {
100
	if x != nil {
101
		return x.Permission
102
	}
103
	return ""
104
}
105
106
func (x *PermissionCheckRequest) GetSubject() *Subject {
107
	if x != nil {
108
		return x.Subject
109
	}
110
	return nil
111
}
112
113
func (x *PermissionCheckRequest) GetContext() *Context {
114
	if x != nil {
115
		return x.Context
116
	}
117
	return nil
118
}
119
120
func (x *PermissionCheckRequest) GetArguments() []*Argument {
121
	if x != nil {
122
		return x.Arguments
123
	}
124
	return nil
125
}
126
127
// PermissionCheckRequestMetadata metadata for the PermissionCheckRequest.
128
type PermissionCheckRequestMetadata struct {
129
	state protoimpl.MessageState `protogen:"open.v1"`
130
	// Version of the schema.
131
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
132
	// Token associated with the snap.
133
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
134
	// Depth of the check, must be greater than or equal to 3.
135
	Depth         int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
136
	unknownFields protoimpl.UnknownFields
137
	sizeCache     protoimpl.SizeCache
138
}
139
140
func (x *PermissionCheckRequestMetadata) Reset() {
141
	*x = PermissionCheckRequestMetadata{}
142
	mi := &file_base_v1_service_proto_msgTypes[1]
143
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
144
	ms.StoreMessageInfo(mi)
145
}
146
147
func (x *PermissionCheckRequestMetadata) String() string {
148
	return protoimpl.X.MessageStringOf(x)
149
}
150
151
func (*PermissionCheckRequestMetadata) ProtoMessage() {}
152
153
func (x *PermissionCheckRequestMetadata) ProtoReflect() protoreflect.Message {
154
	mi := &file_base_v1_service_proto_msgTypes[1]
155
	if x != nil {
156
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
157
		if ms.LoadMessageInfo() == nil {
158
			ms.StoreMessageInfo(mi)
159
		}
160
		return ms
161
	}
162
	return mi.MessageOf(x)
163
}
164
165
// Deprecated: Use PermissionCheckRequestMetadata.ProtoReflect.Descriptor instead.
166
func (*PermissionCheckRequestMetadata) Descriptor() ([]byte, []int) {
167
	return file_base_v1_service_proto_rawDescGZIP(), []int{1}
168
}
169
170
func (x *PermissionCheckRequestMetadata) GetSchemaVersion() string {
171
	if x != nil {
172
		return x.SchemaVersion
173
	}
174
	return ""
175
}
176
177
func (x *PermissionCheckRequestMetadata) GetSnapToken() string {
178
	if x != nil {
179
		return x.SnapToken
180
	}
181
	return ""
182
}
183
184
func (x *PermissionCheckRequestMetadata) GetDepth() int32 {
185
	if x != nil {
186
		return x.Depth
187
	}
188
	return 0
189
}
190
191
// PermissionCheckResponse is the response message for the Check method in the Permission service.
192
type PermissionCheckResponse struct {
193
	state protoimpl.MessageState `protogen:"open.v1"`
194
	// Result of the permission check.
195
	Can CheckResult `protobuf:"varint,1,opt,name=can,proto3,enum=base.v1.CheckResult" json:"can,omitempty"`
196
	// Metadata associated with this response.
197
	Metadata      *PermissionCheckResponseMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
198
	unknownFields protoimpl.UnknownFields
199
	sizeCache     protoimpl.SizeCache
200
}
201
202
func (x *PermissionCheckResponse) Reset() {
203
	*x = PermissionCheckResponse{}
204
	mi := &file_base_v1_service_proto_msgTypes[2]
205
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
206
	ms.StoreMessageInfo(mi)
207
}
208
209
func (x *PermissionCheckResponse) String() string {
210
	return protoimpl.X.MessageStringOf(x)
211
}
212
213
func (*PermissionCheckResponse) ProtoMessage() {}
214
215
func (x *PermissionCheckResponse) ProtoReflect() protoreflect.Message {
216
	mi := &file_base_v1_service_proto_msgTypes[2]
217
	if x != nil {
218
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
219
		if ms.LoadMessageInfo() == nil {
220
			ms.StoreMessageInfo(mi)
221
		}
222
		return ms
223
	}
224
	return mi.MessageOf(x)
225
}
226
227
// Deprecated: Use PermissionCheckResponse.ProtoReflect.Descriptor instead.
228
func (*PermissionCheckResponse) Descriptor() ([]byte, []int) {
229
	return file_base_v1_service_proto_rawDescGZIP(), []int{2}
230
}
231
232
func (x *PermissionCheckResponse) GetCan() CheckResult {
233
	if x != nil {
234
		return x.Can
235
	}
236
	return CheckResult_CHECK_RESULT_UNSPECIFIED
237
}
238
239
func (x *PermissionCheckResponse) GetMetadata() *PermissionCheckResponseMetadata {
240
	if x != nil {
241
		return x.Metadata
242
	}
243
	return nil
244
}
245
246
// PermissionCheckResponseMetadata metadata for the PermissionCheckResponse.
247
type PermissionCheckResponseMetadata struct {
248
	state protoimpl.MessageState `protogen:"open.v1"`
249
	// The count of the checks performed.
250
	CheckCount    int32 `protobuf:"varint,1,opt,name=check_count,proto3" json:"check_count,omitempty"`
251
	unknownFields protoimpl.UnknownFields
252
	sizeCache     protoimpl.SizeCache
253
}
254
255
func (x *PermissionCheckResponseMetadata) Reset() {
256
	*x = PermissionCheckResponseMetadata{}
257
	mi := &file_base_v1_service_proto_msgTypes[3]
258
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
259
	ms.StoreMessageInfo(mi)
260
}
261
262
func (x *PermissionCheckResponseMetadata) String() string {
263
	return protoimpl.X.MessageStringOf(x)
264
}
265
266
func (*PermissionCheckResponseMetadata) ProtoMessage() {}
267
268
func (x *PermissionCheckResponseMetadata) ProtoReflect() protoreflect.Message {
269
	mi := &file_base_v1_service_proto_msgTypes[3]
270
	if x != nil {
271
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
272
		if ms.LoadMessageInfo() == nil {
273
			ms.StoreMessageInfo(mi)
274
		}
275
		return ms
276
	}
277
	return mi.MessageOf(x)
278
}
279
280
// Deprecated: Use PermissionCheckResponseMetadata.ProtoReflect.Descriptor instead.
281
func (*PermissionCheckResponseMetadata) Descriptor() ([]byte, []int) {
282
	return file_base_v1_service_proto_rawDescGZIP(), []int{3}
283
}
284
285
func (x *PermissionCheckResponseMetadata) GetCheckCount() int32 {
286
	if x != nil {
287
		return x.CheckCount
288
	}
289
	return 0
290
}
291
292
// BULK CHECK
293
type PermissionBulkCheckRequestItem struct {
294
	state protoimpl.MessageState `protogen:"open.v1"`
295
	// Entity on which the permission needs to be checked, required.
296
	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
297
	// Name of the permission or relation, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
298
	Permission string `protobuf:"bytes,2,opt,name=permission,proto3" json:"permission,omitempty"`
299
	// Subject for which the permission needs to be checked, required.
300
	Subject       *Subject `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"`
301
	unknownFields protoimpl.UnknownFields
302
	sizeCache     protoimpl.SizeCache
303
}
304
305
func (x *PermissionBulkCheckRequestItem) Reset() {
306
	*x = PermissionBulkCheckRequestItem{}
307
	mi := &file_base_v1_service_proto_msgTypes[4]
308
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
309
	ms.StoreMessageInfo(mi)
310
}
311
312
func (x *PermissionBulkCheckRequestItem) String() string {
313
	return protoimpl.X.MessageStringOf(x)
314
}
315
316
func (*PermissionBulkCheckRequestItem) ProtoMessage() {}
317
318
func (x *PermissionBulkCheckRequestItem) ProtoReflect() protoreflect.Message {
319
	mi := &file_base_v1_service_proto_msgTypes[4]
320
	if x != nil {
321
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
322
		if ms.LoadMessageInfo() == nil {
323
			ms.StoreMessageInfo(mi)
324
		}
325
		return ms
326
	}
327
	return mi.MessageOf(x)
328
}
329
330
// Deprecated: Use PermissionBulkCheckRequestItem.ProtoReflect.Descriptor instead.
331
func (*PermissionBulkCheckRequestItem) Descriptor() ([]byte, []int) {
332
	return file_base_v1_service_proto_rawDescGZIP(), []int{4}
333
}
334
335
func (x *PermissionBulkCheckRequestItem) GetEntity() *Entity {
336
	if x != nil {
337
		return x.Entity
338
	}
339
	return nil
340
}
341
342
func (x *PermissionBulkCheckRequestItem) GetPermission() string {
343
	if x != nil {
344
		return x.Permission
345
	}
346
	return ""
347
}
348
349
func (x *PermissionBulkCheckRequestItem) GetSubject() *Subject {
350
	if x != nil {
351
		return x.Subject
352
	}
353
	return nil
354
}
355
356
// PermissionBulkCheckRequest is the request message for the BulkCheck method in the Permission service.
357
type PermissionBulkCheckRequest struct {
358
	state protoimpl.MessageState `protogen:"open.v1"`
359
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
360
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
361
	// Metadata associated with this request, required.
362
	Metadata *PermissionCheckRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
363
	// List of permission check requests, maximum 100 items.
364
	Items []*PermissionBulkCheckRequestItem `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"`
365
	// Context associated with this request.
366
	Context *Context `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"`
367
	// Additional arguments associated with this request.
368
	Arguments     []*Argument `protobuf:"bytes,5,rep,name=arguments,proto3" json:"arguments,omitempty"`
369
	unknownFields protoimpl.UnknownFields
370
	sizeCache     protoimpl.SizeCache
371
}
372
373
func (x *PermissionBulkCheckRequest) Reset() {
374
	*x = PermissionBulkCheckRequest{}
375
	mi := &file_base_v1_service_proto_msgTypes[5]
376
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
377
	ms.StoreMessageInfo(mi)
378
}
379
380
func (x *PermissionBulkCheckRequest) String() string {
381
	return protoimpl.X.MessageStringOf(x)
382
}
383
384
func (*PermissionBulkCheckRequest) ProtoMessage() {}
385
386
func (x *PermissionBulkCheckRequest) ProtoReflect() protoreflect.Message {
387
	mi := &file_base_v1_service_proto_msgTypes[5]
388
	if x != nil {
389
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
390
		if ms.LoadMessageInfo() == nil {
391
			ms.StoreMessageInfo(mi)
392
		}
393
		return ms
394
	}
395
	return mi.MessageOf(x)
396
}
397
398
// Deprecated: Use PermissionBulkCheckRequest.ProtoReflect.Descriptor instead.
399
func (*PermissionBulkCheckRequest) Descriptor() ([]byte, []int) {
400
	return file_base_v1_service_proto_rawDescGZIP(), []int{5}
401
}
402
403
func (x *PermissionBulkCheckRequest) GetTenantId() string {
404
	if x != nil {
405
		return x.TenantId
406
	}
407
	return ""
408
}
409
410
func (x *PermissionBulkCheckRequest) GetMetadata() *PermissionCheckRequestMetadata {
411
	if x != nil {
412
		return x.Metadata
413
	}
414
	return nil
415
}
416
417
func (x *PermissionBulkCheckRequest) GetItems() []*PermissionBulkCheckRequestItem {
418
	if x != nil {
419
		return x.Items
420
	}
421
	return nil
422
}
423
424
func (x *PermissionBulkCheckRequest) GetContext() *Context {
425
	if x != nil {
426
		return x.Context
427
	}
428
	return nil
429
}
430
431
func (x *PermissionBulkCheckRequest) GetArguments() []*Argument {
432
	if x != nil {
433
		return x.Arguments
434
	}
435
	return nil
436
}
437
438
// PermissionBulkCheckResponse is the response message for the BulkCheck method in the Permission service.
439
type PermissionBulkCheckResponse struct {
440
	state protoimpl.MessageState `protogen:"open.v1"`
441
	// List of permission check responses corresponding to each request.
442
	Results       []*PermissionCheckResponse `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
443
	unknownFields protoimpl.UnknownFields
444
	sizeCache     protoimpl.SizeCache
445
}
446
447
func (x *PermissionBulkCheckResponse) Reset() {
448
	*x = PermissionBulkCheckResponse{}
449
	mi := &file_base_v1_service_proto_msgTypes[6]
450
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
451
	ms.StoreMessageInfo(mi)
452
}
453
454
func (x *PermissionBulkCheckResponse) String() string {
455
	return protoimpl.X.MessageStringOf(x)
456
}
457
458
func (*PermissionBulkCheckResponse) ProtoMessage() {}
459
460
func (x *PermissionBulkCheckResponse) ProtoReflect() protoreflect.Message {
461
	mi := &file_base_v1_service_proto_msgTypes[6]
462
	if x != nil {
463
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
464
		if ms.LoadMessageInfo() == nil {
465
			ms.StoreMessageInfo(mi)
466
		}
467
		return ms
468
	}
469
	return mi.MessageOf(x)
470
}
471
472
// Deprecated: Use PermissionBulkCheckResponse.ProtoReflect.Descriptor instead.
473
func (*PermissionBulkCheckResponse) Descriptor() ([]byte, []int) {
474
	return file_base_v1_service_proto_rawDescGZIP(), []int{6}
475
}
476
477
func (x *PermissionBulkCheckResponse) GetResults() []*PermissionCheckResponse {
478
	if x != nil {
479
		return x.Results
480
	}
481
	return nil
482
}
483
484
// PermissionExpandRequest is the request message for the Expand method in the Permission service.
485
type PermissionExpandRequest struct {
486
	state protoimpl.MessageState `protogen:"open.v1"`
487
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
488
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
489
	// Metadata associated with this request, required.
490
	Metadata *PermissionExpandRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
491
	// Entity on which the permission needs to be expanded, required.
492
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
493
	// Name of the permission to be expanded, not required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
494
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
495
	// Context associated with this request.
496
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
497
	// Additional arguments associated with this request.
498
	Arguments     []*Argument `protobuf:"bytes,6,rep,name=arguments,proto3" json:"arguments,omitempty"`
499
	unknownFields protoimpl.UnknownFields
500
	sizeCache     protoimpl.SizeCache
501
}
502
503
func (x *PermissionExpandRequest) Reset() {
504
	*x = PermissionExpandRequest{}
505
	mi := &file_base_v1_service_proto_msgTypes[7]
506
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
507
	ms.StoreMessageInfo(mi)
508
}
509
510
func (x *PermissionExpandRequest) String() string {
511
	return protoimpl.X.MessageStringOf(x)
512
}
513
514
func (*PermissionExpandRequest) ProtoMessage() {}
515
516
func (x *PermissionExpandRequest) ProtoReflect() protoreflect.Message {
517
	mi := &file_base_v1_service_proto_msgTypes[7]
518
	if x != nil {
519
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
520
		if ms.LoadMessageInfo() == nil {
521
			ms.StoreMessageInfo(mi)
522
		}
523
		return ms
524
	}
525
	return mi.MessageOf(x)
526
}
527
528
// Deprecated: Use PermissionExpandRequest.ProtoReflect.Descriptor instead.
529
func (*PermissionExpandRequest) Descriptor() ([]byte, []int) {
530
	return file_base_v1_service_proto_rawDescGZIP(), []int{7}
531
}
532
533
func (x *PermissionExpandRequest) GetTenantId() string {
534
	if x != nil {
535
		return x.TenantId
536
	}
537
	return ""
538
}
539
540
func (x *PermissionExpandRequest) GetMetadata() *PermissionExpandRequestMetadata {
541
	if x != nil {
542
		return x.Metadata
543
	}
544
	return nil
545
}
546
547
func (x *PermissionExpandRequest) GetEntity() *Entity {
548
	if x != nil {
549
		return x.Entity
550
	}
551
	return nil
552
}
553
554
func (x *PermissionExpandRequest) GetPermission() string {
555
	if x != nil {
556
		return x.Permission
557
	}
558
	return ""
559
}
560
561
func (x *PermissionExpandRequest) GetContext() *Context {
562
	if x != nil {
563
		return x.Context
564
	}
565
	return nil
566
}
567
568
func (x *PermissionExpandRequest) GetArguments() []*Argument {
569
	if x != nil {
570
		return x.Arguments
571
	}
572
	return nil
573
}
574
575
// PermissionExpandRequestMetadata metadata for the PermissionExpandRequest.
576
type PermissionExpandRequestMetadata struct {
577
	state protoimpl.MessageState `protogen:"open.v1"`
578
	// Version of the schema.
579
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
580
	// Token associated with the snap.
581
	SnapToken     string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
582
	unknownFields protoimpl.UnknownFields
583
	sizeCache     protoimpl.SizeCache
584
}
585
586
func (x *PermissionExpandRequestMetadata) Reset() {
587
	*x = PermissionExpandRequestMetadata{}
588
	mi := &file_base_v1_service_proto_msgTypes[8]
589
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
590
	ms.StoreMessageInfo(mi)
591
}
592
593
func (x *PermissionExpandRequestMetadata) String() string {
594
	return protoimpl.X.MessageStringOf(x)
595
}
596
597
func (*PermissionExpandRequestMetadata) ProtoMessage() {}
598
599
func (x *PermissionExpandRequestMetadata) ProtoReflect() protoreflect.Message {
600
	mi := &file_base_v1_service_proto_msgTypes[8]
601
	if x != nil {
602
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
603
		if ms.LoadMessageInfo() == nil {
604
			ms.StoreMessageInfo(mi)
605
		}
606
		return ms
607
	}
608
	return mi.MessageOf(x)
609
}
610
611
// Deprecated: Use PermissionExpandRequestMetadata.ProtoReflect.Descriptor instead.
612
func (*PermissionExpandRequestMetadata) Descriptor() ([]byte, []int) {
613
	return file_base_v1_service_proto_rawDescGZIP(), []int{8}
614
}
615
616
func (x *PermissionExpandRequestMetadata) GetSchemaVersion() string {
617
	if x != nil {
618
		return x.SchemaVersion
619
	}
620
	return ""
621
}
622
623
func (x *PermissionExpandRequestMetadata) GetSnapToken() string {
624
	if x != nil {
625
		return x.SnapToken
626
	}
627
	return ""
628
}
629
630
// PermissionExpandResponse is the response message for the Expand method in the Permission service.
631
type PermissionExpandResponse struct {
632
	state protoimpl.MessageState `protogen:"open.v1"`
633
	// Expansion tree.
634
	Tree          *Expand `protobuf:"bytes,1,opt,name=tree,proto3" json:"tree,omitempty"`
635
	unknownFields protoimpl.UnknownFields
636
	sizeCache     protoimpl.SizeCache
637
}
638
639
func (x *PermissionExpandResponse) Reset() {
640
	*x = PermissionExpandResponse{}
641
	mi := &file_base_v1_service_proto_msgTypes[9]
642
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
643
	ms.StoreMessageInfo(mi)
644
}
645
646
func (x *PermissionExpandResponse) String() string {
647
	return protoimpl.X.MessageStringOf(x)
648
}
649
650
func (*PermissionExpandResponse) ProtoMessage() {}
651
652
func (x *PermissionExpandResponse) ProtoReflect() protoreflect.Message {
653
	mi := &file_base_v1_service_proto_msgTypes[9]
654
	if x != nil {
655
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
656
		if ms.LoadMessageInfo() == nil {
657
			ms.StoreMessageInfo(mi)
658
		}
659
		return ms
660
	}
661
	return mi.MessageOf(x)
662
}
663
664
// Deprecated: Use PermissionExpandResponse.ProtoReflect.Descriptor instead.
665
func (*PermissionExpandResponse) Descriptor() ([]byte, []int) {
666
	return file_base_v1_service_proto_rawDescGZIP(), []int{9}
667
}
668
669
func (x *PermissionExpandResponse) GetTree() *Expand {
670
	if x != nil {
671
		return x.Tree
672
	}
673
	return nil
674
}
675
676
// PermissionLookupEntityRequest is the request message for the LookupEntity method in the Permission service.
677
type PermissionLookupEntityRequest struct {
678
	state protoimpl.MessageState `protogen:"open.v1"`
679
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
680
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
681
	// Metadata associated with this request, required.
682
	Metadata *PermissionLookupEntityRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
683
	// Type of the entity to lookup, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
684
	EntityType string `protobuf:"bytes,3,opt,name=entity_type,proto3" json:"entity_type,omitempty"`
685
	// Name of the permission to check, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
686
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
687
	// Subject for which to check the permission, required.
688
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
689
	// Context associated with this request.
690
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
691
	// Scope: A map that associates entity types with lists of identifiers. Each entry
692
	// helps filter requests by specifying which entities are relevant to the operation.
693
	Scope map[string]*StringArrayValue `protobuf:"bytes,7,rep,name=scope,proto3" json:"scope,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
694
	// page_size is the number of entities to be returned in the response.
695
	// The value should be between 1 and 100.
696
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
697
	// continuous_token is an optional parameter used for pagination.
698
	// It should be the value received in the previous response.
699
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
700
	unknownFields   protoimpl.UnknownFields
701
	sizeCache       protoimpl.SizeCache
702
}
703
704
func (x *PermissionLookupEntityRequest) Reset() {
705
	*x = PermissionLookupEntityRequest{}
706
	mi := &file_base_v1_service_proto_msgTypes[10]
707
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
708
	ms.StoreMessageInfo(mi)
709
}
710
711
func (x *PermissionLookupEntityRequest) String() string {
712
	return protoimpl.X.MessageStringOf(x)
713
}
714
715
func (*PermissionLookupEntityRequest) ProtoMessage() {}
716
717
func (x *PermissionLookupEntityRequest) ProtoReflect() protoreflect.Message {
718
	mi := &file_base_v1_service_proto_msgTypes[10]
719
	if x != nil {
720
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
721
		if ms.LoadMessageInfo() == nil {
722
			ms.StoreMessageInfo(mi)
723
		}
724
		return ms
725
	}
726
	return mi.MessageOf(x)
727
}
728
729
// Deprecated: Use PermissionLookupEntityRequest.ProtoReflect.Descriptor instead.
730
func (*PermissionLookupEntityRequest) Descriptor() ([]byte, []int) {
731
	return file_base_v1_service_proto_rawDescGZIP(), []int{10}
732
}
733
734
func (x *PermissionLookupEntityRequest) GetTenantId() string {
735
	if x != nil {
736
		return x.TenantId
737
	}
738
	return ""
739
}
740
741
func (x *PermissionLookupEntityRequest) GetMetadata() *PermissionLookupEntityRequestMetadata {
742
	if x != nil {
743
		return x.Metadata
744
	}
745
	return nil
746
}
747
748
func (x *PermissionLookupEntityRequest) GetEntityType() string {
749
	if x != nil {
750
		return x.EntityType
751
	}
752
	return ""
753
}
754
755
func (x *PermissionLookupEntityRequest) GetPermission() string {
756
	if x != nil {
757
		return x.Permission
758
	}
759
	return ""
760
}
761
762
func (x *PermissionLookupEntityRequest) GetSubject() *Subject {
763
	if x != nil {
764
		return x.Subject
765
	}
766
	return nil
767
}
768
769
func (x *PermissionLookupEntityRequest) GetContext() *Context {
770
	if x != nil {
771
		return x.Context
772
	}
773
	return nil
774
}
775
776
func (x *PermissionLookupEntityRequest) GetScope() map[string]*StringArrayValue {
777
	if x != nil {
778
		return x.Scope
779
	}
780
	return nil
781
}
782
783
func (x *PermissionLookupEntityRequest) GetPageSize() uint32 {
784
	if x != nil {
785
		return x.PageSize
786
	}
787
	return 0
788
}
789
790
func (x *PermissionLookupEntityRequest) GetContinuousToken() string {
791
	if x != nil {
792
		return x.ContinuousToken
793
	}
794
	return ""
795
}
796
797
// PermissionLookupEntityRequestMetadata metadata for the PermissionLookupEntityRequest.
798
type PermissionLookupEntityRequestMetadata struct {
799
	state protoimpl.MessageState `protogen:"open.v1"`
800
	// Version of the schema.
801
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
802
	// Token associated with the snap.
803
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
804
	// Depth of lookup, required, must be greater or equal to 3.
805
	Depth         int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
806
	unknownFields protoimpl.UnknownFields
807
	sizeCache     protoimpl.SizeCache
808
}
809
810
func (x *PermissionLookupEntityRequestMetadata) Reset() {
811
	*x = PermissionLookupEntityRequestMetadata{}
812
	mi := &file_base_v1_service_proto_msgTypes[11]
813
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
814
	ms.StoreMessageInfo(mi)
815
}
816
817
func (x *PermissionLookupEntityRequestMetadata) String() string {
818
	return protoimpl.X.MessageStringOf(x)
819
}
820
821
func (*PermissionLookupEntityRequestMetadata) ProtoMessage() {}
822
823
func (x *PermissionLookupEntityRequestMetadata) ProtoReflect() protoreflect.Message {
824
	mi := &file_base_v1_service_proto_msgTypes[11]
825
	if x != nil {
826
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
827
		if ms.LoadMessageInfo() == nil {
828
			ms.StoreMessageInfo(mi)
829
		}
830
		return ms
831
	}
832
	return mi.MessageOf(x)
833
}
834
835
// Deprecated: Use PermissionLookupEntityRequestMetadata.ProtoReflect.Descriptor instead.
836
func (*PermissionLookupEntityRequestMetadata) Descriptor() ([]byte, []int) {
837
	return file_base_v1_service_proto_rawDescGZIP(), []int{11}
838
}
839
840
func (x *PermissionLookupEntityRequestMetadata) GetSchemaVersion() string {
841
	if x != nil {
842
		return x.SchemaVersion
843
	}
844
	return ""
845
}
846
847
func (x *PermissionLookupEntityRequestMetadata) GetSnapToken() string {
848
	if x != nil {
849
		return x.SnapToken
850
	}
851
	return ""
852
}
853
854
func (x *PermissionLookupEntityRequestMetadata) GetDepth() int32 {
855
	if x != nil {
856
		return x.Depth
857
	}
858
	return 0
859
}
860
861
// PermissionLookupEntityResponse is the response message for the LookupEntity method in the Permission service.
862
type PermissionLookupEntityResponse struct {
863
	state protoimpl.MessageState `protogen:"open.v1"`
864
	// List of identifiers for entities that match the lookup.
865
	EntityIds []string `protobuf:"bytes,1,rep,name=entity_ids,proto3" json:"entity_ids,omitempty"`
866
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
867
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
868
	unknownFields   protoimpl.UnknownFields
869
	sizeCache       protoimpl.SizeCache
870
}
871
872
func (x *PermissionLookupEntityResponse) Reset() {
873
	*x = PermissionLookupEntityResponse{}
874
	mi := &file_base_v1_service_proto_msgTypes[12]
875
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
876
	ms.StoreMessageInfo(mi)
877
}
878
879
func (x *PermissionLookupEntityResponse) String() string {
880
	return protoimpl.X.MessageStringOf(x)
881
}
882
883
func (*PermissionLookupEntityResponse) ProtoMessage() {}
884
885
func (x *PermissionLookupEntityResponse) ProtoReflect() protoreflect.Message {
886
	mi := &file_base_v1_service_proto_msgTypes[12]
887
	if x != nil {
888
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
889
		if ms.LoadMessageInfo() == nil {
890
			ms.StoreMessageInfo(mi)
891
		}
892
		return ms
893
	}
894
	return mi.MessageOf(x)
895
}
896
897
// Deprecated: Use PermissionLookupEntityResponse.ProtoReflect.Descriptor instead.
898
func (*PermissionLookupEntityResponse) Descriptor() ([]byte, []int) {
899
	return file_base_v1_service_proto_rawDescGZIP(), []int{12}
900
}
901
902
func (x *PermissionLookupEntityResponse) GetEntityIds() []string {
903
	if x != nil {
904
		return x.EntityIds
905
	}
906
	return nil
907
}
908
909
func (x *PermissionLookupEntityResponse) GetContinuousToken() string {
910
	if x != nil {
911
		return x.ContinuousToken
912
	}
913
	return ""
914
}
915
916
// PermissionLookupEntityStreamResponse is the response message for the LookupEntityStream method in the Permission service.
917
type PermissionLookupEntityStreamResponse struct {
918
	state protoimpl.MessageState `protogen:"open.v1"`
919
	// Identifier for an entity that matches the lookup.
920
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,proto3" json:"entity_id,omitempty"`
921
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
922
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
923
	unknownFields   protoimpl.UnknownFields
924
	sizeCache       protoimpl.SizeCache
925
}
926
927
func (x *PermissionLookupEntityStreamResponse) Reset() {
928
	*x = PermissionLookupEntityStreamResponse{}
929
	mi := &file_base_v1_service_proto_msgTypes[13]
930
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
931
	ms.StoreMessageInfo(mi)
932
}
933
934
func (x *PermissionLookupEntityStreamResponse) String() string {
935
	return protoimpl.X.MessageStringOf(x)
936
}
937
938
func (*PermissionLookupEntityStreamResponse) ProtoMessage() {}
939
940
func (x *PermissionLookupEntityStreamResponse) ProtoReflect() protoreflect.Message {
941
	mi := &file_base_v1_service_proto_msgTypes[13]
942
	if x != nil {
943
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
944
		if ms.LoadMessageInfo() == nil {
945
			ms.StoreMessageInfo(mi)
946
		}
947
		return ms
948
	}
949
	return mi.MessageOf(x)
950
}
951
952
// Deprecated: Use PermissionLookupEntityStreamResponse.ProtoReflect.Descriptor instead.
953
func (*PermissionLookupEntityStreamResponse) Descriptor() ([]byte, []int) {
954
	return file_base_v1_service_proto_rawDescGZIP(), []int{13}
955
}
956
957
func (x *PermissionLookupEntityStreamResponse) GetEntityId() string {
958
	if x != nil {
959
		return x.EntityId
960
	}
961
	return ""
962
}
963
964
func (x *PermissionLookupEntityStreamResponse) GetContinuousToken() string {
965
	if x != nil {
966
		return x.ContinuousToken
967
	}
968
	return ""
969
}
970
971
// PermissionEntityFilterRequest is the request message for the LookupEntityStream method in the Permission service.
972
type PermissionEntityFilterRequest struct {
973
	state protoimpl.MessageState `protogen:"open.v1"`
974
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
975
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
976
	// Metadata associated with this request, required.
977
	Metadata *PermissionEntityFilterRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
978
	// Reference to the entity to filter.
979
	Entrance *Entrance `protobuf:"bytes,3,opt,name=entrance,proto3" json:"entrance,omitempty"`
980
	// Subject for which to check the permission.
981
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
982
	// Context associated with this request.
983
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
984
	// Scope: A map that associates entity types with lists of identifiers. Each entry
985
	// helps filter requests by specifying which entities are relevant to the operation.
986
	Scope map[string]*StringArrayValue `protobuf:"bytes,6,rep,name=scope,proto3" json:"scope,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
987
	// cursor is an optional parameter used for pagination.
988
	// It should be the value received in the previous response.
989
	Cursor        string `protobuf:"bytes,7,opt,name=cursor,proto3" json:"cursor,omitempty"`
990
	unknownFields protoimpl.UnknownFields
991
	sizeCache     protoimpl.SizeCache
992
}
993
994
func (x *PermissionEntityFilterRequest) Reset() {
995
	*x = PermissionEntityFilterRequest{}
996
	mi := &file_base_v1_service_proto_msgTypes[14]
997
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
998
	ms.StoreMessageInfo(mi)
999
}
1000
1001
func (x *PermissionEntityFilterRequest) String() string {
1002
	return protoimpl.X.MessageStringOf(x)
1003
}
1004
1005
func (*PermissionEntityFilterRequest) ProtoMessage() {}
1006
1007
func (x *PermissionEntityFilterRequest) ProtoReflect() protoreflect.Message {
1008
	mi := &file_base_v1_service_proto_msgTypes[14]
1009
	if x != nil {
1010
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1011
		if ms.LoadMessageInfo() == nil {
1012
			ms.StoreMessageInfo(mi)
1013
		}
1014
		return ms
1015
	}
1016
	return mi.MessageOf(x)
1017
}
1018
1019
// Deprecated: Use PermissionEntityFilterRequest.ProtoReflect.Descriptor instead.
1020
func (*PermissionEntityFilterRequest) Descriptor() ([]byte, []int) {
1021
	return file_base_v1_service_proto_rawDescGZIP(), []int{14}
1022
}
1023
1024
func (x *PermissionEntityFilterRequest) GetTenantId() string {
1025
	if x != nil {
1026
		return x.TenantId
1027
	}
1028
	return ""
1029
}
1030
1031
func (x *PermissionEntityFilterRequest) GetMetadata() *PermissionEntityFilterRequestMetadata {
1032
	if x != nil {
1033
		return x.Metadata
1034
	}
1035
	return nil
1036
}
1037
1038
func (x *PermissionEntityFilterRequest) GetEntrance() *Entrance {
1039
	if x != nil {
1040
		return x.Entrance
1041
	}
1042
	return nil
1043
}
1044
1045
func (x *PermissionEntityFilterRequest) GetSubject() *Subject {
1046
	if x != nil {
1047
		return x.Subject
1048
	}
1049
	return nil
1050
}
1051
1052
func (x *PermissionEntityFilterRequest) GetContext() *Context {
1053
	if x != nil {
1054
		return x.Context
1055
	}
1056
	return nil
1057
}
1058
1059
func (x *PermissionEntityFilterRequest) GetScope() map[string]*StringArrayValue {
1060
	if x != nil {
1061
		return x.Scope
1062
	}
1063
	return nil
1064
}
1065
1066
func (x *PermissionEntityFilterRequest) GetCursor() string {
1067
	if x != nil {
1068
		return x.Cursor
1069
	}
1070
	return ""
1071
}
1072
1073
// PermissionEntityFilterRequestMetadata metadata for the PermissionEntityFilterRequest.
1074
type PermissionEntityFilterRequestMetadata struct {
1075
	state protoimpl.MessageState `protogen:"open.v1"`
1076
	// Version of the schema.
1077
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1078
	// Token associated with the snap.
1079
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1080
	// Depth of lookup, required, must be greater or equal to 3.
1081
	Depth         int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1082
	unknownFields protoimpl.UnknownFields
1083
	sizeCache     protoimpl.SizeCache
1084
}
1085
1086
func (x *PermissionEntityFilterRequestMetadata) Reset() {
1087
	*x = PermissionEntityFilterRequestMetadata{}
1088
	mi := &file_base_v1_service_proto_msgTypes[15]
1089
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1090
	ms.StoreMessageInfo(mi)
1091
}
1092
1093
func (x *PermissionEntityFilterRequestMetadata) String() string {
1094
	return protoimpl.X.MessageStringOf(x)
1095
}
1096
1097
func (*PermissionEntityFilterRequestMetadata) ProtoMessage() {}
1098
1099
func (x *PermissionEntityFilterRequestMetadata) ProtoReflect() protoreflect.Message {
1100
	mi := &file_base_v1_service_proto_msgTypes[15]
1101
	if x != nil {
1102
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1103
		if ms.LoadMessageInfo() == nil {
1104
			ms.StoreMessageInfo(mi)
1105
		}
1106
		return ms
1107
	}
1108
	return mi.MessageOf(x)
1109
}
1110
1111
// Deprecated: Use PermissionEntityFilterRequestMetadata.ProtoReflect.Descriptor instead.
1112
func (*PermissionEntityFilterRequestMetadata) Descriptor() ([]byte, []int) {
1113
	return file_base_v1_service_proto_rawDescGZIP(), []int{15}
1114
}
1115
1116
func (x *PermissionEntityFilterRequestMetadata) GetSchemaVersion() string {
1117
	if x != nil {
1118
		return x.SchemaVersion
1119
	}
1120
	return ""
1121
}
1122
1123
func (x *PermissionEntityFilterRequestMetadata) GetSnapToken() string {
1124
	if x != nil {
1125
		return x.SnapToken
1126
	}
1127
	return ""
1128
}
1129
1130
func (x *PermissionEntityFilterRequestMetadata) GetDepth() int32 {
1131
	if x != nil {
1132
		return x.Depth
1133
	}
1134
	return 0
1135
}
1136
1137
// PermissionLookupSubjectRequest is the request message for the LookupSubject method in the Permission service.
1138
type PermissionLookupSubjectRequest struct {
1139
	state protoimpl.MessageState `protogen:"open.v1"`
1140
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1141
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1142
	// Metadata associated with this request, required.
1143
	Metadata *PermissionLookupSubjectRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1144
	// Entity for which to check the permission, required.
1145
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1146
	// Permission to be checked, can be a permission or relation. Required, and must match the pattern "^([a-zA-Z][a-zA-Z0-9_]{1,62}[a-zA-Z0-9])$", max 64 bytes.
1147
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
1148
	// Reference to the subject to lookup.
1149
	SubjectReference *RelationReference `protobuf:"bytes,5,opt,name=subject_reference,proto3" json:"subject_reference,omitempty"`
1150
	// Context associated with this request.
1151
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
1152
	// Additional arguments associated with this request.
1153
	Arguments []*Argument `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty"`
1154
	// page_size is the number of subjects to be returned in the response.
1155
	// The value should be between 1 and 100.
1156
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
1157
	// continuous_token is an optional parameter used for pagination.
1158
	// It should be the value received in the previous response.
1159
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1160
	unknownFields   protoimpl.UnknownFields
1161
	sizeCache       protoimpl.SizeCache
1162
}
1163
1164
func (x *PermissionLookupSubjectRequest) Reset() {
1165
	*x = PermissionLookupSubjectRequest{}
1166
	mi := &file_base_v1_service_proto_msgTypes[16]
1167
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1168
	ms.StoreMessageInfo(mi)
1169
}
1170
1171
func (x *PermissionLookupSubjectRequest) String() string {
1172
	return protoimpl.X.MessageStringOf(x)
1173
}
1174
1175
func (*PermissionLookupSubjectRequest) ProtoMessage() {}
1176
1177
func (x *PermissionLookupSubjectRequest) ProtoReflect() protoreflect.Message {
1178
	mi := &file_base_v1_service_proto_msgTypes[16]
1179
	if x != nil {
1180
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1181
		if ms.LoadMessageInfo() == nil {
1182
			ms.StoreMessageInfo(mi)
1183
		}
1184
		return ms
1185
	}
1186
	return mi.MessageOf(x)
1187
}
1188
1189
// Deprecated: Use PermissionLookupSubjectRequest.ProtoReflect.Descriptor instead.
1190
func (*PermissionLookupSubjectRequest) Descriptor() ([]byte, []int) {
1191
	return file_base_v1_service_proto_rawDescGZIP(), []int{16}
1192
}
1193
1194
func (x *PermissionLookupSubjectRequest) GetTenantId() string {
1195
	if x != nil {
1196
		return x.TenantId
1197
	}
1198
	return ""
1199
}
1200
1201
func (x *PermissionLookupSubjectRequest) GetMetadata() *PermissionLookupSubjectRequestMetadata {
1202
	if x != nil {
1203
		return x.Metadata
1204
	}
1205
	return nil
1206
}
1207
1208
func (x *PermissionLookupSubjectRequest) GetEntity() *Entity {
1209
	if x != nil {
1210
		return x.Entity
1211
	}
1212
	return nil
1213
}
1214
1215
func (x *PermissionLookupSubjectRequest) GetPermission() string {
1216
	if x != nil {
1217
		return x.Permission
1218
	}
1219
	return ""
1220
}
1221
1222
func (x *PermissionLookupSubjectRequest) GetSubjectReference() *RelationReference {
1223
	if x != nil {
1224
		return x.SubjectReference
1225
	}
1226
	return nil
1227
}
1228
1229
func (x *PermissionLookupSubjectRequest) GetContext() *Context {
1230
	if x != nil {
1231
		return x.Context
1232
	}
1233
	return nil
1234
}
1235
1236
func (x *PermissionLookupSubjectRequest) GetArguments() []*Argument {
1237
	if x != nil {
1238
		return x.Arguments
1239
	}
1240
	return nil
1241
}
1242
1243
func (x *PermissionLookupSubjectRequest) GetPageSize() uint32 {
1244
	if x != nil {
1245
		return x.PageSize
1246
	}
1247
	return 0
1248
}
1249
1250
func (x *PermissionLookupSubjectRequest) GetContinuousToken() string {
1251
	if x != nil {
1252
		return x.ContinuousToken
1253
	}
1254
	return ""
1255
}
1256
1257
// PermissionLookupSubjectRequestMetadata metadata for the PermissionLookupSubjectRequest.
1258
type PermissionLookupSubjectRequestMetadata struct {
1259
	state protoimpl.MessageState `protogen:"open.v1"`
1260
	// Version of the schema.
1261
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1262
	// Token associated with the snap.
1263
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1264
	// Depth of the check, must be greater than or equal to 3.
1265
	Depth         int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1266
	unknownFields protoimpl.UnknownFields
1267
	sizeCache     protoimpl.SizeCache
1268
}
1269
1270
func (x *PermissionLookupSubjectRequestMetadata) Reset() {
1271
	*x = PermissionLookupSubjectRequestMetadata{}
1272
	mi := &file_base_v1_service_proto_msgTypes[17]
1273
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1274
	ms.StoreMessageInfo(mi)
1275
}
1276
1277
func (x *PermissionLookupSubjectRequestMetadata) String() string {
1278
	return protoimpl.X.MessageStringOf(x)
1279
}
1280
1281
func (*PermissionLookupSubjectRequestMetadata) ProtoMessage() {}
1282
1283
func (x *PermissionLookupSubjectRequestMetadata) ProtoReflect() protoreflect.Message {
1284
	mi := &file_base_v1_service_proto_msgTypes[17]
1285
	if x != nil {
1286
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1287
		if ms.LoadMessageInfo() == nil {
1288
			ms.StoreMessageInfo(mi)
1289
		}
1290
		return ms
1291
	}
1292
	return mi.MessageOf(x)
1293
}
1294
1295
// Deprecated: Use PermissionLookupSubjectRequestMetadata.ProtoReflect.Descriptor instead.
1296
func (*PermissionLookupSubjectRequestMetadata) Descriptor() ([]byte, []int) {
1297
	return file_base_v1_service_proto_rawDescGZIP(), []int{17}
1298
}
1299
1300
func (x *PermissionLookupSubjectRequestMetadata) GetSchemaVersion() string {
1301
	if x != nil {
1302
		return x.SchemaVersion
1303
	}
1304
	return ""
1305
}
1306
1307
func (x *PermissionLookupSubjectRequestMetadata) GetSnapToken() string {
1308
	if x != nil {
1309
		return x.SnapToken
1310
	}
1311
	return ""
1312
}
1313
1314
func (x *PermissionLookupSubjectRequestMetadata) GetDepth() int32 {
1315
	if x != nil {
1316
		return x.Depth
1317
	}
1318
	return 0
1319
}
1320
1321
// PermissionLookupSubjectResponse is the response message for the LookupSubject method in the Permission service.
1322
type PermissionLookupSubjectResponse struct {
1323
	state protoimpl.MessageState `protogen:"open.v1"`
1324
	// List of identifiers for subjects that match the lookup.
1325
	SubjectIds []string `protobuf:"bytes,1,rep,name=subject_ids,proto3" json:"subject_ids,omitempty"`
1326
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1327
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1328
	unknownFields   protoimpl.UnknownFields
1329
	sizeCache       protoimpl.SizeCache
1330
}
1331
1332
func (x *PermissionLookupSubjectResponse) Reset() {
1333
	*x = PermissionLookupSubjectResponse{}
1334
	mi := &file_base_v1_service_proto_msgTypes[18]
1335
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336
	ms.StoreMessageInfo(mi)
1337
}
1338
1339
func (x *PermissionLookupSubjectResponse) String() string {
1340
	return protoimpl.X.MessageStringOf(x)
1341
}
1342
1343
func (*PermissionLookupSubjectResponse) ProtoMessage() {}
1344
1345
func (x *PermissionLookupSubjectResponse) ProtoReflect() protoreflect.Message {
1346
	mi := &file_base_v1_service_proto_msgTypes[18]
1347
	if x != nil {
1348
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1349
		if ms.LoadMessageInfo() == nil {
1350
			ms.StoreMessageInfo(mi)
1351
		}
1352
		return ms
1353
	}
1354
	return mi.MessageOf(x)
1355
}
1356
1357
// Deprecated: Use PermissionLookupSubjectResponse.ProtoReflect.Descriptor instead.
1358
func (*PermissionLookupSubjectResponse) Descriptor() ([]byte, []int) {
1359
	return file_base_v1_service_proto_rawDescGZIP(), []int{18}
1360
}
1361
1362
func (x *PermissionLookupSubjectResponse) GetSubjectIds() []string {
1363
	if x != nil {
1364
		return x.SubjectIds
1365
	}
1366
	return nil
1367
}
1368
1369
func (x *PermissionLookupSubjectResponse) GetContinuousToken() string {
1370
	if x != nil {
1371
		return x.ContinuousToken
1372
	}
1373
	return ""
1374
}
1375
1376
// PermissionSubjectPermissionRequest is the request message for the SubjectPermission method in the Permission service.
1377
type PermissionSubjectPermissionRequest struct {
1378
	state protoimpl.MessageState `protogen:"open.v1"`
1379
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1380
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1381
	// Metadata associated with this request, required.
1382
	Metadata *PermissionSubjectPermissionRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1383
	// Entity for which to check the permission, required.
1384
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1385
	// Subject for which to check the permission, required.
1386
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1387
	// Context associated with this request.
1388
	Context       *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1389
	unknownFields protoimpl.UnknownFields
1390
	sizeCache     protoimpl.SizeCache
1391
}
1392
1393
func (x *PermissionSubjectPermissionRequest) Reset() {
1394
	*x = PermissionSubjectPermissionRequest{}
1395
	mi := &file_base_v1_service_proto_msgTypes[19]
1396
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1397
	ms.StoreMessageInfo(mi)
1398
}
1399
1400
func (x *PermissionSubjectPermissionRequest) String() string {
1401
	return protoimpl.X.MessageStringOf(x)
1402
}
1403
1404
func (*PermissionSubjectPermissionRequest) ProtoMessage() {}
1405
1406
func (x *PermissionSubjectPermissionRequest) ProtoReflect() protoreflect.Message {
1407
	mi := &file_base_v1_service_proto_msgTypes[19]
1408
	if x != nil {
1409
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1410
		if ms.LoadMessageInfo() == nil {
1411
			ms.StoreMessageInfo(mi)
1412
		}
1413
		return ms
1414
	}
1415
	return mi.MessageOf(x)
1416
}
1417
1418
// Deprecated: Use PermissionSubjectPermissionRequest.ProtoReflect.Descriptor instead.
1419
func (*PermissionSubjectPermissionRequest) Descriptor() ([]byte, []int) {
1420
	return file_base_v1_service_proto_rawDescGZIP(), []int{19}
1421
}
1422
1423
func (x *PermissionSubjectPermissionRequest) GetTenantId() string {
1424
	if x != nil {
1425
		return x.TenantId
1426
	}
1427
	return ""
1428
}
1429
1430
func (x *PermissionSubjectPermissionRequest) GetMetadata() *PermissionSubjectPermissionRequestMetadata {
1431
	if x != nil {
1432
		return x.Metadata
1433
	}
1434
	return nil
1435
}
1436
1437
func (x *PermissionSubjectPermissionRequest) GetEntity() *Entity {
1438
	if x != nil {
1439
		return x.Entity
1440
	}
1441
	return nil
1442
}
1443
1444
func (x *PermissionSubjectPermissionRequest) GetSubject() *Subject {
1445
	if x != nil {
1446
		return x.Subject
1447
	}
1448
	return nil
1449
}
1450
1451
func (x *PermissionSubjectPermissionRequest) GetContext() *Context {
1452
	if x != nil {
1453
		return x.Context
1454
	}
1455
	return nil
1456
}
1457
1458
// PermissionSubjectPermissionRequestMetadata metadata for the PermissionSubjectPermissionRequest.
1459
type PermissionSubjectPermissionRequestMetadata struct {
1460
	state protoimpl.MessageState `protogen:"open.v1"`
1461
	// Version of the schema.
1462
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1463
	// Token associated with the snap.
1464
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1465
	// Whether to only check permissions.
1466
	OnlyPermission bool `protobuf:"varint,3,opt,name=only_permission,proto3" json:"only_permission,omitempty"`
1467
	// Depth of the check, must be greater than or equal to 3.
1468
	Depth         int32 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"`
1469
	unknownFields protoimpl.UnknownFields
1470
	sizeCache     protoimpl.SizeCache
1471
}
1472
1473
func (x *PermissionSubjectPermissionRequestMetadata) Reset() {
1474
	*x = PermissionSubjectPermissionRequestMetadata{}
1475
	mi := &file_base_v1_service_proto_msgTypes[20]
1476
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1477
	ms.StoreMessageInfo(mi)
1478
}
1479
1480
func (x *PermissionSubjectPermissionRequestMetadata) String() string {
1481
	return protoimpl.X.MessageStringOf(x)
1482
}
1483
1484
func (*PermissionSubjectPermissionRequestMetadata) ProtoMessage() {}
1485
1486
func (x *PermissionSubjectPermissionRequestMetadata) ProtoReflect() protoreflect.Message {
1487
	mi := &file_base_v1_service_proto_msgTypes[20]
1488
	if x != nil {
1489
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1490
		if ms.LoadMessageInfo() == nil {
1491
			ms.StoreMessageInfo(mi)
1492
		}
1493
		return ms
1494
	}
1495
	return mi.MessageOf(x)
1496
}
1497
1498
// Deprecated: Use PermissionSubjectPermissionRequestMetadata.ProtoReflect.Descriptor instead.
1499
func (*PermissionSubjectPermissionRequestMetadata) Descriptor() ([]byte, []int) {
1500
	return file_base_v1_service_proto_rawDescGZIP(), []int{20}
1501
}
1502
1503
func (x *PermissionSubjectPermissionRequestMetadata) GetSchemaVersion() string {
1504
	if x != nil {
1505
		return x.SchemaVersion
1506
	}
1507
	return ""
1508
}
1509
1510
func (x *PermissionSubjectPermissionRequestMetadata) GetSnapToken() string {
1511
	if x != nil {
1512
		return x.SnapToken
1513
	}
1514
	return ""
1515
}
1516
1517
func (x *PermissionSubjectPermissionRequestMetadata) GetOnlyPermission() bool {
1518
	if x != nil {
1519
		return x.OnlyPermission
1520
	}
1521
	return false
1522
}
1523
1524
func (x *PermissionSubjectPermissionRequestMetadata) GetDepth() int32 {
1525
	if x != nil {
1526
		return x.Depth
1527
	}
1528
	return 0
1529
}
1530
1531
// PermissionSubjectPermissionResponse is the response message for the SubjectPermission method in the Permission service.
1532
type PermissionSubjectPermissionResponse struct {
1533
	state protoimpl.MessageState `protogen:"open.v1"`
1534
	// Map of results for each permission check.
1535
	Results       map[string]CheckResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=base.v1.CheckResult"`
1536
	unknownFields protoimpl.UnknownFields
1537
	sizeCache     protoimpl.SizeCache
1538
}
1539
1540
func (x *PermissionSubjectPermissionResponse) Reset() {
1541
	*x = PermissionSubjectPermissionResponse{}
1542
	mi := &file_base_v1_service_proto_msgTypes[21]
1543
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1544
	ms.StoreMessageInfo(mi)
1545
}
1546
1547
func (x *PermissionSubjectPermissionResponse) String() string {
1548
	return protoimpl.X.MessageStringOf(x)
1549
}
1550
1551
func (*PermissionSubjectPermissionResponse) ProtoMessage() {}
1552
1553
func (x *PermissionSubjectPermissionResponse) ProtoReflect() protoreflect.Message {
1554
	mi := &file_base_v1_service_proto_msgTypes[21]
1555
	if x != nil {
1556
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1557
		if ms.LoadMessageInfo() == nil {
1558
			ms.StoreMessageInfo(mi)
1559
		}
1560
		return ms
1561
	}
1562
	return mi.MessageOf(x)
1563
}
1564
1565
// Deprecated: Use PermissionSubjectPermissionResponse.ProtoReflect.Descriptor instead.
1566
func (*PermissionSubjectPermissionResponse) Descriptor() ([]byte, []int) {
1567
	return file_base_v1_service_proto_rawDescGZIP(), []int{21}
1568
}
1569
1570
func (x *PermissionSubjectPermissionResponse) GetResults() map[string]CheckResult {
1571
	if x != nil {
1572
		return x.Results
1573
	}
1574
	return nil
1575
}
1576
1577
// WatchRequest is the request message for the Watch RPC. It contains the
1578
// details needed to establish a watch stream.
1579
type WatchRequest struct {
1580
	state protoimpl.MessageState `protogen:"open.v1"`
1581
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1582
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1583
	// Snap token to be used for watching.
1584
	SnapToken     string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1585
	unknownFields protoimpl.UnknownFields
1586
	sizeCache     protoimpl.SizeCache
1587
}
1588
1589
func (x *WatchRequest) Reset() {
1590
	*x = WatchRequest{}
1591
	mi := &file_base_v1_service_proto_msgTypes[22]
1592
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1593
	ms.StoreMessageInfo(mi)
1594
}
1595
1596
func (x *WatchRequest) String() string {
1597
	return protoimpl.X.MessageStringOf(x)
1598
}
1599
1600
func (*WatchRequest) ProtoMessage() {}
1601
1602
func (x *WatchRequest) ProtoReflect() protoreflect.Message {
1603
	mi := &file_base_v1_service_proto_msgTypes[22]
1604
	if x != nil {
1605
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1606
		if ms.LoadMessageInfo() == nil {
1607
			ms.StoreMessageInfo(mi)
1608
		}
1609
		return ms
1610
	}
1611
	return mi.MessageOf(x)
1612
}
1613
1614
// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
1615
func (*WatchRequest) Descriptor() ([]byte, []int) {
1616
	return file_base_v1_service_proto_rawDescGZIP(), []int{22}
1617
}
1618
1619
func (x *WatchRequest) GetTenantId() string {
1620
	if x != nil {
1621
		return x.TenantId
1622
	}
1623
	return ""
1624
}
1625
1626
func (x *WatchRequest) GetSnapToken() string {
1627
	if x != nil {
1628
		return x.SnapToken
1629
	}
1630
	return ""
1631
}
1632
1633
// WatchResponse is the response message for the Watch RPC. It contains the
1634
// changes in the data that are being watched.
1635
type WatchResponse struct {
1636
	state protoimpl.MessageState `protogen:"open.v1"`
1637
	// Changes in the data.
1638
	Changes       *DataChanges `protobuf:"bytes,1,opt,name=changes,proto3" json:"changes,omitempty"`
1639
	unknownFields protoimpl.UnknownFields
1640
	sizeCache     protoimpl.SizeCache
1641
}
1642
1643
func (x *WatchResponse) Reset() {
1644
	*x = WatchResponse{}
1645
	mi := &file_base_v1_service_proto_msgTypes[23]
1646
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1647
	ms.StoreMessageInfo(mi)
1648
}
1649
1650
func (x *WatchResponse) String() string {
1651
	return protoimpl.X.MessageStringOf(x)
1652
}
1653
1654
func (*WatchResponse) ProtoMessage() {}
1655
1656
func (x *WatchResponse) ProtoReflect() protoreflect.Message {
1657
	mi := &file_base_v1_service_proto_msgTypes[23]
1658
	if x != nil {
1659
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1660
		if ms.LoadMessageInfo() == nil {
1661
			ms.StoreMessageInfo(mi)
1662
		}
1663
		return ms
1664
	}
1665
	return mi.MessageOf(x)
1666
}
1667
1668
// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
1669
func (*WatchResponse) Descriptor() ([]byte, []int) {
1670
	return file_base_v1_service_proto_rawDescGZIP(), []int{23}
1671
}
1672
1673
func (x *WatchResponse) GetChanges() *DataChanges {
1674
	if x != nil {
1675
		return x.Changes
1676
	}
1677
	return nil
1678
}
1679
1680
// SchemaWriteRequest is the request message for the Write method in the Schema service.
1681
// It contains tenant_id and the schema to be written.
1682
type SchemaWriteRequest struct {
1683
	state protoimpl.MessageState `protogen:"open.v1"`
1684
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1685
	// be a maximum of 64 bytes, and must not be empty.
1686
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1687
	// schema is the string representation of the schema to be written.
1688
	Schema        string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
1689
	unknownFields protoimpl.UnknownFields
1690
	sizeCache     protoimpl.SizeCache
1691
}
1692
1693
func (x *SchemaWriteRequest) Reset() {
1694
	*x = SchemaWriteRequest{}
1695
	mi := &file_base_v1_service_proto_msgTypes[24]
1696
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1697
	ms.StoreMessageInfo(mi)
1698
}
1699
1700
func (x *SchemaWriteRequest) String() string {
1701
	return protoimpl.X.MessageStringOf(x)
1702
}
1703
1704
func (*SchemaWriteRequest) ProtoMessage() {}
1705
1706
func (x *SchemaWriteRequest) ProtoReflect() protoreflect.Message {
1707
	mi := &file_base_v1_service_proto_msgTypes[24]
1708
	if x != nil {
1709
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1710
		if ms.LoadMessageInfo() == nil {
1711
			ms.StoreMessageInfo(mi)
1712
		}
1713
		return ms
1714
	}
1715
	return mi.MessageOf(x)
1716
}
1717
1718
// Deprecated: Use SchemaWriteRequest.ProtoReflect.Descriptor instead.
1719
func (*SchemaWriteRequest) Descriptor() ([]byte, []int) {
1720
	return file_base_v1_service_proto_rawDescGZIP(), []int{24}
1721
}
1722
1723
func (x *SchemaWriteRequest) GetTenantId() string {
1724
	if x != nil {
1725
		return x.TenantId
1726
	}
1727
	return ""
1728
}
1729
1730
func (x *SchemaWriteRequest) GetSchema() string {
1731
	if x != nil {
1732
		return x.Schema
1733
	}
1734
	return ""
1735
}
1736
1737
// SchemaWriteResponse is the response message for the Write method in the Schema service.
1738
// It returns the version of the written schema.
1739
type SchemaWriteResponse struct {
1740
	state protoimpl.MessageState `protogen:"open.v1"`
1741
	// schema_version is the string that identifies the version of the written schema.
1742
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1743
	unknownFields protoimpl.UnknownFields
1744
	sizeCache     protoimpl.SizeCache
1745
}
1746
1747
func (x *SchemaWriteResponse) Reset() {
1748
	*x = SchemaWriteResponse{}
1749
	mi := &file_base_v1_service_proto_msgTypes[25]
1750
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1751
	ms.StoreMessageInfo(mi)
1752
}
1753
1754
func (x *SchemaWriteResponse) String() string {
1755
	return protoimpl.X.MessageStringOf(x)
1756
}
1757
1758
func (*SchemaWriteResponse) ProtoMessage() {}
1759
1760
func (x *SchemaWriteResponse) ProtoReflect() protoreflect.Message {
1761
	mi := &file_base_v1_service_proto_msgTypes[25]
1762
	if x != nil {
1763
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1764
		if ms.LoadMessageInfo() == nil {
1765
			ms.StoreMessageInfo(mi)
1766
		}
1767
		return ms
1768
	}
1769
	return mi.MessageOf(x)
1770
}
1771
1772
// Deprecated: Use SchemaWriteResponse.ProtoReflect.Descriptor instead.
1773
func (*SchemaWriteResponse) Descriptor() ([]byte, []int) {
1774
	return file_base_v1_service_proto_rawDescGZIP(), []int{25}
1775
}
1776
1777
func (x *SchemaWriteResponse) GetSchemaVersion() string {
1778
	if x != nil {
1779
		return x.SchemaVersion
1780
	}
1781
	return ""
1782
}
1783
1784
// It contains the tenant_id to identify the tenant and metadata of the schema to be edited,
1785
// with the corresponding edits to various entities
1786
type SchemaPartialWriteRequest struct {
1787
	state protoimpl.MessageState `protogen:"open.v1"`
1788
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1789
	// be a maximum of 64 bytes, and must not be empty.
1790
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1791
	// metadata is the additional information needed for the Partial Write request.
1792
	Metadata *SchemaPartialWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1793
	// Map of entity name with the values needed to be updated
1794
	Partials      map[string]*Partials `protobuf:"bytes,3,rep,name=partials,proto3" json:"partials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1795
	unknownFields protoimpl.UnknownFields
1796
	sizeCache     protoimpl.SizeCache
1797
}
1798
1799
func (x *SchemaPartialWriteRequest) Reset() {
1800
	*x = SchemaPartialWriteRequest{}
1801
	mi := &file_base_v1_service_proto_msgTypes[26]
1802
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1803
	ms.StoreMessageInfo(mi)
1804
}
1805
1806
func (x *SchemaPartialWriteRequest) String() string {
1807
	return protoimpl.X.MessageStringOf(x)
1808
}
1809
1810
func (*SchemaPartialWriteRequest) ProtoMessage() {}
1811
1812
func (x *SchemaPartialWriteRequest) ProtoReflect() protoreflect.Message {
1813
	mi := &file_base_v1_service_proto_msgTypes[26]
1814
	if x != nil {
1815
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1816
		if ms.LoadMessageInfo() == nil {
1817
			ms.StoreMessageInfo(mi)
1818
		}
1819
		return ms
1820
	}
1821
	return mi.MessageOf(x)
1822
}
1823
1824
// Deprecated: Use SchemaPartialWriteRequest.ProtoReflect.Descriptor instead.
1825
func (*SchemaPartialWriteRequest) Descriptor() ([]byte, []int) {
1826
	return file_base_v1_service_proto_rawDescGZIP(), []int{26}
1827
}
1828
1829
func (x *SchemaPartialWriteRequest) GetTenantId() string {
1830
	if x != nil {
1831
		return x.TenantId
1832
	}
1833
	return ""
1834
}
1835
1836
func (x *SchemaPartialWriteRequest) GetMetadata() *SchemaPartialWriteRequestMetadata {
1837
	if x != nil {
1838
		return x.Metadata
1839
	}
1840
	return nil
1841
}
1842
1843
func (x *SchemaPartialWriteRequest) GetPartials() map[string]*Partials {
1844
	if x != nil {
1845
		return x.Partials
1846
	}
1847
	return nil
1848
}
1849
1850
// SchemaPartialWriteRequestMetadata provides additional information for the Schema Partial Write request.
1851
// It contains schema_version to specify which version of the schema should be read.
1852
type SchemaPartialWriteRequestMetadata struct {
1853
	state protoimpl.MessageState `protogen:"open.v1"`
1854
	// schema_version is the string that identifies the version of the schema to be read.
1855
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1856
	unknownFields protoimpl.UnknownFields
1857
	sizeCache     protoimpl.SizeCache
1858
}
1859
1860
func (x *SchemaPartialWriteRequestMetadata) Reset() {
1861
	*x = SchemaPartialWriteRequestMetadata{}
1862
	mi := &file_base_v1_service_proto_msgTypes[27]
1863
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1864
	ms.StoreMessageInfo(mi)
1865
}
1866
1867
func (x *SchemaPartialWriteRequestMetadata) String() string {
1868
	return protoimpl.X.MessageStringOf(x)
1869
}
1870
1871
func (*SchemaPartialWriteRequestMetadata) ProtoMessage() {}
1872
1873
func (x *SchemaPartialWriteRequestMetadata) ProtoReflect() protoreflect.Message {
1874
	mi := &file_base_v1_service_proto_msgTypes[27]
1875
	if x != nil {
1876
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1877
		if ms.LoadMessageInfo() == nil {
1878
			ms.StoreMessageInfo(mi)
1879
		}
1880
		return ms
1881
	}
1882
	return mi.MessageOf(x)
1883
}
1884
1885
// Deprecated: Use SchemaPartialWriteRequestMetadata.ProtoReflect.Descriptor instead.
1886
func (*SchemaPartialWriteRequestMetadata) Descriptor() ([]byte, []int) {
1887
	return file_base_v1_service_proto_rawDescGZIP(), []int{27}
1888
}
1889
1890
func (x *SchemaPartialWriteRequestMetadata) GetSchemaVersion() string {
1891
	if x != nil {
1892
		return x.SchemaVersion
1893
	}
1894
	return ""
1895
}
1896
1897
// SchemaPartialWriteResponse is the response message for the Parietal Write method in the Schema service.
1898
// It returns the requested schema.
1899
type SchemaPartialWriteResponse struct {
1900
	state protoimpl.MessageState `protogen:"open.v1"`
1901
	// schema_version is the string that identifies the version of the written schema.
1902
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1903
	unknownFields protoimpl.UnknownFields
1904
	sizeCache     protoimpl.SizeCache
1905
}
1906
1907
func (x *SchemaPartialWriteResponse) Reset() {
1908
	*x = SchemaPartialWriteResponse{}
1909
	mi := &file_base_v1_service_proto_msgTypes[28]
1910
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1911
	ms.StoreMessageInfo(mi)
1912
}
1913
1914
func (x *SchemaPartialWriteResponse) String() string {
1915
	return protoimpl.X.MessageStringOf(x)
1916
}
1917
1918
func (*SchemaPartialWriteResponse) ProtoMessage() {}
1919
1920
func (x *SchemaPartialWriteResponse) ProtoReflect() protoreflect.Message {
1921
	mi := &file_base_v1_service_proto_msgTypes[28]
1922
	if x != nil {
1923
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1924
		if ms.LoadMessageInfo() == nil {
1925
			ms.StoreMessageInfo(mi)
1926
		}
1927
		return ms
1928
	}
1929
	return mi.MessageOf(x)
1930
}
1931
1932
// Deprecated: Use SchemaPartialWriteResponse.ProtoReflect.Descriptor instead.
1933
func (*SchemaPartialWriteResponse) Descriptor() ([]byte, []int) {
1934
	return file_base_v1_service_proto_rawDescGZIP(), []int{28}
1935
}
1936
1937
func (x *SchemaPartialWriteResponse) GetSchemaVersion() string {
1938
	if x != nil {
1939
		return x.SchemaVersion
1940
	}
1941
	return ""
1942
}
1943
1944
// SchemaReadRequest is the request message for the Read method in the Schema service.
1945
// It contains tenant_id and metadata about the schema to be read.
1946
type SchemaReadRequest struct {
1947
	state protoimpl.MessageState `protogen:"open.v1"`
1948
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1949
	// be a maximum of 64 bytes, and must not be empty.
1950
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1951
	// metadata is the additional information needed for the Read request.
1952
	Metadata      *SchemaReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1953
	unknownFields protoimpl.UnknownFields
1954
	sizeCache     protoimpl.SizeCache
1955
}
1956
1957
func (x *SchemaReadRequest) Reset() {
1958
	*x = SchemaReadRequest{}
1959
	mi := &file_base_v1_service_proto_msgTypes[29]
1960
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1961
	ms.StoreMessageInfo(mi)
1962
}
1963
1964
func (x *SchemaReadRequest) String() string {
1965
	return protoimpl.X.MessageStringOf(x)
1966
}
1967
1968
func (*SchemaReadRequest) ProtoMessage() {}
1969
1970
func (x *SchemaReadRequest) ProtoReflect() protoreflect.Message {
1971
	mi := &file_base_v1_service_proto_msgTypes[29]
1972
	if x != nil {
1973
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1974
		if ms.LoadMessageInfo() == nil {
1975
			ms.StoreMessageInfo(mi)
1976
		}
1977
		return ms
1978
	}
1979
	return mi.MessageOf(x)
1980
}
1981
1982
// Deprecated: Use SchemaReadRequest.ProtoReflect.Descriptor instead.
1983
func (*SchemaReadRequest) Descriptor() ([]byte, []int) {
1984
	return file_base_v1_service_proto_rawDescGZIP(), []int{29}
1985
}
1986
1987
func (x *SchemaReadRequest) GetTenantId() string {
1988
	if x != nil {
1989
		return x.TenantId
1990
	}
1991
	return ""
1992
}
1993
1994
func (x *SchemaReadRequest) GetMetadata() *SchemaReadRequestMetadata {
1995
	if x != nil {
1996
		return x.Metadata
1997
	}
1998
	return nil
1999
}
2000
2001
// SchemaReadRequestMetadata provides additional information for the Schema Read request.
2002
// It contains schema_version to specify which version of the schema should be read.
2003
type SchemaReadRequestMetadata struct {
2004
	state protoimpl.MessageState `protogen:"open.v1"`
2005
	// schema_version is the string that identifies the version of the schema to be read.
2006
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2007
	unknownFields protoimpl.UnknownFields
2008
	sizeCache     protoimpl.SizeCache
2009
}
2010
2011
func (x *SchemaReadRequestMetadata) Reset() {
2012
	*x = SchemaReadRequestMetadata{}
2013
	mi := &file_base_v1_service_proto_msgTypes[30]
2014
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2015
	ms.StoreMessageInfo(mi)
2016
}
2017
2018
func (x *SchemaReadRequestMetadata) String() string {
2019
	return protoimpl.X.MessageStringOf(x)
2020
}
2021
2022
func (*SchemaReadRequestMetadata) ProtoMessage() {}
2023
2024
func (x *SchemaReadRequestMetadata) ProtoReflect() protoreflect.Message {
2025
	mi := &file_base_v1_service_proto_msgTypes[30]
2026
	if x != nil {
2027
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2028
		if ms.LoadMessageInfo() == nil {
2029
			ms.StoreMessageInfo(mi)
2030
		}
2031
		return ms
2032
	}
2033
	return mi.MessageOf(x)
2034
}
2035
2036
// Deprecated: Use SchemaReadRequestMetadata.ProtoReflect.Descriptor instead.
2037
func (*SchemaReadRequestMetadata) Descriptor() ([]byte, []int) {
2038
	return file_base_v1_service_proto_rawDescGZIP(), []int{30}
2039
}
2040
2041
func (x *SchemaReadRequestMetadata) GetSchemaVersion() string {
2042
	if x != nil {
2043
		return x.SchemaVersion
2044
	}
2045
	return ""
2046
}
2047
2048
// SchemaReadResponse is the response message for the Read method in the Schema service.
2049
// It returns the requested schema.
2050
type SchemaReadResponse struct {
2051
	state protoimpl.MessageState `protogen:"open.v1"`
2052
	// schema is the SchemaDefinition that represents the read schema.
2053
	Schema        *SchemaDefinition `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
2054
	unknownFields protoimpl.UnknownFields
2055
	sizeCache     protoimpl.SizeCache
2056
}
2057
2058
func (x *SchemaReadResponse) Reset() {
2059
	*x = SchemaReadResponse{}
2060
	mi := &file_base_v1_service_proto_msgTypes[31]
2061
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2062
	ms.StoreMessageInfo(mi)
2063
}
2064
2065
func (x *SchemaReadResponse) String() string {
2066
	return protoimpl.X.MessageStringOf(x)
2067
}
2068
2069
func (*SchemaReadResponse) ProtoMessage() {}
2070
2071
func (x *SchemaReadResponse) ProtoReflect() protoreflect.Message {
2072
	mi := &file_base_v1_service_proto_msgTypes[31]
2073
	if x != nil {
2074
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2075
		if ms.LoadMessageInfo() == nil {
2076
			ms.StoreMessageInfo(mi)
2077
		}
2078
		return ms
2079
	}
2080
	return mi.MessageOf(x)
2081
}
2082
2083
// Deprecated: Use SchemaReadResponse.ProtoReflect.Descriptor instead.
2084
func (*SchemaReadResponse) Descriptor() ([]byte, []int) {
2085
	return file_base_v1_service_proto_rawDescGZIP(), []int{31}
2086
}
2087
2088
func (x *SchemaReadResponse) GetSchema() *SchemaDefinition {
2089
	if x != nil {
2090
		return x.Schema
2091
	}
2092
	return nil
2093
}
2094
2095
// SchemaListRequest is the request message for the List method in the Schema service.
2096
// It contains tenant_id for which the schemas are to be listed.
2097
type SchemaListRequest struct {
2098
	state protoimpl.MessageState `protogen:"open.v1"`
2099
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
2100
	// be a maximum of 64 bytes, and must not be empty.
2101
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2102
	// page_size is the number of schemas to be returned in the response.
2103
	// The value should be between 1 and 100.
2104
	PageSize uint32 `protobuf:"varint,2,opt,name=page_size,proto3" json:"page_size,omitempty"`
2105
	// continuous_token is an optional parameter used for pagination.
2106
	// It should be the value received in the previous response.
2107
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2108
	unknownFields   protoimpl.UnknownFields
2109
	sizeCache       protoimpl.SizeCache
2110
}
2111
2112
func (x *SchemaListRequest) Reset() {
2113
	*x = SchemaListRequest{}
2114
	mi := &file_base_v1_service_proto_msgTypes[32]
2115
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2116
	ms.StoreMessageInfo(mi)
2117
}
2118
2119
func (x *SchemaListRequest) String() string {
2120
	return protoimpl.X.MessageStringOf(x)
2121
}
2122
2123
func (*SchemaListRequest) ProtoMessage() {}
2124
2125
func (x *SchemaListRequest) ProtoReflect() protoreflect.Message {
2126
	mi := &file_base_v1_service_proto_msgTypes[32]
2127
	if x != nil {
2128
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2129
		if ms.LoadMessageInfo() == nil {
2130
			ms.StoreMessageInfo(mi)
2131
		}
2132
		return ms
2133
	}
2134
	return mi.MessageOf(x)
2135
}
2136
2137
// Deprecated: Use SchemaListRequest.ProtoReflect.Descriptor instead.
2138
func (*SchemaListRequest) Descriptor() ([]byte, []int) {
2139
	return file_base_v1_service_proto_rawDescGZIP(), []int{32}
2140
}
2141
2142
func (x *SchemaListRequest) GetTenantId() string {
2143
	if x != nil {
2144
		return x.TenantId
2145
	}
2146
	return ""
2147
}
2148
2149
func (x *SchemaListRequest) GetPageSize() uint32 {
2150
	if x != nil {
2151
		return x.PageSize
2152
	}
2153
	return 0
2154
}
2155
2156
func (x *SchemaListRequest) GetContinuousToken() string {
2157
	if x != nil {
2158
		return x.ContinuousToken
2159
	}
2160
	return ""
2161
}
2162
2163
// SchemaListResponse is the response message for the List method in the Schema service.
2164
// It returns a paginated list of schemas
2165
type SchemaListResponse struct {
2166
	state protoimpl.MessageState `protogen:"open.v1"`
2167
	// head of the schemas is the latest version available for the tenant
2168
	Head string `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
2169
	// list of schema versions with creation timestamps
2170
	Schemas []*SchemaList `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"`
2171
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
2172
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2173
	unknownFields   protoimpl.UnknownFields
2174
	sizeCache       protoimpl.SizeCache
2175
}
2176
2177
func (x *SchemaListResponse) Reset() {
2178
	*x = SchemaListResponse{}
2179
	mi := &file_base_v1_service_proto_msgTypes[33]
2180
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2181
	ms.StoreMessageInfo(mi)
2182
}
2183
2184
func (x *SchemaListResponse) String() string {
2185
	return protoimpl.X.MessageStringOf(x)
2186
}
2187
2188
func (*SchemaListResponse) ProtoMessage() {}
2189
2190
func (x *SchemaListResponse) ProtoReflect() protoreflect.Message {
2191
	mi := &file_base_v1_service_proto_msgTypes[33]
2192
	if x != nil {
2193
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2194
		if ms.LoadMessageInfo() == nil {
2195
			ms.StoreMessageInfo(mi)
2196
		}
2197
		return ms
2198
	}
2199
	return mi.MessageOf(x)
2200
}
2201
2202
// Deprecated: Use SchemaListResponse.ProtoReflect.Descriptor instead.
2203
func (*SchemaListResponse) Descriptor() ([]byte, []int) {
2204
	return file_base_v1_service_proto_rawDescGZIP(), []int{33}
2205
}
2206
2207
func (x *SchemaListResponse) GetHead() string {
2208
	if x != nil {
2209
		return x.Head
2210
	}
2211
	return ""
2212
}
2213
2214
func (x *SchemaListResponse) GetSchemas() []*SchemaList {
2215
	if x != nil {
2216
		return x.Schemas
2217
	}
2218
	return nil
2219
}
2220
2221
func (x *SchemaListResponse) GetContinuousToken() string {
2222
	if x != nil {
2223
		return x.ContinuousToken
2224
	}
2225
	return ""
2226
}
2227
2228
// SchemaList provides a list of schema versions with their corresponding creation timestamps
2229
type SchemaList struct {
2230
	state         protoimpl.MessageState `protogen:"open.v1"`
2231
	Version       string                 `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
2232
	CreatedAt     string                 `protobuf:"bytes,2,opt,name=created_at,proto3" json:"created_at,omitempty"`
2233
	unknownFields protoimpl.UnknownFields
2234
	sizeCache     protoimpl.SizeCache
2235
}
2236
2237
func (x *SchemaList) Reset() {
2238
	*x = SchemaList{}
2239
	mi := &file_base_v1_service_proto_msgTypes[34]
2240
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2241
	ms.StoreMessageInfo(mi)
2242
}
2243
2244
func (x *SchemaList) String() string {
2245
	return protoimpl.X.MessageStringOf(x)
2246
}
2247
2248
func (*SchemaList) ProtoMessage() {}
2249
2250
func (x *SchemaList) ProtoReflect() protoreflect.Message {
2251
	mi := &file_base_v1_service_proto_msgTypes[34]
2252
	if x != nil {
2253
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2254
		if ms.LoadMessageInfo() == nil {
2255
			ms.StoreMessageInfo(mi)
2256
		}
2257
		return ms
2258
	}
2259
	return mi.MessageOf(x)
2260
}
2261
2262
// Deprecated: Use SchemaList.ProtoReflect.Descriptor instead.
2263
func (*SchemaList) Descriptor() ([]byte, []int) {
2264
	return file_base_v1_service_proto_rawDescGZIP(), []int{34}
2265
}
2266
2267
func (x *SchemaList) GetVersion() string {
2268
	if x != nil {
2269
		return x.Version
2270
	}
2271
	return ""
2272
}
2273
2274
func (x *SchemaList) GetCreatedAt() string {
2275
	if x != nil {
2276
		return x.CreatedAt
2277
	}
2278
	return ""
2279
}
2280
2281
// DataWriteRequest defines the structure of a request for writing data.
2282
// It contains the necessary information such as tenant_id, metadata,
2283
// tuples and attributes for the write operation.
2284
type DataWriteRequest struct {
2285
	state protoimpl.MessageState `protogen:"open.v1"`
2286
	// tenant_id represents the unique identifier of the tenant for which data is written.
2287
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2288
	// metadata holds additional data related to the request.
2289
	Metadata *DataWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2290
	// tuples contains the list of tuples (entity-relation-entity triples) that need to be written.
2291
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2292
	// attributes contains the list of attributes (entity-attribute-value triples) that need to be written.
2293
	Attributes    []*Attribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
2294
	unknownFields protoimpl.UnknownFields
2295
	sizeCache     protoimpl.SizeCache
2296
}
2297
2298
func (x *DataWriteRequest) Reset() {
2299
	*x = DataWriteRequest{}
2300
	mi := &file_base_v1_service_proto_msgTypes[35]
2301
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2302
	ms.StoreMessageInfo(mi)
2303
}
2304
2305
func (x *DataWriteRequest) String() string {
2306
	return protoimpl.X.MessageStringOf(x)
2307
}
2308
2309
func (*DataWriteRequest) ProtoMessage() {}
2310
2311
func (x *DataWriteRequest) ProtoReflect() protoreflect.Message {
2312
	mi := &file_base_v1_service_proto_msgTypes[35]
2313
	if x != nil {
2314
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2315
		if ms.LoadMessageInfo() == nil {
2316
			ms.StoreMessageInfo(mi)
2317
		}
2318
		return ms
2319
	}
2320
	return mi.MessageOf(x)
2321
}
2322
2323
// Deprecated: Use DataWriteRequest.ProtoReflect.Descriptor instead.
2324
func (*DataWriteRequest) Descriptor() ([]byte, []int) {
2325
	return file_base_v1_service_proto_rawDescGZIP(), []int{35}
2326
}
2327
2328
func (x *DataWriteRequest) GetTenantId() string {
2329
	if x != nil {
2330
		return x.TenantId
2331
	}
2332
	return ""
2333
}
2334
2335
func (x *DataWriteRequest) GetMetadata() *DataWriteRequestMetadata {
2336
	if x != nil {
2337
		return x.Metadata
2338
	}
2339
	return nil
2340
}
2341
2342
func (x *DataWriteRequest) GetTuples() []*Tuple {
2343
	if x != nil {
2344
		return x.Tuples
2345
	}
2346
	return nil
2347
}
2348
2349
func (x *DataWriteRequest) GetAttributes() []*Attribute {
2350
	if x != nil {
2351
		return x.Attributes
2352
	}
2353
	return nil
2354
}
2355
2356
// DataWriteRequestMetadata defines the structure of metadata for a write request.
2357
// It includes the schema version of the data to be written.
2358
type DataWriteRequestMetadata struct {
2359
	state protoimpl.MessageState `protogen:"open.v1"`
2360
	// schema_version represents the version of the schema for the data being written.
2361
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2362
	unknownFields protoimpl.UnknownFields
2363
	sizeCache     protoimpl.SizeCache
2364
}
2365
2366
func (x *DataWriteRequestMetadata) Reset() {
2367
	*x = DataWriteRequestMetadata{}
2368
	mi := &file_base_v1_service_proto_msgTypes[36]
2369
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2370
	ms.StoreMessageInfo(mi)
2371
}
2372
2373
func (x *DataWriteRequestMetadata) String() string {
2374
	return protoimpl.X.MessageStringOf(x)
2375
}
2376
2377
func (*DataWriteRequestMetadata) ProtoMessage() {}
2378
2379
func (x *DataWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2380
	mi := &file_base_v1_service_proto_msgTypes[36]
2381
	if x != nil {
2382
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2383
		if ms.LoadMessageInfo() == nil {
2384
			ms.StoreMessageInfo(mi)
2385
		}
2386
		return ms
2387
	}
2388
	return mi.MessageOf(x)
2389
}
2390
2391
// Deprecated: Use DataWriteRequestMetadata.ProtoReflect.Descriptor instead.
2392
func (*DataWriteRequestMetadata) Descriptor() ([]byte, []int) {
2393
	return file_base_v1_service_proto_rawDescGZIP(), []int{36}
2394
}
2395
2396
func (x *DataWriteRequestMetadata) GetSchemaVersion() string {
2397
	if x != nil {
2398
		return x.SchemaVersion
2399
	}
2400
	return ""
2401
}
2402
2403
// DataWriteResponse defines the structure of the response after writing data.
2404
// It contains the snap_token generated after the write operation.
2405
type DataWriteResponse struct {
2406
	state protoimpl.MessageState `protogen:"open.v1"`
2407
	// snap_token is the token generated after the data write operation, representing a snapshot of the data.
2408
	SnapToken     string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2409
	unknownFields protoimpl.UnknownFields
2410
	sizeCache     protoimpl.SizeCache
2411
}
2412
2413
func (x *DataWriteResponse) Reset() {
2414
	*x = DataWriteResponse{}
2415
	mi := &file_base_v1_service_proto_msgTypes[37]
2416
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2417
	ms.StoreMessageInfo(mi)
2418
}
2419
2420
func (x *DataWriteResponse) String() string {
2421
	return protoimpl.X.MessageStringOf(x)
2422
}
2423
2424
func (*DataWriteResponse) ProtoMessage() {}
2425
2426
func (x *DataWriteResponse) ProtoReflect() protoreflect.Message {
2427
	mi := &file_base_v1_service_proto_msgTypes[37]
2428
	if x != nil {
2429
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2430
		if ms.LoadMessageInfo() == nil {
2431
			ms.StoreMessageInfo(mi)
2432
		}
2433
		return ms
2434
	}
2435
	return mi.MessageOf(x)
2436
}
2437
2438
// Deprecated: Use DataWriteResponse.ProtoReflect.Descriptor instead.
2439
func (*DataWriteResponse) Descriptor() ([]byte, []int) {
2440
	return file_base_v1_service_proto_rawDescGZIP(), []int{37}
2441
}
2442
2443
func (x *DataWriteResponse) GetSnapToken() string {
2444
	if x != nil {
2445
		return x.SnapToken
2446
	}
2447
	return ""
2448
}
2449
2450
// Represents a request to write relationship data.
2451
type RelationshipWriteRequest struct {
2452
	state protoimpl.MessageState `protogen:"open.v1"`
2453
	// Unique identifier for the tenant with specific constraints.
2454
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2455
	// Metadata for the request. It's required.
2456
	Metadata *RelationshipWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2457
	// List of tuples for the request. Must have between 1 and 100 items.
2458
	Tuples        []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2459
	unknownFields protoimpl.UnknownFields
2460
	sizeCache     protoimpl.SizeCache
2461
}
2462
2463
func (x *RelationshipWriteRequest) Reset() {
2464
	*x = RelationshipWriteRequest{}
2465
	mi := &file_base_v1_service_proto_msgTypes[38]
2466
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2467
	ms.StoreMessageInfo(mi)
2468
}
2469
2470
func (x *RelationshipWriteRequest) String() string {
2471
	return protoimpl.X.MessageStringOf(x)
2472
}
2473
2474
func (*RelationshipWriteRequest) ProtoMessage() {}
2475
2476
func (x *RelationshipWriteRequest) ProtoReflect() protoreflect.Message {
2477
	mi := &file_base_v1_service_proto_msgTypes[38]
2478
	if x != nil {
2479
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2480
		if ms.LoadMessageInfo() == nil {
2481
			ms.StoreMessageInfo(mi)
2482
		}
2483
		return ms
2484
	}
2485
	return mi.MessageOf(x)
2486
}
2487
2488
// Deprecated: Use RelationshipWriteRequest.ProtoReflect.Descriptor instead.
2489
func (*RelationshipWriteRequest) Descriptor() ([]byte, []int) {
2490
	return file_base_v1_service_proto_rawDescGZIP(), []int{38}
2491
}
2492
2493
func (x *RelationshipWriteRequest) GetTenantId() string {
2494
	if x != nil {
2495
		return x.TenantId
2496
	}
2497
	return ""
2498
}
2499
2500
func (x *RelationshipWriteRequest) GetMetadata() *RelationshipWriteRequestMetadata {
2501
	if x != nil {
2502
		return x.Metadata
2503
	}
2504
	return nil
2505
}
2506
2507
func (x *RelationshipWriteRequest) GetTuples() []*Tuple {
2508
	if x != nil {
2509
		return x.Tuples
2510
	}
2511
	return nil
2512
}
2513
2514
// RelationshipWriteRequestMetadata
2515
type RelationshipWriteRequestMetadata struct {
2516
	state         protoimpl.MessageState `protogen:"open.v1"`
2517
	SchemaVersion string                 `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2518
	unknownFields protoimpl.UnknownFields
2519
	sizeCache     protoimpl.SizeCache
2520
}
2521
2522
func (x *RelationshipWriteRequestMetadata) Reset() {
2523
	*x = RelationshipWriteRequestMetadata{}
2524
	mi := &file_base_v1_service_proto_msgTypes[39]
2525
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2526
	ms.StoreMessageInfo(mi)
2527
}
2528
2529
func (x *RelationshipWriteRequestMetadata) String() string {
2530
	return protoimpl.X.MessageStringOf(x)
2531
}
2532
2533
func (*RelationshipWriteRequestMetadata) ProtoMessage() {}
2534
2535
func (x *RelationshipWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2536
	mi := &file_base_v1_service_proto_msgTypes[39]
2537
	if x != nil {
2538
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2539
		if ms.LoadMessageInfo() == nil {
2540
			ms.StoreMessageInfo(mi)
2541
		}
2542
		return ms
2543
	}
2544
	return mi.MessageOf(x)
2545
}
2546
2547
// Deprecated: Use RelationshipWriteRequestMetadata.ProtoReflect.Descriptor instead.
2548
func (*RelationshipWriteRequestMetadata) Descriptor() ([]byte, []int) {
2549
	return file_base_v1_service_proto_rawDescGZIP(), []int{39}
2550
}
2551
2552
func (x *RelationshipWriteRequestMetadata) GetSchemaVersion() string {
2553
	if x != nil {
2554
		return x.SchemaVersion
2555
	}
2556
	return ""
2557
}
2558
2559
// RelationshipWriteResponse
2560
type RelationshipWriteResponse struct {
2561
	state         protoimpl.MessageState `protogen:"open.v1"`
2562
	SnapToken     string                 `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2563
	unknownFields protoimpl.UnknownFields
2564
	sizeCache     protoimpl.SizeCache
2565
}
2566
2567
func (x *RelationshipWriteResponse) Reset() {
2568
	*x = RelationshipWriteResponse{}
2569
	mi := &file_base_v1_service_proto_msgTypes[40]
2570
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2571
	ms.StoreMessageInfo(mi)
2572
}
2573
2574
func (x *RelationshipWriteResponse) String() string {
2575
	return protoimpl.X.MessageStringOf(x)
2576
}
2577
2578
func (*RelationshipWriteResponse) ProtoMessage() {}
2579
2580
func (x *RelationshipWriteResponse) ProtoReflect() protoreflect.Message {
2581
	mi := &file_base_v1_service_proto_msgTypes[40]
2582
	if x != nil {
2583
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2584
		if ms.LoadMessageInfo() == nil {
2585
			ms.StoreMessageInfo(mi)
2586
		}
2587
		return ms
2588
	}
2589
	return mi.MessageOf(x)
2590
}
2591
2592
// Deprecated: Use RelationshipWriteResponse.ProtoReflect.Descriptor instead.
2593
func (*RelationshipWriteResponse) Descriptor() ([]byte, []int) {
2594
	return file_base_v1_service_proto_rawDescGZIP(), []int{40}
2595
}
2596
2597
func (x *RelationshipWriteResponse) GetSnapToken() string {
2598
	if x != nil {
2599
		return x.SnapToken
2600
	}
2601
	return ""
2602
}
2603
2604
// RelationshipReadRequest defines the structure of a request for reading relationships.
2605
// It contains the necessary information such as tenant_id, metadata, and filter for the read operation.
2606
type RelationshipReadRequest struct {
2607
	state protoimpl.MessageState `protogen:"open.v1"`
2608
	// tenant_id represents the unique identifier of the tenant for which relationships are read.
2609
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2610
	// metadata holds additional data related to the request.
2611
	Metadata *RelationshipReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2612
	// filter is used to specify criteria for the data that needs to be read.
2613
	Filter *TupleFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2614
	// page_size specifies the number of results to return in a single page.
2615
	// If more results are available, a continuous_token is included in the response.
2616
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2617
	// continuous_token is used in case of paginated reads to get the next page of results.
2618
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2619
	unknownFields   protoimpl.UnknownFields
2620
	sizeCache       protoimpl.SizeCache
2621
}
2622
2623
func (x *RelationshipReadRequest) Reset() {
2624
	*x = RelationshipReadRequest{}
2625
	mi := &file_base_v1_service_proto_msgTypes[41]
2626
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2627
	ms.StoreMessageInfo(mi)
2628
}
2629
2630
func (x *RelationshipReadRequest) String() string {
2631
	return protoimpl.X.MessageStringOf(x)
2632
}
2633
2634
func (*RelationshipReadRequest) ProtoMessage() {}
2635
2636
func (x *RelationshipReadRequest) ProtoReflect() protoreflect.Message {
2637
	mi := &file_base_v1_service_proto_msgTypes[41]
2638
	if x != nil {
2639
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2640
		if ms.LoadMessageInfo() == nil {
2641
			ms.StoreMessageInfo(mi)
2642
		}
2643
		return ms
2644
	}
2645
	return mi.MessageOf(x)
2646
}
2647
2648
// Deprecated: Use RelationshipReadRequest.ProtoReflect.Descriptor instead.
2649
func (*RelationshipReadRequest) Descriptor() ([]byte, []int) {
2650
	return file_base_v1_service_proto_rawDescGZIP(), []int{41}
2651
}
2652
2653
func (x *RelationshipReadRequest) GetTenantId() string {
2654
	if x != nil {
2655
		return x.TenantId
2656
	}
2657
	return ""
2658
}
2659
2660
func (x *RelationshipReadRequest) GetMetadata() *RelationshipReadRequestMetadata {
2661
	if x != nil {
2662
		return x.Metadata
2663
	}
2664
	return nil
2665
}
2666
2667
func (x *RelationshipReadRequest) GetFilter() *TupleFilter {
2668
	if x != nil {
2669
		return x.Filter
2670
	}
2671
	return nil
2672
}
2673
2674
func (x *RelationshipReadRequest) GetPageSize() uint32 {
2675
	if x != nil {
2676
		return x.PageSize
2677
	}
2678
	return 0
2679
}
2680
2681
func (x *RelationshipReadRequest) GetContinuousToken() string {
2682
	if x != nil {
2683
		return x.ContinuousToken
2684
	}
2685
	return ""
2686
}
2687
2688
// RelationshipReadRequestMetadata defines the structure of the metadata for a read request focused on relationships.
2689
// It includes the snap_token associated with a particular state of the database.
2690
type RelationshipReadRequestMetadata struct {
2691
	state protoimpl.MessageState `protogen:"open.v1"`
2692
	// snap_token represents a specific state or "snapshot" of the database.
2693
	SnapToken     string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2694
	unknownFields protoimpl.UnknownFields
2695
	sizeCache     protoimpl.SizeCache
2696
}
2697
2698
func (x *RelationshipReadRequestMetadata) Reset() {
2699
	*x = RelationshipReadRequestMetadata{}
2700
	mi := &file_base_v1_service_proto_msgTypes[42]
2701
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2702
	ms.StoreMessageInfo(mi)
2703
}
2704
2705
func (x *RelationshipReadRequestMetadata) String() string {
2706
	return protoimpl.X.MessageStringOf(x)
2707
}
2708
2709
func (*RelationshipReadRequestMetadata) ProtoMessage() {}
2710
2711
func (x *RelationshipReadRequestMetadata) ProtoReflect() protoreflect.Message {
2712
	mi := &file_base_v1_service_proto_msgTypes[42]
2713
	if x != nil {
2714
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2715
		if ms.LoadMessageInfo() == nil {
2716
			ms.StoreMessageInfo(mi)
2717
		}
2718
		return ms
2719
	}
2720
	return mi.MessageOf(x)
2721
}
2722
2723
// Deprecated: Use RelationshipReadRequestMetadata.ProtoReflect.Descriptor instead.
2724
func (*RelationshipReadRequestMetadata) Descriptor() ([]byte, []int) {
2725
	return file_base_v1_service_proto_rawDescGZIP(), []int{42}
2726
}
2727
2728
func (x *RelationshipReadRequestMetadata) GetSnapToken() string {
2729
	if x != nil {
2730
		return x.SnapToken
2731
	}
2732
	return ""
2733
}
2734
2735
// RelationshipReadResponse defines the structure of the response after reading relationships.
2736
// It includes the tuples representing the relationships and a continuous token for handling result pagination.
2737
type RelationshipReadResponse struct {
2738
	state protoimpl.MessageState `protogen:"open.v1"`
2739
	// tuples is a list of the relationships retrieved in the read operation, represented as entity-relation-entity triples.
2740
	Tuples []*Tuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"`
2741
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2742
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2743
	unknownFields   protoimpl.UnknownFields
2744
	sizeCache       protoimpl.SizeCache
2745
}
2746
2747
func (x *RelationshipReadResponse) Reset() {
2748
	*x = RelationshipReadResponse{}
2749
	mi := &file_base_v1_service_proto_msgTypes[43]
2750
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2751
	ms.StoreMessageInfo(mi)
2752
}
2753
2754
func (x *RelationshipReadResponse) String() string {
2755
	return protoimpl.X.MessageStringOf(x)
2756
}
2757
2758
func (*RelationshipReadResponse) ProtoMessage() {}
2759
2760
func (x *RelationshipReadResponse) ProtoReflect() protoreflect.Message {
2761
	mi := &file_base_v1_service_proto_msgTypes[43]
2762
	if x != nil {
2763
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2764
		if ms.LoadMessageInfo() == nil {
2765
			ms.StoreMessageInfo(mi)
2766
		}
2767
		return ms
2768
	}
2769
	return mi.MessageOf(x)
2770
}
2771
2772
// Deprecated: Use RelationshipReadResponse.ProtoReflect.Descriptor instead.
2773
func (*RelationshipReadResponse) Descriptor() ([]byte, []int) {
2774
	return file_base_v1_service_proto_rawDescGZIP(), []int{43}
2775
}
2776
2777
func (x *RelationshipReadResponse) GetTuples() []*Tuple {
2778
	if x != nil {
2779
		return x.Tuples
2780
	}
2781
	return nil
2782
}
2783
2784
func (x *RelationshipReadResponse) GetContinuousToken() string {
2785
	if x != nil {
2786
		return x.ContinuousToken
2787
	}
2788
	return ""
2789
}
2790
2791
// AttributeReadRequest defines the structure of a request for reading attributes.
2792
// It includes the tenant_id, metadata, attribute filter, page size for pagination, and a continuous token for multi-page results.
2793
type AttributeReadRequest struct {
2794
	state protoimpl.MessageState `protogen:"open.v1"`
2795
	// tenant_id represents the unique identifier of the tenant from which the attributes are being read.
2796
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2797
	// metadata holds additional information related to the request.
2798
	Metadata *AttributeReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2799
	// filter specifies the criteria used to select the attributes that should be returned.
2800
	Filter *AttributeFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2801
	// page_size specifies the number of results to return in a single page.
2802
	// If more results are available, a continuous_token is included in the response.
2803
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2804
	// continuous_token is used in case of paginated reads to get the next page of results.
2805
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2806
	unknownFields   protoimpl.UnknownFields
2807
	sizeCache       protoimpl.SizeCache
2808
}
2809
2810
func (x *AttributeReadRequest) Reset() {
2811
	*x = AttributeReadRequest{}
2812
	mi := &file_base_v1_service_proto_msgTypes[44]
2813
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2814
	ms.StoreMessageInfo(mi)
2815
}
2816
2817
func (x *AttributeReadRequest) String() string {
2818
	return protoimpl.X.MessageStringOf(x)
2819
}
2820
2821
func (*AttributeReadRequest) ProtoMessage() {}
2822
2823
func (x *AttributeReadRequest) ProtoReflect() protoreflect.Message {
2824
	mi := &file_base_v1_service_proto_msgTypes[44]
2825
	if x != nil {
2826
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2827
		if ms.LoadMessageInfo() == nil {
2828
			ms.StoreMessageInfo(mi)
2829
		}
2830
		return ms
2831
	}
2832
	return mi.MessageOf(x)
2833
}
2834
2835
// Deprecated: Use AttributeReadRequest.ProtoReflect.Descriptor instead.
2836
func (*AttributeReadRequest) Descriptor() ([]byte, []int) {
2837
	return file_base_v1_service_proto_rawDescGZIP(), []int{44}
2838
}
2839
2840
func (x *AttributeReadRequest) GetTenantId() string {
2841
	if x != nil {
2842
		return x.TenantId
2843
	}
2844
	return ""
2845
}
2846
2847
func (x *AttributeReadRequest) GetMetadata() *AttributeReadRequestMetadata {
2848
	if x != nil {
2849
		return x.Metadata
2850
	}
2851
	return nil
2852
}
2853
2854
func (x *AttributeReadRequest) GetFilter() *AttributeFilter {
2855
	if x != nil {
2856
		return x.Filter
2857
	}
2858
	return nil
2859
}
2860
2861
func (x *AttributeReadRequest) GetPageSize() uint32 {
2862
	if x != nil {
2863
		return x.PageSize
2864
	}
2865
	return 0
2866
}
2867
2868
func (x *AttributeReadRequest) GetContinuousToken() string {
2869
	if x != nil {
2870
		return x.ContinuousToken
2871
	}
2872
	return ""
2873
}
2874
2875
// AttributeReadRequestMetadata defines the structure for the metadata of an attribute read request.
2876
// It includes the snap_token associated with a particular state of the database.
2877
type AttributeReadRequestMetadata struct {
2878
	state protoimpl.MessageState `protogen:"open.v1"`
2879
	// snap_token represents a specific state or "snapshot" of the database.
2880
	SnapToken     string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2881
	unknownFields protoimpl.UnknownFields
2882
	sizeCache     protoimpl.SizeCache
2883
}
2884
2885
func (x *AttributeReadRequestMetadata) Reset() {
2886
	*x = AttributeReadRequestMetadata{}
2887
	mi := &file_base_v1_service_proto_msgTypes[45]
2888
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2889
	ms.StoreMessageInfo(mi)
2890
}
2891
2892
func (x *AttributeReadRequestMetadata) String() string {
2893
	return protoimpl.X.MessageStringOf(x)
2894
}
2895
2896
func (*AttributeReadRequestMetadata) ProtoMessage() {}
2897
2898
func (x *AttributeReadRequestMetadata) ProtoReflect() protoreflect.Message {
2899
	mi := &file_base_v1_service_proto_msgTypes[45]
2900
	if x != nil {
2901
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2902
		if ms.LoadMessageInfo() == nil {
2903
			ms.StoreMessageInfo(mi)
2904
		}
2905
		return ms
2906
	}
2907
	return mi.MessageOf(x)
2908
}
2909
2910
// Deprecated: Use AttributeReadRequestMetadata.ProtoReflect.Descriptor instead.
2911
func (*AttributeReadRequestMetadata) Descriptor() ([]byte, []int) {
2912
	return file_base_v1_service_proto_rawDescGZIP(), []int{45}
2913
}
2914
2915
func (x *AttributeReadRequestMetadata) GetSnapToken() string {
2916
	if x != nil {
2917
		return x.SnapToken
2918
	}
2919
	return ""
2920
}
2921
2922
// AttributeReadResponse defines the structure of the response to an attribute read request.
2923
// It includes the attributes retrieved and a continuous token for handling result pagination.
2924
type AttributeReadResponse struct {
2925
	state protoimpl.MessageState `protogen:"open.v1"`
2926
	// attributes is a list of the attributes retrieved in the read operation.
2927
	Attributes []*Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
2928
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2929
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2930
	unknownFields   protoimpl.UnknownFields
2931
	sizeCache       protoimpl.SizeCache
2932
}
2933
2934
func (x *AttributeReadResponse) Reset() {
2935
	*x = AttributeReadResponse{}
2936
	mi := &file_base_v1_service_proto_msgTypes[46]
2937
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2938
	ms.StoreMessageInfo(mi)
2939
}
2940
2941
func (x *AttributeReadResponse) String() string {
2942
	return protoimpl.X.MessageStringOf(x)
2943
}
2944
2945
func (*AttributeReadResponse) ProtoMessage() {}
2946
2947
func (x *AttributeReadResponse) ProtoReflect() protoreflect.Message {
2948
	mi := &file_base_v1_service_proto_msgTypes[46]
2949
	if x != nil {
2950
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2951
		if ms.LoadMessageInfo() == nil {
2952
			ms.StoreMessageInfo(mi)
2953
		}
2954
		return ms
2955
	}
2956
	return mi.MessageOf(x)
2957
}
2958
2959
// Deprecated: Use AttributeReadResponse.ProtoReflect.Descriptor instead.
2960
func (*AttributeReadResponse) Descriptor() ([]byte, []int) {
2961
	return file_base_v1_service_proto_rawDescGZIP(), []int{46}
2962
}
2963
2964
func (x *AttributeReadResponse) GetAttributes() []*Attribute {
2965
	if x != nil {
2966
		return x.Attributes
2967
	}
2968
	return nil
2969
}
2970
2971
func (x *AttributeReadResponse) GetContinuousToken() string {
2972
	if x != nil {
2973
		return x.ContinuousToken
2974
	}
2975
	return ""
2976
}
2977
2978
// DataDeleteRequest defines the structure of a request to delete data.
2979
// It includes the tenant_id and filters for selecting tuples and attributes to be deleted.
2980
type DataDeleteRequest struct {
2981
	state protoimpl.MessageState `protogen:"open.v1"`
2982
	// tenant_id represents the unique identifier of the tenant from which the data will be deleted.
2983
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2984
	// tuple_filter specifies the criteria used to select the tuples that should be deleted.
2985
	TupleFilter *TupleFilter `protobuf:"bytes,2,opt,name=tuple_filter,proto3" json:"tuple_filter,omitempty"`
2986
	// attribute_filter specifies the criteria used to select the attributes that should be deleted.
2987
	AttributeFilter *AttributeFilter `protobuf:"bytes,3,opt,name=attribute_filter,proto3" json:"attribute_filter,omitempty"`
2988
	unknownFields   protoimpl.UnknownFields
2989
	sizeCache       protoimpl.SizeCache
2990
}
2991
2992
func (x *DataDeleteRequest) Reset() {
2993
	*x = DataDeleteRequest{}
2994
	mi := &file_base_v1_service_proto_msgTypes[47]
2995
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2996
	ms.StoreMessageInfo(mi)
2997
}
2998
2999
func (x *DataDeleteRequest) String() string {
3000
	return protoimpl.X.MessageStringOf(x)
3001
}
3002
3003
func (*DataDeleteRequest) ProtoMessage() {}
3004
3005
func (x *DataDeleteRequest) ProtoReflect() protoreflect.Message {
3006
	mi := &file_base_v1_service_proto_msgTypes[47]
3007
	if x != nil {
3008
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3009
		if ms.LoadMessageInfo() == nil {
3010
			ms.StoreMessageInfo(mi)
3011
		}
3012
		return ms
3013
	}
3014
	return mi.MessageOf(x)
3015
}
3016
3017
// Deprecated: Use DataDeleteRequest.ProtoReflect.Descriptor instead.
3018
func (*DataDeleteRequest) Descriptor() ([]byte, []int) {
3019
	return file_base_v1_service_proto_rawDescGZIP(), []int{47}
3020
}
3021
3022
func (x *DataDeleteRequest) GetTenantId() string {
3023
	if x != nil {
3024
		return x.TenantId
3025
	}
3026
	return ""
3027
}
3028
3029
func (x *DataDeleteRequest) GetTupleFilter() *TupleFilter {
3030
	if x != nil {
3031
		return x.TupleFilter
3032
	}
3033
	return nil
3034
}
3035
3036
func (x *DataDeleteRequest) GetAttributeFilter() *AttributeFilter {
3037
	if x != nil {
3038
		return x.AttributeFilter
3039
	}
3040
	return nil
3041
}
3042
3043
// DataDeleteResponse defines the structure of the response to a data delete request.
3044
// It includes a snap_token representing the state of the database after the deletion.
3045
type DataDeleteResponse struct {
3046
	state protoimpl.MessageState `protogen:"open.v1"`
3047
	// snap_token represents the state of the database after the requested deletions.
3048
	SnapToken     string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3049
	unknownFields protoimpl.UnknownFields
3050
	sizeCache     protoimpl.SizeCache
3051
}
3052
3053
func (x *DataDeleteResponse) Reset() {
3054
	*x = DataDeleteResponse{}
3055
	mi := &file_base_v1_service_proto_msgTypes[48]
3056
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3057
	ms.StoreMessageInfo(mi)
3058
}
3059
3060
func (x *DataDeleteResponse) String() string {
3061
	return protoimpl.X.MessageStringOf(x)
3062
}
3063
3064
func (*DataDeleteResponse) ProtoMessage() {}
3065
3066
func (x *DataDeleteResponse) ProtoReflect() protoreflect.Message {
3067
	mi := &file_base_v1_service_proto_msgTypes[48]
3068
	if x != nil {
3069
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3070
		if ms.LoadMessageInfo() == nil {
3071
			ms.StoreMessageInfo(mi)
3072
		}
3073
		return ms
3074
	}
3075
	return mi.MessageOf(x)
3076
}
3077
3078
// Deprecated: Use DataDeleteResponse.ProtoReflect.Descriptor instead.
3079
func (*DataDeleteResponse) Descriptor() ([]byte, []int) {
3080
	return file_base_v1_service_proto_rawDescGZIP(), []int{48}
3081
}
3082
3083
func (x *DataDeleteResponse) GetSnapToken() string {
3084
	if x != nil {
3085
		return x.SnapToken
3086
	}
3087
	return ""
3088
}
3089
3090
// RelationshipDeleteRequest
3091
type RelationshipDeleteRequest struct {
3092
	state         protoimpl.MessageState `protogen:"open.v1"`
3093
	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3094
	Filter        *TupleFilter           `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3095
	unknownFields protoimpl.UnknownFields
3096
	sizeCache     protoimpl.SizeCache
3097
}
3098
3099
func (x *RelationshipDeleteRequest) Reset() {
3100
	*x = RelationshipDeleteRequest{}
3101
	mi := &file_base_v1_service_proto_msgTypes[49]
3102
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3103
	ms.StoreMessageInfo(mi)
3104
}
3105
3106
func (x *RelationshipDeleteRequest) String() string {
3107
	return protoimpl.X.MessageStringOf(x)
3108
}
3109
3110
func (*RelationshipDeleteRequest) ProtoMessage() {}
3111
3112
func (x *RelationshipDeleteRequest) ProtoReflect() protoreflect.Message {
3113
	mi := &file_base_v1_service_proto_msgTypes[49]
3114
	if x != nil {
3115
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3116
		if ms.LoadMessageInfo() == nil {
3117
			ms.StoreMessageInfo(mi)
3118
		}
3119
		return ms
3120
	}
3121
	return mi.MessageOf(x)
3122
}
3123
3124
// Deprecated: Use RelationshipDeleteRequest.ProtoReflect.Descriptor instead.
3125
func (*RelationshipDeleteRequest) Descriptor() ([]byte, []int) {
3126
	return file_base_v1_service_proto_rawDescGZIP(), []int{49}
3127
}
3128
3129
func (x *RelationshipDeleteRequest) GetTenantId() string {
3130
	if x != nil {
3131
		return x.TenantId
3132
	}
3133
	return ""
3134
}
3135
3136
func (x *RelationshipDeleteRequest) GetFilter() *TupleFilter {
3137
	if x != nil {
3138
		return x.Filter
3139
	}
3140
	return nil
3141
}
3142
3143
// RelationshipDeleteResponse
3144
type RelationshipDeleteResponse struct {
3145
	state         protoimpl.MessageState `protogen:"open.v1"`
3146
	SnapToken     string                 `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3147
	unknownFields protoimpl.UnknownFields
3148
	sizeCache     protoimpl.SizeCache
3149
}
3150
3151
func (x *RelationshipDeleteResponse) Reset() {
3152
	*x = RelationshipDeleteResponse{}
3153
	mi := &file_base_v1_service_proto_msgTypes[50]
3154
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3155
	ms.StoreMessageInfo(mi)
3156
}
3157
3158
func (x *RelationshipDeleteResponse) String() string {
3159
	return protoimpl.X.MessageStringOf(x)
3160
}
3161
3162
func (*RelationshipDeleteResponse) ProtoMessage() {}
3163
3164
func (x *RelationshipDeleteResponse) ProtoReflect() protoreflect.Message {
3165
	mi := &file_base_v1_service_proto_msgTypes[50]
3166
	if x != nil {
3167
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3168
		if ms.LoadMessageInfo() == nil {
3169
			ms.StoreMessageInfo(mi)
3170
		}
3171
		return ms
3172
	}
3173
	return mi.MessageOf(x)
3174
}
3175
3176
// Deprecated: Use RelationshipDeleteResponse.ProtoReflect.Descriptor instead.
3177
func (*RelationshipDeleteResponse) Descriptor() ([]byte, []int) {
3178
	return file_base_v1_service_proto_rawDescGZIP(), []int{50}
3179
}
3180
3181
func (x *RelationshipDeleteResponse) GetSnapToken() string {
3182
	if x != nil {
3183
		return x.SnapToken
3184
	}
3185
	return ""
3186
}
3187
3188
// BundleRunRequest is used to request the execution of a bundle.
3189
// It includes tenant_id, the name of the bundle, and additional arguments for execution.
3190
type BundleRunRequest struct {
3191
	state    protoimpl.MessageState `protogen:"open.v1"`
3192
	TenantId string                 `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3193
	// Name of the bundle to be executed.
3194
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3195
	// Additional key-value pairs for execution arguments.
3196
	Arguments     map[string]string `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
3197
	unknownFields protoimpl.UnknownFields
3198
	sizeCache     protoimpl.SizeCache
3199
}
3200
3201
func (x *BundleRunRequest) Reset() {
3202
	*x = BundleRunRequest{}
3203
	mi := &file_base_v1_service_proto_msgTypes[51]
3204
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3205
	ms.StoreMessageInfo(mi)
3206
}
3207
3208
func (x *BundleRunRequest) String() string {
3209
	return protoimpl.X.MessageStringOf(x)
3210
}
3211
3212
func (*BundleRunRequest) ProtoMessage() {}
3213
3214
func (x *BundleRunRequest) ProtoReflect() protoreflect.Message {
3215
	mi := &file_base_v1_service_proto_msgTypes[51]
3216
	if x != nil {
3217
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3218
		if ms.LoadMessageInfo() == nil {
3219
			ms.StoreMessageInfo(mi)
3220
		}
3221
		return ms
3222
	}
3223
	return mi.MessageOf(x)
3224
}
3225
3226
// Deprecated: Use BundleRunRequest.ProtoReflect.Descriptor instead.
3227
func (*BundleRunRequest) Descriptor() ([]byte, []int) {
3228
	return file_base_v1_service_proto_rawDescGZIP(), []int{51}
3229
}
3230
3231
func (x *BundleRunRequest) GetTenantId() string {
3232
	if x != nil {
3233
		return x.TenantId
3234
	}
3235
	return ""
3236
}
3237
3238
func (x *BundleRunRequest) GetName() string {
3239
	if x != nil {
3240
		return x.Name
3241
	}
3242
	return ""
3243
}
3244
3245
func (x *BundleRunRequest) GetArguments() map[string]string {
3246
	if x != nil {
3247
		return x.Arguments
3248
	}
3249
	return nil
3250
}
3251
3252
// BundleRunResponse is the response for a BundleRunRequest.
3253
// It includes a snap_token, which may be used for tracking the execution or its results.
3254
type BundleRunResponse struct {
3255
	state         protoimpl.MessageState `protogen:"open.v1"`
3256
	SnapToken     string                 `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3257
	unknownFields protoimpl.UnknownFields
3258
	sizeCache     protoimpl.SizeCache
3259
}
3260
3261
func (x *BundleRunResponse) Reset() {
3262
	*x = BundleRunResponse{}
3263
	mi := &file_base_v1_service_proto_msgTypes[52]
3264
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3265
	ms.StoreMessageInfo(mi)
3266
}
3267
3268
func (x *BundleRunResponse) String() string {
3269
	return protoimpl.X.MessageStringOf(x)
3270
}
3271
3272
func (*BundleRunResponse) ProtoMessage() {}
3273
3274
func (x *BundleRunResponse) ProtoReflect() protoreflect.Message {
3275
	mi := &file_base_v1_service_proto_msgTypes[52]
3276
	if x != nil {
3277
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3278
		if ms.LoadMessageInfo() == nil {
3279
			ms.StoreMessageInfo(mi)
3280
		}
3281
		return ms
3282
	}
3283
	return mi.MessageOf(x)
3284
}
3285
3286
// Deprecated: Use BundleRunResponse.ProtoReflect.Descriptor instead.
3287
func (*BundleRunResponse) Descriptor() ([]byte, []int) {
3288
	return file_base_v1_service_proto_rawDescGZIP(), []int{52}
3289
}
3290
3291
func (x *BundleRunResponse) GetSnapToken() string {
3292
	if x != nil {
3293
		return x.SnapToken
3294
	}
3295
	return ""
3296
}
3297
3298
// BundleWriteRequest is used to request the writing of a bundle.
3299
// It contains the tenant_id to identify the tenant and the Bundles object.
3300
type BundleWriteRequest struct {
3301
	state         protoimpl.MessageState `protogen:"open.v1"`
3302
	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3303
	Bundles       []*DataBundle          `protobuf:"bytes,2,rep,name=bundles,proto3" json:"bundles,omitempty"` // Contains the bundle data to be written.
3304
	unknownFields protoimpl.UnknownFields
3305
	sizeCache     protoimpl.SizeCache
3306
}
3307
3308
func (x *BundleWriteRequest) Reset() {
3309
	*x = BundleWriteRequest{}
3310
	mi := &file_base_v1_service_proto_msgTypes[53]
3311
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3312
	ms.StoreMessageInfo(mi)
3313
}
3314
3315
func (x *BundleWriteRequest) String() string {
3316
	return protoimpl.X.MessageStringOf(x)
3317
}
3318
3319
func (*BundleWriteRequest) ProtoMessage() {}
3320
3321
func (x *BundleWriteRequest) ProtoReflect() protoreflect.Message {
3322
	mi := &file_base_v1_service_proto_msgTypes[53]
3323
	if x != nil {
3324
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3325
		if ms.LoadMessageInfo() == nil {
3326
			ms.StoreMessageInfo(mi)
3327
		}
3328
		return ms
3329
	}
3330
	return mi.MessageOf(x)
3331
}
3332
3333
// Deprecated: Use BundleWriteRequest.ProtoReflect.Descriptor instead.
3334
func (*BundleWriteRequest) Descriptor() ([]byte, []int) {
3335
	return file_base_v1_service_proto_rawDescGZIP(), []int{53}
3336
}
3337
3338
func (x *BundleWriteRequest) GetTenantId() string {
3339
	if x != nil {
3340
		return x.TenantId
3341
	}
3342
	return ""
3343
}
3344
3345
func (x *BundleWriteRequest) GetBundles() []*DataBundle {
3346
	if x != nil {
3347
		return x.Bundles
3348
	}
3349
	return nil
3350
}
3351
3352
// BundleWriteResponse is the response for a BundleWriteRequest.
3353
// It includes a name which could be used as an identifier or acknowledgment.
3354
type BundleWriteResponse struct {
3355
	state         protoimpl.MessageState `protogen:"open.v1"`
3356
	Names         []string               `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` // Identifier or acknowledgment of the written bundle.
3357
	unknownFields protoimpl.UnknownFields
3358
	sizeCache     protoimpl.SizeCache
3359
}
3360
3361
func (x *BundleWriteResponse) Reset() {
3362
	*x = BundleWriteResponse{}
3363
	mi := &file_base_v1_service_proto_msgTypes[54]
3364
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3365
	ms.StoreMessageInfo(mi)
3366
}
3367
3368
func (x *BundleWriteResponse) String() string {
3369
	return protoimpl.X.MessageStringOf(x)
3370
}
3371
3372
func (*BundleWriteResponse) ProtoMessage() {}
3373
3374
func (x *BundleWriteResponse) ProtoReflect() protoreflect.Message {
3375
	mi := &file_base_v1_service_proto_msgTypes[54]
3376
	if x != nil {
3377
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3378
		if ms.LoadMessageInfo() == nil {
3379
			ms.StoreMessageInfo(mi)
3380
		}
3381
		return ms
3382
	}
3383
	return mi.MessageOf(x)
3384
}
3385
3386
// Deprecated: Use BundleWriteResponse.ProtoReflect.Descriptor instead.
3387
func (*BundleWriteResponse) Descriptor() ([]byte, []int) {
3388
	return file_base_v1_service_proto_rawDescGZIP(), []int{54}
3389
}
3390
3391
func (x *BundleWriteResponse) GetNames() []string {
3392
	if x != nil {
3393
		return x.Names
3394
	}
3395
	return nil
3396
}
3397
3398
type BundleReadRequest struct {
3399
	state         protoimpl.MessageState `protogen:"open.v1"`
3400
	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3401
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3402
	unknownFields protoimpl.UnknownFields
3403
	sizeCache     protoimpl.SizeCache
3404
}
3405
3406
func (x *BundleReadRequest) Reset() {
3407
	*x = BundleReadRequest{}
3408
	mi := &file_base_v1_service_proto_msgTypes[55]
3409
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3410
	ms.StoreMessageInfo(mi)
3411
}
3412
3413
func (x *BundleReadRequest) String() string {
3414
	return protoimpl.X.MessageStringOf(x)
3415
}
3416
3417
func (*BundleReadRequest) ProtoMessage() {}
3418
3419
func (x *BundleReadRequest) ProtoReflect() protoreflect.Message {
3420
	mi := &file_base_v1_service_proto_msgTypes[55]
3421
	if x != nil {
3422
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3423
		if ms.LoadMessageInfo() == nil {
3424
			ms.StoreMessageInfo(mi)
3425
		}
3426
		return ms
3427
	}
3428
	return mi.MessageOf(x)
3429
}
3430
3431
// Deprecated: Use BundleReadRequest.ProtoReflect.Descriptor instead.
3432
func (*BundleReadRequest) Descriptor() ([]byte, []int) {
3433
	return file_base_v1_service_proto_rawDescGZIP(), []int{55}
3434
}
3435
3436
func (x *BundleReadRequest) GetTenantId() string {
3437
	if x != nil {
3438
		return x.TenantId
3439
	}
3440
	return ""
3441
}
3442
3443
func (x *BundleReadRequest) GetName() string {
3444
	if x != nil {
3445
		return x.Name
3446
	}
3447
	return ""
3448
}
3449
3450
type BundleReadResponse struct {
3451
	state         protoimpl.MessageState `protogen:"open.v1"`
3452
	Bundle        *DataBundle            `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"`
3453
	unknownFields protoimpl.UnknownFields
3454
	sizeCache     protoimpl.SizeCache
3455
}
3456
3457
func (x *BundleReadResponse) Reset() {
3458
	*x = BundleReadResponse{}
3459
	mi := &file_base_v1_service_proto_msgTypes[56]
3460
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3461
	ms.StoreMessageInfo(mi)
3462
}
3463
3464
func (x *BundleReadResponse) String() string {
3465
	return protoimpl.X.MessageStringOf(x)
3466
}
3467
3468
func (*BundleReadResponse) ProtoMessage() {}
3469
3470
func (x *BundleReadResponse) ProtoReflect() protoreflect.Message {
3471
	mi := &file_base_v1_service_proto_msgTypes[56]
3472
	if x != nil {
3473
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3474
		if ms.LoadMessageInfo() == nil {
3475
			ms.StoreMessageInfo(mi)
3476
		}
3477
		return ms
3478
	}
3479
	return mi.MessageOf(x)
3480
}
3481
3482
// Deprecated: Use BundleReadResponse.ProtoReflect.Descriptor instead.
3483
func (*BundleReadResponse) Descriptor() ([]byte, []int) {
3484
	return file_base_v1_service_proto_rawDescGZIP(), []int{56}
3485
}
3486
3487
func (x *BundleReadResponse) GetBundle() *DataBundle {
3488
	if x != nil {
3489
		return x.Bundle
3490
	}
3491
	return nil
3492
}
3493
3494
// BundleDeleteRequest is used to request the deletion of a bundle.
3495
// It contains the tenant_id to specify the tenant and the name of the bundle to be deleted.
3496
type BundleDeleteRequest struct {
3497
	state         protoimpl.MessageState `protogen:"open.v1"`
3498
	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3499
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Name of the bundle to be deleted.
3500
	unknownFields protoimpl.UnknownFields
3501
	sizeCache     protoimpl.SizeCache
3502
}
3503
3504
func (x *BundleDeleteRequest) Reset() {
3505
	*x = BundleDeleteRequest{}
3506
	mi := &file_base_v1_service_proto_msgTypes[57]
3507
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3508
	ms.StoreMessageInfo(mi)
3509
}
3510
3511
func (x *BundleDeleteRequest) String() string {
3512
	return protoimpl.X.MessageStringOf(x)
3513
}
3514
3515
func (*BundleDeleteRequest) ProtoMessage() {}
3516
3517
func (x *BundleDeleteRequest) ProtoReflect() protoreflect.Message {
3518
	mi := &file_base_v1_service_proto_msgTypes[57]
3519
	if x != nil {
3520
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3521
		if ms.LoadMessageInfo() == nil {
3522
			ms.StoreMessageInfo(mi)
3523
		}
3524
		return ms
3525
	}
3526
	return mi.MessageOf(x)
3527
}
3528
3529
// Deprecated: Use BundleDeleteRequest.ProtoReflect.Descriptor instead.
3530
func (*BundleDeleteRequest) Descriptor() ([]byte, []int) {
3531
	return file_base_v1_service_proto_rawDescGZIP(), []int{57}
3532
}
3533
3534
func (x *BundleDeleteRequest) GetTenantId() string {
3535
	if x != nil {
3536
		return x.TenantId
3537
	}
3538
	return ""
3539
}
3540
3541
func (x *BundleDeleteRequest) GetName() string {
3542
	if x != nil {
3543
		return x.Name
3544
	}
3545
	return ""
3546
}
3547
3548
type BundleDeleteResponse struct {
3549
	state         protoimpl.MessageState `protogen:"open.v1"`
3550
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3551
	unknownFields protoimpl.UnknownFields
3552
	sizeCache     protoimpl.SizeCache
3553
}
3554
3555
func (x *BundleDeleteResponse) Reset() {
3556
	*x = BundleDeleteResponse{}
3557
	mi := &file_base_v1_service_proto_msgTypes[58]
3558
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3559
	ms.StoreMessageInfo(mi)
3560
}
3561
3562
func (x *BundleDeleteResponse) String() string {
3563
	return protoimpl.X.MessageStringOf(x)
3564
}
3565
3566
func (*BundleDeleteResponse) ProtoMessage() {}
3567
3568
func (x *BundleDeleteResponse) ProtoReflect() protoreflect.Message {
3569
	mi := &file_base_v1_service_proto_msgTypes[58]
3570
	if x != nil {
3571
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3572
		if ms.LoadMessageInfo() == nil {
3573
			ms.StoreMessageInfo(mi)
3574
		}
3575
		return ms
3576
	}
3577
	return mi.MessageOf(x)
3578
}
3579
3580
// Deprecated: Use BundleDeleteResponse.ProtoReflect.Descriptor instead.
3581
func (*BundleDeleteResponse) Descriptor() ([]byte, []int) {
3582
	return file_base_v1_service_proto_rawDescGZIP(), []int{58}
3583
}
3584
3585
func (x *BundleDeleteResponse) GetName() string {
3586
	if x != nil {
3587
		return x.Name
3588
	}
3589
	return ""
3590
}
3591
3592
// TenantCreateRequest is the message used for the request to create a tenant.
3593
type TenantCreateRequest struct {
3594
	state protoimpl.MessageState `protogen:"open.v1"`
3595
	// id is a unique identifier for the tenant.
3596
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3597
	// name is the name of the tenant.
3598
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3599
	unknownFields protoimpl.UnknownFields
3600
	sizeCache     protoimpl.SizeCache
3601
}
3602
3603
func (x *TenantCreateRequest) Reset() {
3604
	*x = TenantCreateRequest{}
3605
	mi := &file_base_v1_service_proto_msgTypes[59]
3606
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3607
	ms.StoreMessageInfo(mi)
3608
}
3609
3610
func (x *TenantCreateRequest) String() string {
3611
	return protoimpl.X.MessageStringOf(x)
3612
}
3613
3614
func (*TenantCreateRequest) ProtoMessage() {}
3615
3616
func (x *TenantCreateRequest) ProtoReflect() protoreflect.Message {
3617
	mi := &file_base_v1_service_proto_msgTypes[59]
3618
	if x != nil {
3619
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3620
		if ms.LoadMessageInfo() == nil {
3621
			ms.StoreMessageInfo(mi)
3622
		}
3623
		return ms
3624
	}
3625
	return mi.MessageOf(x)
3626
}
3627
3628
// Deprecated: Use TenantCreateRequest.ProtoReflect.Descriptor instead.
3629
func (*TenantCreateRequest) Descriptor() ([]byte, []int) {
3630
	return file_base_v1_service_proto_rawDescGZIP(), []int{59}
3631
}
3632
3633
func (x *TenantCreateRequest) GetId() string {
3634
	if x != nil {
3635
		return x.Id
3636
	}
3637
	return ""
3638
}
3639
3640
func (x *TenantCreateRequest) GetName() string {
3641
	if x != nil {
3642
		return x.Name
3643
	}
3644
	return ""
3645
}
3646
3647
// TenantCreateResponse is the message returned from the request to create a tenant.
3648
type TenantCreateResponse struct {
3649
	state protoimpl.MessageState `protogen:"open.v1"`
3650
	// tenant is the created tenant information.
3651
	Tenant        *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3652
	unknownFields protoimpl.UnknownFields
3653
	sizeCache     protoimpl.SizeCache
3654
}
3655
3656
func (x *TenantCreateResponse) Reset() {
3657
	*x = TenantCreateResponse{}
3658
	mi := &file_base_v1_service_proto_msgTypes[60]
3659
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3660
	ms.StoreMessageInfo(mi)
3661
}
3662
3663
func (x *TenantCreateResponse) String() string {
3664
	return protoimpl.X.MessageStringOf(x)
3665
}
3666
3667
func (*TenantCreateResponse) ProtoMessage() {}
3668
3669
func (x *TenantCreateResponse) ProtoReflect() protoreflect.Message {
3670
	mi := &file_base_v1_service_proto_msgTypes[60]
3671
	if x != nil {
3672
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3673
		if ms.LoadMessageInfo() == nil {
3674
			ms.StoreMessageInfo(mi)
3675
		}
3676
		return ms
3677
	}
3678
	return mi.MessageOf(x)
3679
}
3680
3681
// Deprecated: Use TenantCreateResponse.ProtoReflect.Descriptor instead.
3682
func (*TenantCreateResponse) Descriptor() ([]byte, []int) {
3683
	return file_base_v1_service_proto_rawDescGZIP(), []int{60}
3684
}
3685
3686
func (x *TenantCreateResponse) GetTenant() *Tenant {
3687
	if x != nil {
3688
		return x.Tenant
3689
	}
3690
	return nil
3691
}
3692
3693
// TenantDeleteRequest is the message used for the request to delete a tenant.
3694
type TenantDeleteRequest struct {
3695
	state protoimpl.MessageState `protogen:"open.v1"`
3696
	// id is the unique identifier of the tenant to be deleted.
3697
	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3698
	unknownFields protoimpl.UnknownFields
3699
	sizeCache     protoimpl.SizeCache
3700
}
3701
3702
func (x *TenantDeleteRequest) Reset() {
3703
	*x = TenantDeleteRequest{}
3704
	mi := &file_base_v1_service_proto_msgTypes[61]
3705
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3706
	ms.StoreMessageInfo(mi)
3707
}
3708
3709
func (x *TenantDeleteRequest) String() string {
3710
	return protoimpl.X.MessageStringOf(x)
3711
}
3712
3713
func (*TenantDeleteRequest) ProtoMessage() {}
3714
3715
func (x *TenantDeleteRequest) ProtoReflect() protoreflect.Message {
3716
	mi := &file_base_v1_service_proto_msgTypes[61]
3717
	if x != nil {
3718
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3719
		if ms.LoadMessageInfo() == nil {
3720
			ms.StoreMessageInfo(mi)
3721
		}
3722
		return ms
3723
	}
3724
	return mi.MessageOf(x)
3725
}
3726
3727
// Deprecated: Use TenantDeleteRequest.ProtoReflect.Descriptor instead.
3728
func (*TenantDeleteRequest) Descriptor() ([]byte, []int) {
3729
	return file_base_v1_service_proto_rawDescGZIP(), []int{61}
3730
}
3731
3732
func (x *TenantDeleteRequest) GetId() string {
3733
	if x != nil {
3734
		return x.Id
3735
	}
3736
	return ""
3737
}
3738
3739
// TenantDeleteResponse is the message returned from the request to delete a tenant.
3740
type TenantDeleteResponse struct {
3741
	state protoimpl.MessageState `protogen:"open.v1"`
3742
	// tenant_id is the tenant id that was deleted.
3743
	TenantId      string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3744
	unknownFields protoimpl.UnknownFields
3745
	sizeCache     protoimpl.SizeCache
3746
}
3747
3748
func (x *TenantDeleteResponse) Reset() {
3749
	*x = TenantDeleteResponse{}
3750
	mi := &file_base_v1_service_proto_msgTypes[62]
3751
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3752
	ms.StoreMessageInfo(mi)
3753
}
3754
3755
func (x *TenantDeleteResponse) String() string {
3756
	return protoimpl.X.MessageStringOf(x)
3757
}
3758
3759
func (*TenantDeleteResponse) ProtoMessage() {}
3760
3761
func (x *TenantDeleteResponse) ProtoReflect() protoreflect.Message {
3762
	mi := &file_base_v1_service_proto_msgTypes[62]
3763
	if x != nil {
3764
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3765
		if ms.LoadMessageInfo() == nil {
3766
			ms.StoreMessageInfo(mi)
3767
		}
3768
		return ms
3769
	}
3770
	return mi.MessageOf(x)
3771
}
3772
3773
// Deprecated: Use TenantDeleteResponse.ProtoReflect.Descriptor instead.
3774
func (*TenantDeleteResponse) Descriptor() ([]byte, []int) {
3775
	return file_base_v1_service_proto_rawDescGZIP(), []int{62}
3776
}
3777
3778
func (x *TenantDeleteResponse) GetTenantId() string {
3779
	if x != nil {
3780
		return x.TenantId
3781
	}
3782
	return ""
3783
}
3784
3785
// TenantListRequest is the message used for the request to list all tenants.
3786
type TenantListRequest struct {
3787
	state protoimpl.MessageState `protogen:"open.v1"`
3788
	// page_size is the number of tenants to be returned in the response.
3789
	// The value should be between 1 and 100.
3790
	PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"`
3791
	// continuous_token is an optional parameter used for pagination.
3792
	// It should be the value received in the previous response.
3793
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3794
	unknownFields   protoimpl.UnknownFields
3795
	sizeCache       protoimpl.SizeCache
3796
}
3797
3798
func (x *TenantListRequest) Reset() {
3799
	*x = TenantListRequest{}
3800
	mi := &file_base_v1_service_proto_msgTypes[63]
3801
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3802
	ms.StoreMessageInfo(mi)
3803
}
3804
3805
func (x *TenantListRequest) String() string {
3806
	return protoimpl.X.MessageStringOf(x)
3807
}
3808
3809
func (*TenantListRequest) ProtoMessage() {}
3810
3811
func (x *TenantListRequest) ProtoReflect() protoreflect.Message {
3812
	mi := &file_base_v1_service_proto_msgTypes[63]
3813
	if x != nil {
3814
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3815
		if ms.LoadMessageInfo() == nil {
3816
			ms.StoreMessageInfo(mi)
3817
		}
3818
		return ms
3819
	}
3820
	return mi.MessageOf(x)
3821
}
3822
3823
// Deprecated: Use TenantListRequest.ProtoReflect.Descriptor instead.
3824
func (*TenantListRequest) Descriptor() ([]byte, []int) {
3825
	return file_base_v1_service_proto_rawDescGZIP(), []int{63}
3826
}
3827
3828
func (x *TenantListRequest) GetPageSize() uint32 {
3829
	if x != nil {
3830
		return x.PageSize
3831
	}
3832
	return 0
3833
}
3834
3835
func (x *TenantListRequest) GetContinuousToken() string {
3836
	if x != nil {
3837
		return x.ContinuousToken
3838
	}
3839
	return ""
3840
}
3841
3842
// TenantListResponse is the message returned from the request to list all tenants.
3843
type TenantListResponse struct {
3844
	state protoimpl.MessageState `protogen:"open.v1"`
3845
	// tenants is a list of tenants.
3846
	Tenants []*Tenant `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
3847
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
3848
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3849
	unknownFields   protoimpl.UnknownFields
3850
	sizeCache       protoimpl.SizeCache
3851
}
3852
3853
func (x *TenantListResponse) Reset() {
3854
	*x = TenantListResponse{}
3855
	mi := &file_base_v1_service_proto_msgTypes[64]
3856
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3857
	ms.StoreMessageInfo(mi)
3858
}
3859
3860
func (x *TenantListResponse) String() string {
3861
	return protoimpl.X.MessageStringOf(x)
3862
}
3863
3864
func (*TenantListResponse) ProtoMessage() {}
3865
3866
func (x *TenantListResponse) ProtoReflect() protoreflect.Message {
3867
	mi := &file_base_v1_service_proto_msgTypes[64]
3868
	if x != nil {
3869
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3870
		if ms.LoadMessageInfo() == nil {
3871
			ms.StoreMessageInfo(mi)
3872
		}
3873
		return ms
3874
	}
3875
	return mi.MessageOf(x)
3876
}
3877
3878
// Deprecated: Use TenantListResponse.ProtoReflect.Descriptor instead.
3879
func (*TenantListResponse) Descriptor() ([]byte, []int) {
3880
	return file_base_v1_service_proto_rawDescGZIP(), []int{64}
3881
}
3882
3883
func (x *TenantListResponse) GetTenants() []*Tenant {
3884
	if x != nil {
3885
		return x.Tenants
3886
	}
3887
	return nil
3888
}
3889
3890
func (x *TenantListResponse) GetContinuousToken() string {
3891
	if x != nil {
3892
		return x.ContinuousToken
3893
	}
3894
	return ""
3895
}
3896
3897
var File_base_v1_service_proto protoreflect.FileDescriptor
3898
3899
const file_base_v1_service_proto_rawDesc = "" +
3900
	"\n" +
3901
	"\x15base/v1/service.proto\x12\abase.v1\x1a\x12base/v1/base.proto\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x17validate/validate.proto\"\x80\a\n" +
3902
	"\x16PermissionCheckRequest\x12\xaa\x02\n" +
3903
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12M\n" +
3904
	"\bmetadata\x18\x02 \x01(\v2'.base.v1.PermissionCheckRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12D\n" +
3905
	"\x06entity\x18\x03 \x01(\v2\x0f.base.v1.EntityB\x1b\x92A\x10J\x0e\"repository:1\"\xfaB\x05\x8a\x01\x02\x10\x01R\x06entity\x12v\n" +
3906
	"\n" +
3907
	"permission\x18\x04 \x01(\tBV\x92A624The action the user wants to perform on the resource\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x00R\n" +
3908
	"permission\x124\n" +
3909
	"\asubject\x18\x05 \x01(\v2\x10.base.v1.SubjectB\b\xfaB\x05\x8a\x01\x02\x10\x01R\asubject\x12\xc4\x01\n" +
3910
	"\acontext\x18\x06 \x01(\v2\x10.base.v1.ContextB\x97\x01\x92A\x93\x012\x90\x01Contextual data that can be dynamically added to permission check requests. See details on [Contextual Data](../../operations/contextual-tuples)R\acontext\x12/\n" +
3911
	"\targuments\x18\a \x03(\v2\x11.base.v1.ArgumentR\targuments\"\xb2\x02\n" +
3912
	"\x1ePermissionCheckRequestMetadata\x12&\n" +
3913
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x89\x01\n" +
3914
	"\n" +
3915
	"snap_token\x18\x02 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
3916
	"snap_token\x12\\\n" +
3917
	"\x05depth\x18\x03 \x01(\x05BF\x92A<2:Query limit when if recursive database queries got in loop\xfaB\x04\x1a\x02(\x03R\x05depth\"\x87\x01\n" +
3918
	"\x17PermissionCheckResponse\x12&\n" +
3919
	"\x03can\x18\x01 \x01(\x0e2\x14.base.v1.CheckResultR\x03can\x12D\n" +
3920
	"\bmetadata\x18\x02 \x01(\v2(.base.v1.PermissionCheckResponseMetadataR\bmetadata\"C\n" +
3921
	"\x1fPermissionCheckResponseMetadata\x12 \n" +
3922
	"\vcheck_count\x18\x01 \x01(\x05R\vcheck_count\"\x94\x02\n" +
3923
	"\x1ePermissionBulkCheckRequestItem\x12D\n" +
3924
	"\x06entity\x18\x01 \x01(\v2\x0f.base.v1.EntityB\x1b\x92A\x10J\x0e\"repository:1\"\xfaB\x05\x8a\x01\x02\x10\x01R\x06entity\x12v\n" +
3925
	"\n" +
3926
	"permission\x18\x02 \x01(\tBV\x92A624The action the user wants to perform on the resource\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x00R\n" +
3927
	"permission\x124\n" +
3928
	"\asubject\x18\x03 \x01(\v2\x10.base.v1.SubjectB\b\xfaB\x05\x8a\x01\x02\x10\x01R\asubject\"\xdb\x05\n" +
3929
	"\x1aPermissionBulkCheckRequest\x12\xaa\x02\n" +
3930
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12M\n" +
3931
	"\bmetadata\x18\x02 \x01(\v2'.base.v1.PermissionCheckRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12I\n" +
3932
	"\x05items\x18\x03 \x03(\v2'.base.v1.PermissionBulkCheckRequestItemB\n" +
3933
	"\xfaB\a\x92\x01\x04\b\x01\x10dR\x05items\x12\xc4\x01\n" +
3934
	"\acontext\x18\x04 \x01(\v2\x10.base.v1.ContextB\x97\x01\x92A\x93\x012\x90\x01Contextual data that can be dynamically added to permission check requests. See details on [Contextual Data](../../operations/contextual-tuples)R\acontext\x12/\n" +
3935
	"\targuments\x18\x05 \x03(\v2\x11.base.v1.ArgumentR\targuments\"Y\n" +
3936
	"\x1bPermissionBulkCheckResponse\x12:\n" +
3937
	"\aresults\x18\x01 \x03(\v2 .base.v1.PermissionCheckResponseR\aresults\"\xe5\x04\n" +
3938
	"\x17PermissionExpandRequest\x12\xaa\x02\n" +
3939
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12N\n" +
3940
	"\bmetadata\x18\x02 \x01(\v2(.base.v1.PermissionExpandRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x121\n" +
3941
	"\x06entity\x18\x03 \x01(\v2\x0f.base.v1.EntityB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06entity\x12=\n" +
3942
	"\n" +
3943
	"permission\x18\x04 \x01(\tB\x1d\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x01R\n" +
3944
	"permission\x12*\n" +
3945
	"\acontext\x18\x05 \x01(\v2\x10.base.v1.ContextR\acontext\x12/\n" +
3946
	"\targuments\x18\x06 \x03(\v2\x11.base.v1.ArgumentR\targuments\"\xd6\x01\n" +
3947
	"\x1fPermissionExpandRequestMetadata\x12&\n" +
3948
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x8a\x01\n" +
3949
	"\n" +
3950
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
3951
	"snap_token\"?\n" +
3952
	"\x18PermissionExpandResponse\x12#\n" +
3953
	"\x04tree\x18\x01 \x01(\v2\x0f.base.v1.ExpandR\x04tree\"\x81\a\n" +
3954
	"\x1dPermissionLookupEntityRequest\x12\xaa\x02\n" +
3955
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12T\n" +
3956
	"\bmetadata\x18\x02 \x01(\v2..base.v1.PermissionLookupEntityRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12?\n" +
3957
	"\ventity_type\x18\x03 \x01(\tB\x1d\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x00R\ventity_type\x12=\n" +
3958
	"\n" +
3959
	"permission\x18\x04 \x01(\tB\x1d\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x00R\n" +
3960
	"permission\x124\n" +
3961
	"\asubject\x18\x05 \x01(\v2\x10.base.v1.SubjectB\b\xfaB\x05\x8a\x01\x02\x10\x01R\asubject\x12*\n" +
3962
	"\acontext\x18\x06 \x01(\v2\x10.base.v1.ContextR\acontext\x12G\n" +
3963
	"\x05scope\x18\a \x03(\v21.base.v1.PermissionLookupEntityRequest.ScopeEntryR\x05scope\x12'\n" +
3964
	"\tpage_size\x18\b \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
3965
	"\x10continuous_token\x18\t \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\x1aS\n" +
3966
	"\n" +
3967
	"ScopeEntry\x12\x10\n" +
3968
	"\x03key\x18\x01 \x01(\tR\x03key\x12/\n" +
3969
	"\x05value\x18\x02 \x01(\v2\x19.base.v1.StringArrayValueR\x05value:\x028\x01\"\xbb\x02\n" +
3970
	"%PermissionLookupEntityRequestMetadata\x12&\n" +
3971
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x8a\x01\n" +
3972
	"\n" +
3973
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
3974
	"snap_token\x12]\n" +
3975
	"\x05depth\x18\x03 \x01(\x05BG\x92A=2;Query limit when if recursive database queries got in loop.\xfaB\x04\x1a\x02(\x03R\x05depth\"l\n" +
3976
	"\x1ePermissionLookupEntityResponse\x12\x1e\n" +
3977
	"\n" +
3978
	"entity_ids\x18\x01 \x03(\tR\n" +
3979
	"entity_ids\x12*\n" +
3980
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token\"p\n" +
3981
	"$PermissionLookupEntityStreamResponse\x12\x1c\n" +
3982
	"\tentity_id\x18\x01 \x01(\tR\tentity_id\x12*\n" +
3983
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token\"\xe9\x05\n" +
3984
	"\x1dPermissionEntityFilterRequest\x12\xaa\x02\n" +
3985
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12T\n" +
3986
	"\bmetadata\x18\x02 \x01(\v2..base.v1.PermissionEntityFilterRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12-\n" +
3987
	"\bentrance\x18\x03 \x01(\v2\x11.base.v1.EntranceR\bentrance\x12*\n" +
3988
	"\asubject\x18\x04 \x01(\v2\x10.base.v1.SubjectR\asubject\x12*\n" +
3989
	"\acontext\x18\x05 \x01(\v2\x10.base.v1.ContextR\acontext\x12G\n" +
3990
	"\x05scope\x18\x06 \x03(\v21.base.v1.PermissionEntityFilterRequest.ScopeEntryR\x05scope\x12 \n" +
3991
	"\x06cursor\x18\a \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x06cursor\x1aS\n" +
3992
	"\n" +
3993
	"ScopeEntry\x12\x10\n" +
3994
	"\x03key\x18\x01 \x01(\tR\x03key\x12/\n" +
3995
	"\x05value\x18\x02 \x01(\v2\x19.base.v1.StringArrayValueR\x05value:\x028\x01\"\xbb\x02\n" +
3996
	"%PermissionEntityFilterRequestMetadata\x12&\n" +
3997
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x8a\x01\n" +
3998
	"\n" +
3999
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
4000
	"snap_token\x12]\n" +
4001
	"\x05depth\x18\x03 \x01(\x05BG\x92A=2;Query limit when if recursive database queries got in loop.\xfaB\x04\x1a\x02(\x03R\x05depth\"\xa6\x06\n" +
4002
	"\x1ePermissionLookupSubjectRequest\x12\xaa\x02\n" +
4003
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12U\n" +
4004
	"\bmetadata\x18\x02 \x01(\v2/.base.v1.PermissionLookupSubjectRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x121\n" +
4005
	"\x06entity\x18\x03 \x01(\v2\x0f.base.v1.EntityB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06entity\x12=\n" +
4006
	"\n" +
4007
	"permission\x18\x04 \x01(\tB\x1d\xfaB\x1ar\x18(@2\x11^[a-zA-Z_]{1,64}$\xd0\x01\x00R\n" +
4008
	"permission\x12R\n" +
4009
	"\x11subject_reference\x18\x05 \x01(\v2\x1a.base.v1.RelationReferenceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x11subject_reference\x12*\n" +
4010
	"\acontext\x18\x06 \x01(\v2\x10.base.v1.ContextR\acontext\x12/\n" +
4011
	"\targuments\x18\a \x03(\v2\x11.base.v1.ArgumentR\targuments\x12'\n" +
4012
	"\tpage_size\x18\b \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
4013
	"\x10continuous_token\x18\t \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\"\xbc\x02\n" +
4014
	"&PermissionLookupSubjectRequestMetadata\x12&\n" +
4015
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x8a\x01\n" +
4016
	"\n" +
4017
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
4018
	"snap_token\x12]\n" +
4019
	"\x05depth\x18\x03 \x01(\x05BG\x92A=2;Query limit when if recursive database queries got in loop.\xfaB\x04\x1a\x02(\x03R\x05depth\"o\n" +
4020
	"\x1fPermissionLookupSubjectResponse\x12 \n" +
4021
	"\vsubject_ids\x18\x01 \x03(\tR\vsubject_ids\x12*\n" +
4022
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token\"\xc1\x04\n" +
4023
	"\"PermissionSubjectPermissionRequest\x12\xaa\x02\n" +
4024
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12Y\n" +
4025
	"\bmetadata\x18\x02 \x01(\v23.base.v1.PermissionSubjectPermissionRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x121\n" +
4026
	"\x06entity\x18\x03 \x01(\v2\x0f.base.v1.EntityB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06entity\x124\n" +
4027
	"\asubject\x18\x04 \x01(\v2\x10.base.v1.SubjectB\b\xfaB\x05\x8a\x01\x02\x10\x01R\asubject\x12*\n" +
4028
	"\acontext\x18\x05 \x01(\v2\x10.base.v1.ContextR\acontext\"\xea\x02\n" +
4029
	"*PermissionSubjectPermissionRequestMetadata\x12&\n" +
4030
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\x12\x8a\x01\n" +
4031
	"\n" +
4032
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
4033
	"snap_token\x12(\n" +
4034
	"\x0fonly_permission\x18\x03 \x01(\bR\x0fonly_permission\x12]\n" +
4035
	"\x05depth\x18\x04 \x01(\x05BG\x92A=2;Query limit when if recursive database queries got in loop.\xfaB\x04\x1a\x02(\x03R\x05depth\"\xcc\x01\n" +
4036
	"#PermissionSubjectPermissionResponse\x12S\n" +
4037
	"\aresults\x18\x01 \x03(\v29.base.v1.PermissionSubjectPermissionResponse.ResultsEntryR\aresults\x1aP\n" +
4038
	"\fResultsEntry\x12\x10\n" +
4039
	"\x03key\x18\x01 \x01(\tR\x03key\x12*\n" +
4040
	"\x05value\x18\x02 \x01(\x0e2\x14.base.v1.CheckResultR\x05value:\x028\x01\"\xc8\x03\n" +
4041
	"\fWatchRequest\x12\xaa\x02\n" +
4042
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12\x8a\x01\n" +
4043
	"\n" +
4044
	"snap_token\x18\x02 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
4045
	"snap_token\"?\n" +
4046
	"\rWatchResponse\x12.\n" +
4047
	"\achanges\x18\x01 \x01(\v2\x14.base.v1.DataChangesR\achanges\"\xd9\x02\n" +
4048
	"\x12SchemaWriteRequest\x12\xaa\x02\n" +
4049
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12\x16\n" +
4050
	"\x06schema\x18\x02 \x01(\tR\x06schema\"=\n" +
4051
	"\x13SchemaWriteResponse\x12&\n" +
4052
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"\xd9\x02\n" +
4053
	"\x19SchemaPartialWriteRequest\x12L\n" +
4054
	"\ttenant_id\x18\x01 \x01(\tB.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12P\n" +
4055
	"\bmetadata\x18\x02 \x01(\v2*.base.v1.SchemaPartialWriteRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12L\n" +
4056
	"\bpartials\x18\x03 \x03(\v20.base.v1.SchemaPartialWriteRequest.PartialsEntryR\bpartials\x1aN\n" +
4057
	"\rPartialsEntry\x12\x10\n" +
4058
	"\x03key\x18\x01 \x01(\tR\x03key\x12'\n" +
4059
	"\x05value\x18\x02 \x01(\v2\x11.base.v1.PartialsR\x05value:\x028\x01\"K\n" +
4060
	"!SchemaPartialWriteRequestMetadata\x12&\n" +
4061
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"D\n" +
4062
	"\x1aSchemaPartialWriteResponse\x12&\n" +
4063
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"\x8a\x03\n" +
4064
	"\x11SchemaReadRequest\x12\xaa\x02\n" +
4065
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12H\n" +
4066
	"\bmetadata\x18\x02 \x01(\v2\".base.v1.SchemaReadRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\"C\n" +
4067
	"\x19SchemaReadRequestMetadata\x12&\n" +
4068
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"G\n" +
4069
	"\x12SchemaReadResponse\x121\n" +
4070
	"\x06schema\x18\x01 \x01(\v2\x19.base.v1.SchemaDefinitionR\x06schema\"\x9f\x03\n" +
4071
	"\x11SchemaListRequest\x12\xaa\x02\n" +
4072
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12'\n" +
4073
	"\tpage_size\x18\x02 \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
4074
	"\x10continuous_token\x18\x03 \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\"\x83\x01\n" +
4075
	"\x12SchemaListResponse\x12\x12\n" +
4076
	"\x04head\x18\x01 \x01(\tR\x04head\x12-\n" +
4077
	"\aschemas\x18\x02 \x03(\v2\x13.base.v1.SchemaListR\aschemas\x12*\n" +
4078
	"\x10continuous_token\x18\x03 \x01(\tR\x10continuous_token\"F\n" +
4079
	"\n" +
4080
	"SchemaList\x12\x18\n" +
4081
	"\aversion\x18\x01 \x01(\tR\aversion\x12\x1e\n" +
4082
	"\n" +
4083
	"created_at\x18\x02 \x01(\tR\n" +
4084
	"created_at\"\x86\x04\n" +
4085
	"\x10DataWriteRequest\x12\xaa\x02\n" +
4086
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12G\n" +
4087
	"\bmetadata\x18\x02 \x01(\v2!.base.v1.DataWriteRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x127\n" +
4088
	"\x06tuples\x18\x03 \x03(\v2\x0e.base.v1.TupleB\x0f\xfaB\f\x92\x01\t\b\x00\"\x05\x8a\x01\x02\x10\x01R\x06tuples\x12C\n" +
4089
	"\n" +
4090
	"attributes\x18\x04 \x03(\v2\x12.base.v1.AttributeB\x0f\xfaB\f\x92\x01\t\b\x00\"\x05\x8a\x01\x02\x10\x01R\n" +
4091
	"attributes\"B\n" +
4092
	"\x18DataWriteRequestMetadata\x12&\n" +
4093
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"\xa0\x01\n" +
4094
	"\x11DataWriteResponse\x12\x8a\x01\n" +
4095
	"\n" +
4096
	"snap_token\x18\x01 \x01(\tBj\x92Ag2eThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens).R\n" +
4097
	"snap_token\"\xd1\x03\n" +
4098
	"\x18RelationshipWriteRequest\x12\xaa\x02\n" +
4099
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12O\n" +
4100
	"\bmetadata\x18\x02 \x01(\v2).base.v1.RelationshipWriteRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x127\n" +
4101
	"\x06tuples\x18\x03 \x03(\v2\x0e.base.v1.TupleB\x0f\xfaB\f\x92\x01\t\b\x01\"\x05\x8a\x01\x02\x10\x01R\x06tuples\"J\n" +
4102
	" RelationshipWriteRequestMetadata\x12&\n" +
4103
	"\x0eschema_version\x18\x01 \x01(\tR\x0eschema_version\"\xa7\x01\n" +
4104
	"\x19RelationshipWriteResponse\x12\x89\x01\n" +
4105
	"\n" +
4106
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4107
	"snap_token\"\xad\x04\n" +
4108
	"\x17RelationshipReadRequest\x12\xaa\x02\n" +
4109
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12N\n" +
4110
	"\bmetadata\x18\x02 \x01(\v2(.base.v1.RelationshipReadRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x126\n" +
4111
	"\x06filter\x18\x03 \x01(\v2\x14.base.v1.TupleFilterB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06filter\x12'\n" +
4112
	"\tpage_size\x18\x04 \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
4113
	"\x10continuous_token\x18\x05 \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\"\xad\x01\n" +
4114
	"\x1fRelationshipReadRequestMetadata\x12\x89\x01\n" +
4115
	"\n" +
4116
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4117
	"snap_token\"n\n" +
4118
	"\x18RelationshipReadResponse\x12&\n" +
4119
	"\x06tuples\x18\x01 \x03(\v2\x0e.base.v1.TupleR\x06tuples\x12*\n" +
4120
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token\"\xab\x04\n" +
4121
	"\x14AttributeReadRequest\x12\xaa\x02\n" +
4122
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12K\n" +
4123
	"\bmetadata\x18\x02 \x01(\v2%.base.v1.AttributeReadRequestMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bmetadata\x12:\n" +
4124
	"\x06filter\x18\x03 \x01(\v2\x18.base.v1.AttributeFilterB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06filter\x12'\n" +
4125
	"\tpage_size\x18\x04 \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
4126
	"\x10continuous_token\x18\x05 \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\"\xaa\x01\n" +
4127
	"\x1cAttributeReadRequestMetadata\x12\x89\x01\n" +
4128
	"\n" +
4129
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4130
	"snap_token\"w\n" +
4131
	"\x15AttributeReadResponse\x122\n" +
4132
	"\n" +
4133
	"attributes\x18\x01 \x03(\v2\x12.base.v1.AttributeR\n" +
4134
	"attributes\x12*\n" +
4135
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token\"\xd4\x03\n" +
4136
	"\x11DataDeleteRequest\x12\xaa\x02\n" +
4137
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12B\n" +
4138
	"\ftuple_filter\x18\x02 \x01(\v2\x14.base.v1.TupleFilterB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ftuple_filter\x12N\n" +
4139
	"\x10attribute_filter\x18\x03 \x01(\v2\x18.base.v1.AttributeFilterB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x10attribute_filter\"\xa0\x01\n" +
4140
	"\x12DataDeleteResponse\x12\x89\x01\n" +
4141
	"\n" +
4142
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4143
	"snap_token\"\xf6\x02\n" +
4144
	"\x19RelationshipDeleteRequest\x12\xaa\x02\n" +
4145
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12,\n" +
4146
	"\x06filter\x18\x02 \x01(\v2\x14.base.v1.TupleFilterR\x06filter\"\xa8\x01\n" +
4147
	"\x1aRelationshipDeleteResponse\x12\x89\x01\n" +
4148
	"\n" +
4149
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4150
	"snap_token\"\xd9\x03\n" +
4151
	"\x10BundleRunRequest\x12\xaa\x02\n" +
4152
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12\x12\n" +
4153
	"\x04name\x18\x02 \x01(\tR\x04name\x12F\n" +
4154
	"\targuments\x18\x03 \x03(\v2(.base.v1.BundleRunRequest.ArgumentsEntryR\targuments\x1a<\n" +
4155
	"\x0eArgumentsEntry\x12\x10\n" +
4156
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
4157
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x9f\x01\n" +
4158
	"\x11BundleRunResponse\x12\x89\x01\n" +
4159
	"\n" +
4160
	"snap_token\x18\x01 \x01(\tBi\x92Af2dThe snap token to avoid stale cache, see more details on [Snap Tokens](../../operations/snap-tokens)R\n" +
4161
	"snap_token\"\xf0\x02\n" +
4162
	"\x12BundleWriteRequest\x12\xaa\x02\n" +
4163
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12-\n" +
4164
	"\abundles\x18\x02 \x03(\v2\x13.base.v1.DataBundleR\abundles\"+\n" +
4165
	"\x13BundleWriteResponse\x12\x14\n" +
4166
	"\x05names\x18\x01 \x03(\tR\x05names\"\xd4\x02\n" +
4167
	"\x11BundleReadRequest\x12\xaa\x02\n" +
4168
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12\x12\n" +
4169
	"\x04name\x18\x02 \x01(\tR\x04name\"A\n" +
4170
	"\x12BundleReadResponse\x12+\n" +
4171
	"\x06bundle\x18\x01 \x01(\v2\x13.base.v1.DataBundleR\x06bundle\"\xd6\x02\n" +
4172
	"\x13BundleDeleteRequest\x12\xaa\x02\n" +
4173
	"\ttenant_id\x18\x01 \x01(\tB\x8b\x02\x92A\xd9\x012\xd6\x01Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.\xfaB+r)(\x80\x012!^([a-zA-Z0-9_\\-@\\.:+]{1,128}|\\*)$\xd0\x01\x00R\ttenant_id\x12\x12\n" +
4174
	"\x04name\x18\x02 \x01(\tR\x04name\"*\n" +
4175
	"\x14BundleDeleteResponse\x12\x12\n" +
4176
	"\x04name\x18\x01 \x01(\tR\x04name\"a\n" +
4177
	"\x13TenantCreateRequest\x12*\n" +
4178
	"\x02id\x18\x01 \x01(\tB\x1a\xfaB\x17r\x15(@2\x0e[a-zA-Z0-9-,]+\xd0\x01\x00R\x02id\x12\x1e\n" +
4179
	"\x04name\x18\x02 \x01(\tB\n" +
4180
	"\xfaB\ar\x05(@\xd0\x01\x00R\x04name\"?\n" +
4181
	"\x14TenantCreateResponse\x12'\n" +
4182
	"\x06tenant\x18\x01 \x01(\v2\x0f.base.v1.TenantR\x06tenant\"/\n" +
4183
	"\x13TenantDeleteRequest\x12\x18\n" +
4184
	"\x02id\x18\x01 \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x00R\x02id\"4\n" +
4185
	"\x14TenantDeleteResponse\x12\x1c\n" +
4186
	"\ttenant_id\x18\x01 \x01(\tR\ttenant_id\"r\n" +
4187
	"\x11TenantListRequest\x12'\n" +
4188
	"\tpage_size\x18\x01 \x01(\rB\t\xfaB\x06*\x04(\x01@\x01R\tpage_size\x124\n" +
4189
	"\x10continuous_token\x18\x02 \x01(\tB\b\xfaB\x05r\x03\xd0\x01\x01R\x10continuous_token\"k\n" +
4190
	"\x12TenantListResponse\x12)\n" +
4191
	"\atenants\x18\x01 \x03(\v2\x0f.base.v1.TenantR\atenants\x12*\n" +
4192
	"\x10continuous_token\x18\x02 \x01(\tR\x10continuous_token2\xafN\n" +
4193
	"\n" +
4194
	"Permission\x12\xe8\r\n" +
4195
	"\x05Check\x12\x1f.base.v1.PermissionCheckRequest\x1a .base.v1.PermissionCheckResponse\"\x9b\r\x92A\xe3\f\n" +
4196
	"\n" +
4197
	"Permission\x12\tcheck api*\x11permissions.checkj\xb6\f\n" +
4198
	"\rx-codeSamples\x12\xa4\f2\xa1\f\n" +
4199
	"\xc0\x04*\xbd\x04\n" +
4200
	"\r\n" +
4201
	"\x05label\x12\x04\x1a\x02go\n" +
4202
	"\f\n" +
4203
	"\x04lang\x12\x04\x1a\x02go\n" +
4204
	"\x9d\x04\n" +
4205
	"\x06source\x12\x92\x04\x1a\x8f\x04cr, err := client.Permission.Check(context.Background(), &v1.PermissionCheckRequest {\n" +
4206
	"    TenantId: \"t1\",\n" +
4207
	"    Metadata: &v1.PermissionCheckRequestMetadata {\n" +
4208
	"        SnapToken: \"\",\n" +
4209
	"        SchemaVersion: \"\",\n" +
4210
	"        Depth: 20,\n" +
4211
	"    },\n" +
4212
	"    Entity: &v1.Entity {\n" +
4213
	"        Type: \"repository\",\n" +
4214
	"        Id: \"1\",\n" +
4215
	"    },\n" +
4216
	"    Permission: \"edit\",\n" +
4217
	"    Subject: &v1.Subject {\n" +
4218
	"        Type: \"user\",\n" +
4219
	"        Id: \"1\",\n" +
4220
	"    },\n" +
4221
	"})\n" +
4222
	"if cr.Can == v1.PermissionCheckResponse_Result_RESULT_ALLOWED {\n" +
4223
	"    // RESULT_ALLOWED\n" +
4224
	"} else {\n" +
4225
	"    // RESULT_DENIED\n" +
4226
	"}\n" +
4227
	"\x9b\x04*\x98\x04\n" +
4228
	"\x0f\n" +
4229
	"\x05label\x12\x06\x1a\x04node\n" +
4230
	"\x14\n" +
4231
	"\x04lang\x12\f\x1a\n" +
4232
	"javascript\n" +
4233
	"\xee\x03\n" +
4234
	"\x06source\x12\xe3\x03\x1a\xe0\x03client.permission.check({\n" +
4235
	"    tenantId: \"t1\", \n" +
4236
	"    metadata: {\n" +
4237
	"        snapToken: \"\",\n" +
4238
	"        schemaVersion: \"\",\n" +
4239
	"        depth: 20\n" +
4240
	"    },\n" +
4241
	"    entity: {\n" +
4242
	"        type: \"repository\",\n" +
4243
	"        id: \"1\"\n" +
4244
	"    },\n" +
4245
	"    permission: \"edit\",\n" +
4246
	"    subject: {\n" +
4247
	"        type: \"user\",\n" +
4248
	"        id: \"1\"\n" +
4249
	"    }\n" +
4250
	"}).then((response) => {\n" +
4251
	"    if (response.can === PermissionCheckResponse_Result.RESULT_ALLOWED) {\n" +
4252
	"        console.log(\"RESULT_ALLOWED\")\n" +
4253
	"    } else {\n" +
4254
	"        console.log(\"RESULT_DENIED\")\n" +
4255
	"    }\n" +
4256
	"})\n" +
4257
	"\xbd\x03*\xba\x03\n" +
4258
	"\x0f\n" +
4259
	"\x05label\x12\x06\x1a\x04cURL\n" +
4260
	"\x0e\n" +
4261
	"\x04lang\x12\x06\x1a\x04curl\n" +
4262
	"\x96\x03\n" +
4263
	"\x06source\x12\x8b\x03\x1a\x88\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/permissions/check' \\\n" +
4264
	"--header 'Content-Type: application/json' \\\n" +
4265
	"--data-raw '{\n" +
4266
	"  \"metadata\": {\n" +
4267
	"    \"snap_token\": \"\",\n" +
4268
	"    \"schema_version\": \"\",\n" +
4269
	"    \"depth\": 20\n" +
4270
	"  },\n" +
4271
	"  \"entity\": {\n" +
4272
	"    \"type\": \"repository\",\n" +
4273
	"    \"id\": \"1\"\n" +
4274
	"  },\n" +
4275
	"  \"permission\": \"edit\",\n" +
4276
	"  \"subject\": {\n" +
4277
	"    \"type\": \"user\",\n" +
4278
	"    \"id\": \"1\",\n" +
4279
	"    \"relation\": \"\"\n" +
4280
	"  }\n" +
4281
	"}'\x82\xd3\xe4\x93\x02.:\x01*\")/v1/tenants/{tenant_id}/permissions/check\x12\x99\x02\n" +
4282
	"\tBulkCheck\x12#.base.v1.PermissionBulkCheckRequest\x1a$.base.v1.PermissionBulkCheckResponse\"\xc0\x01\x92A\x83\x01\n" +
4283
	"\n" +
4284
	"Permission\x12\x0ebulk check api\x1aMCheck multiple permissions in a single request. Maximum 100 requests allowed.*\x16permissions.bulk-check\x82\xd3\xe4\x93\x023:\x01*\"./v1/tenants/{tenant_id}/permissions/bulk-check\x12\xb4\t\n" +
4285
	"\x06Expand\x12 .base.v1.PermissionExpandRequest\x1a!.base.v1.PermissionExpandResponse\"\xe4\b\x92A\xab\b\n" +
4286
	"\n" +
4287
	"Permission\x12\n" +
4288
	"expand api*\x12permissions.expandj\xfc\a\n" +
4289
	"\rx-codeSamples\x12\xea\a2\xe7\a\n" +
4290
	"\xee\x02*\xeb\x02\n" +
4291
	"\r\n" +
4292
	"\x05label\x12\x04\x1a\x02go\n" +
4293
	"\f\n" +
4294
	"\x04lang\x12\x04\x1a\x02go\n" +
4295
	"\xcb\x02\n" +
4296
	"\x06source\x12\xc0\x02\x1a\xbd\x02cr, err := client.Permission.Expand(context.Background(), &v1.PermissionExpandRequest{\n" +
4297
	"    TenantId: \"t1\",\n" +
4298
	"    Metadata: &v1.PermissionExpandRequestMetadata{\n" +
4299
	"        SnapToken: \"\",\n" +
4300
	"        SchemaVersion: \"\",\n" +
4301
	"    },\n" +
4302
	"    Entity: &v1.Entity{\n" +
4303
	"        Type: \"repository\",\n" +
4304
	"        Id: \"1\",\n" +
4305
	"    },\n" +
4306
	"    Permission: \"push\",\n" +
4307
	"})\n" +
4308
	"\x8d\x02*\x8a\x02\n" +
4309
	"\x0f\n" +
4310
	"\x05label\x12\x06\x1a\x04node\n" +
4311
	"\x14\n" +
4312
	"\x04lang\x12\f\x1a\n" +
4313
	"javascript\n" +
4314
	"\xe0\x01\n" +
4315
	"\x06source\x12\xd5\x01\x1a\xd2\x01client.permission.expand({\n" +
4316
	"    tenantId: \"t1\",\n" +
4317
	"    metadata: {\n" +
4318
	"        snapToken: \"\",\n" +
4319
	"        schemaVersion: \"\"\n" +
4320
	"    },\n" +
4321
	"    entity: {\n" +
4322
	"        type: \"repository\",\n" +
4323
	"        id: \"1\"\n" +
4324
	"    },\n" +
4325
	"    permission: \"push\",\n" +
4326
	"})\n" +
4327
	"\xe3\x02*\xe0\x02\n" +
4328
	"\x0f\n" +
4329
	"\x05label\x12\x06\x1a\x04cURL\n" +
4330
	"\x0e\n" +
4331
	"\x04lang\x12\x06\x1a\x04curl\n" +
4332
	"\xbc\x02\n" +
4333
	"\x06source\x12\xb1\x02\x1a\xae\x02curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/permissions/expand' \\\n" +
4334
	"--header 'Content-Type: application/json' \\\n" +
4335
	"--data-raw '{\n" +
4336
	"  \"metadata\": {\n" +
4337
	"    \"schema_version\": \"\",\n" +
4338
	"    \"snap_token\": \"\"\n" +
4339
	"  },\n" +
4340
	"  \"entity\": {\n" +
4341
	"    \"type\": \"repository\",\n" +
4342
	"    \"id\": \"1\"\n" +
4343
	"  },\n" +
4344
	"  \"permission\": \"push\"\n" +
4345
	"}'\x82\xd3\xe4\x93\x02/:\x01*\"*/v1/tenants/{tenant_id}/permissions/expand\x12\xb2\f\n" +
4346
	"\fLookupEntity\x12&.base.v1.PermissionLookupEntityRequest\x1a'.base.v1.PermissionLookupEntityResponse\"\xd0\v\x92A\x90\v\n" +
4347
	"\n" +
4348
	"Permission\x12\rlookup entity*\x18permissions.lookupEntityj\xd8\n" +
4349
	"\n" +
4350
	"\rx-codeSamples\x12\xc6\n" +
4351
	"2\xc3\n" +
4352
	"\n" +
4353
	"\xd5\x03*\xd2\x03\n" +
4354
	"\r\n" +
4355
	"\x05label\x12\x04\x1a\x02go\n" +
4356
	"\f\n" +
4357
	"\x04lang\x12\x04\x1a\x02go\n" +
4358
	"\xb2\x03\n" +
4359
	"\x06source\x12\xa7\x03\x1a\xa4\x03cr, err := client.Permission.LookupEntity(context.Background(), &v1.PermissionLookupEntityRequest{\n" +
4360
	"    TenantId: \"t1\",\n" +
4361
	"    Metadata: &v1.PermissionLookupEntityRequestMetadata{\n" +
4362
	"        SnapToken: \"\",\n" +
4363
	"        SchemaVersion: \"\",\n" +
4364
	"        Depth: 20,\n" +
4365
	"    },\n" +
4366
	"    EntityType: \"document\",\n" +
4367
	"    Permission: \"edit\",\n" +
4368
	"    Subject: &v1.Subject{\n" +
4369
	"        Type: \"user\",\n" +
4370
	"        Id: \"1\",\n" +
4371
	"    }\n" +
4372
	"    PageSize: 20,\n" +
4373
	"    ContinuousToken: \"\",\n" +
4374
	"})\n" +
4375
	"\xa7\x03*\xa4\x03\n" +
4376
	"\x0f\n" +
4377
	"\x05label\x12\x06\x1a\x04node\n" +
4378
	"\x14\n" +
4379
	"\x04lang\x12\f\x1a\n" +
4380
	"javascript\n" +
4381
	"\xfa\x02\n" +
4382
	"\x06source\x12\xef\x02\x1a\xec\x02client.permission.lookupEntity({\n" +
4383
	"    tenantId: \"t1\",\n" +
4384
	"    metadata: {\n" +
4385
	"        snapToken: \"\",\n" +
4386
	"        schemaVersion: \"\",\n" +
4387
	"        depth: 20\n" +
4388
	"    },\n" +
4389
	"    entity_type: \"document\",\n" +
4390
	"    permission: \"edit\",\n" +
4391
	"    subject: {\n" +
4392
	"        type: \"user\",\n" +
4393
	"        id: \"1\"\n" +
4394
	"    },\n" +
4395
	"    page_size: 20,\n" +
4396
	"    continuous_token: \"\"\n" +
4397
	"}).then((response) => {\n" +
4398
	"    console.log(response.entity_ids)\n" +
4399
	"})\n" +
4400
	"\xbe\x03*\xbb\x03\n" +
4401
	"\x0f\n" +
4402
	"\x05label\x12\x06\x1a\x04cURL\n" +
4403
	"\x0e\n" +
4404
	"\x04lang\x12\x06\x1a\x04curl\n" +
4405
	"\x97\x03\n" +
4406
	"\x06source\x12\x8c\x03\x1a\x89\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/permissions/lookup-entity' \\\n" +
4407
	"--header 'Content-Type: application/json' \\\n" +
4408
	"--data-raw '{\n" +
4409
	"  \"metadata\":{\n" +
4410
	"    \"snap_token\": \"\",\n" +
4411
	"    \"schema_version\": \"\",\n" +
4412
	"    \"depth\": 20\n" +
4413
	"  },\n" +
4414
	"  \"entity_type\": \"document\",\n" +
4415
	"  \"permission\": \"edit\",\n" +
4416
	"  \"subject\": {\n" +
4417
	"    \"type\":\"user\",\n" +
4418
	"    \"id\":\"1\"\n" +
4419
	"  },\n" +
4420
	"  \"page_size\": 20,\n" +
4421
	"  \"continuous_token\": \"\",\n" +
4422
	"}'\x82\xd3\xe4\x93\x026:\x01*\"1/v1/tenants/{tenant_id}/permissions/lookup-entity\x12\xd0\r\n" +
4423
	"\x12LookupEntityStream\x12&.base.v1.PermissionLookupEntityRequest\x1a-.base.v1.PermissionLookupEntityStreamResponse\"\xe0\f\x92A\x99\f\n" +
4424
	"\n" +
4425
	"Permission\x12\x14lookup entity stream*\x1epermissions.lookupEntityStreamj\xd4\v\n" +
4426
	"\rx-codeSamples\x12\xc2\v2\xbf\v\n" +
4427
	"\xc8\x04*\xc5\x04\n" +
4428
	"\r\n" +
4429
	"\x05label\x12\x04\x1a\x02go\n" +
4430
	"\f\n" +
4431
	"\x04lang\x12\x04\x1a\x02go\n" +
4432
	"\xa5\x04\n" +
4433
	"\x06source\x12\x9a\x04\x1a\x97\x04str, err := client.Permission.LookupEntityStream(context.Background(), &v1.PermissionLookupEntityRequest{\n" +
4434
	"    Metadata: &v1.PermissionLookupEntityRequestMetadata{\n" +
4435
	"        SnapToken: \"\",\n" +
4436
	"        SchemaVersion: \"\",\n" +
4437
	"        Depth: 50,\n" +
4438
	"    },\n" +
4439
	"    EntityType: \"document\",\n" +
4440
	"    Permission: \"view\",\n" +
4441
	"    Subject: &v1.Subject{\n" +
4442
	"        Type: \"user\",\n" +
4443
	"        Id: \"1\",\n" +
4444
	"    },\n" +
4445
	"    PageSize: 20,\n" +
4446
	"    ContinuousToken: \"\",\n" +
4447
	"})\n" +
4448
	"\n" +
4449
	"// handle stream response\n" +
4450
	"for {\n" +
4451
	"    res, err := str.Recv()\n" +
4452
	"\n" +
4453
	"    if err == io.EOF {\n" +
4454
	"        break\n" +
4455
	"    }\n" +
4456
	"\n" +
4457
	"    // res.EntityId\n" +
4458
	"}\n" +
4459
	"\xf1\x06*\xee\x06\n" +
4460
	"\x0f\n" +
4461
	"\x05label\x12\x06\x1a\x04node\n" +
4462
	"\x14\n" +
4463
	"\x04lang\x12\f\x1a\n" +
4464
	"javascript\n" +
4465
	"\xc4\x06\n" +
4466
	"\x06source\x12\xb9\x06\x1a\xb6\x06const permify = require(\"@permify/permify-node\");\n" +
4467
	"const {PermissionLookupEntityStreamResponse} = require(\"@permify/permify-node/dist/src/grpc/generated/base/v1/service\");\n" +
4468
	"\n" +
4469
	"function main() {\n" +
4470
	"    const client = new permify.grpc.newClient({\n" +
4471
	"        endpoint: \"localhost:3478\",\n" +
4472
	"    });\n" +
4473
	"\n" +
4474
	"    let res = client.permission.lookupEntityStream({\n" +
4475
	"        metadata: {\n" +
4476
	"            snapToken: \"\",\n" +
4477
	"            schemaVersion: \"\",\n" +
4478
	"            depth: 20\n" +
4479
	"        },\n" +
4480
	"        entityType: \"document\",\n" +
4481
	"        permission: \"view\",\n" +
4482
	"        subject: {\n" +
4483
	"            type: \"user\",\n" +
4484
	"            id: \"1\"\n" +
4485
	"        },\n" +
4486
	"        page_size: 20,\n" +
4487
	"        continuous_token: \"\"\n" +
4488
	"    });\n" +
4489
	"\n" +
4490
	"    handle(res);\n" +
4491
	"}\n" +
4492
	"\n" +
4493
	"async function handle(res: AsyncIterable<PermissionLookupEntityStreamResponse>) {\n" +
4494
	"    for await (const response of res) {\n" +
4495
	"        // response.entityId\n" +
4496
	"    }\n" +
4497
	"}\x82\xd3\xe4\x93\x02=:\x01*\"8/v1/tenants/{tenant_id}/permissions/lookup-entity-stream0\x01\x12\xe3\r\n" +
4498
	"\rLookupSubject\x12'.base.v1.PermissionLookupSubjectRequest\x1a(.base.v1.PermissionLookupSubjectResponse\"\xfe\f\x92A\xbd\f\n" +
4499
	"\n" +
4500
	"Permission\x12\x0elookup-subject*\x19permissions.lookupSubjectj\x83\f\n" +
4501
	"\rx-codeSamples\x12\xf1\v2\xee\v\n" +
4502
	"\x9f\x04*\x9c\x04\n" +
4503
	"\r\n" +
4504
	"\x05label\x12\x04\x1a\x02go\n" +
4505
	"\f\n" +
4506
	"\x04lang\x12\x04\x1a\x02go\n" +
4507
	"\xfc\x03\n" +
4508
	"\x06source\x12\xf1\x03\x1a\xee\x03cr, err := client.Permission.LookupSubject(context.Background(), &v1.PermissionLookupSubjectRequest{\n" +
4509
	"    TenantId: \"t1\",\n" +
4510
	"    Metadata: &v1.PermissionLookupSubjectRequestMetadata{\n" +
4511
	"        SnapToken: \"\",\n" +
4512
	"        SchemaVersion: \"\",\n" +
4513
	"        Depth: 20,\n" +
4514
	"    },\n" +
4515
	"    Entity: &v1.Entity{\n" +
4516
	"        Type: \"document\",\n" +
4517
	"        Id: \"1\",\n" +
4518
	"    },\n" +
4519
	"    Permission: \"edit\",\n" +
4520
	"    SubjectReference: &v1.RelationReference{\n" +
4521
	"        Type: \"user\",\n" +
4522
	"        Relation: \"\",\n" +
4523
	"    },\n" +
4524
	"    PageSize: 20,\n" +
4525
	"    ContinuousToken: \"\",\n" +
4526
	"})\n" +
4527
	"\xdc\x03*\xd9\x03\n" +
4528
	"\x0f\n" +
4529
	"\x05label\x12\x06\x1a\x04node\n" +
4530
	"\x14\n" +
4531
	"\x04lang\x12\f\x1a\n" +
4532
	"javascript\n" +
4533
	"\xaf\x03\n" +
4534
	"\x06source\x12\xa4\x03\x1a\xa1\x03client.permission.lookupSubject({\n" +
4535
	"    tenantId: \"t1\",\n" +
4536
	"    metadata: {\n" +
4537
	"        snapToken: \"\",\n" +
4538
	"        schemaVersion: \"\",\n" +
4539
	"        depth: 20,\n" +
4540
	"    },\n" +
4541
	"    entity: {\n" +
4542
	"        type: \"document\",\n" +
4543
	"        id: \"1\",\n" +
4544
	"    },\n" +
4545
	"    permission: \"edit\",\n" +
4546
	"    subject_reference: {\n" +
4547
	"        type: \"user\",\n" +
4548
	"        relation: \"\"\n" +
4549
	"    },\n" +
4550
	"    page_size: 10,\n" +
4551
	"    continuous_token: \"\"\n" +
4552
	"}).then((response) => {\n" +
4553
	"    console.log(response.subject_ids)\n" +
4554
	"})\n" +
4555
	"\xea\x03*\xe7\x03\n" +
4556
	"\x0f\n" +
4557
	"\x05label\x12\x06\x1a\x04cURL\n" +
4558
	"\x0e\n" +
4559
	"\x04lang\x12\x06\x1a\x04curl\n" +
4560
	"\xc3\x03\n" +
4561
	"\x06source\x12\xb8\x03\x1a\xb5\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/permissions/lookup-subject' \\\n" +
4562
	"--header 'Content-Type: application/json' \\\n" +
4563
	"--data-raw '{\n" +
4564
	"  \"metadata\":{\n" +
4565
	"    \"snap_token\": \"\",\n" +
4566
	"    \"schema_version\": \"\",\n" +
4567
	"    \"depth\": 20,\n" +
4568
	"  },\n" +
4569
	"  \"entity\": {\n" +
4570
	"    \"type\": \"document\",\n" +
4571
	"    \"id\": \"1\"\n" +
4572
	"  },\n" +
4573
	"  \"permission\": \"edit\",\n" +
4574
	"  \"subject_reference\": {\n" +
4575
	"    \"type\": \"user\",\n" +
4576
	"    \"relation\": \"\"\n" +
4577
	"  },\n" +
4578
	"   page_size: 20,\n" +
4579
	"   continuous_token: \"\"\n" +
4580
	"}'\x82\xd3\xe4\x93\x027:\x01*\"2/v1/tenants/{tenant_id}/permissions/lookup-subject\x12\xf4\f\n" +
4581
	"\x11SubjectPermission\x12+.base.v1.PermissionSubjectPermissionRequest\x1a,.base.v1.PermissionSubjectPermissionResponse\"\x83\f\x92A\xbe\v\n" +
4582
	"\n" +
4583
	"Permission\x12\x12subject permission*\x1dpermissions.subjectPermissionj\xfc\n" +
4584
	"\n" +
4585
	"\rx-codeSamples\x12\xea\n" +
4586
	"2\xe7\n" +
4587
	"\n" +
4588
	"\xf1\x03*\xee\x03\n" +
4589
	"\r\n" +
4590
	"\x05label\x12\x04\x1a\x02go\n" +
4591
	"\f\n" +
4592
	"\x04lang\x12\x04\x1a\x02go\n" +
4593
	"\xce\x03\n" +
4594
	"\x06source\x12\xc3\x03\x1a\xc0\x03cr, err := client.Permission.SubjectPermission(context.Background(), &v1.PermissionSubjectPermissionRequest{\n" +
4595
	"    TenantId: \"t1\",\n" +
4596
	"    Metadata: &v1.PermissionSubjectPermissionRequestMetadata{\n" +
4597
	"        SnapToken: \"\",\n" +
4598
	"        SchemaVersion: \"\",\n" +
4599
	"        OnlyPermission: false,\n" +
4600
	"        Depth: 20,\n" +
4601
	"    },\n" +
4602
	"    Entity: &v1.Entity{\n" +
4603
	"        Type: \"repository\",\n" +
4604
	"        Id: \"1\",\n" +
4605
	"    },\n" +
4606
	"    Subject: &v1.Subject{\n" +
4607
	"        Type: \"user\",\n" +
4608
	"        Id: \"1\",\n" +
4609
	"    },\n" +
4610
	"})\n" +
4611
	"\x9f\x03*\x9c\x03\n" +
4612
	"\x0f\n" +
4613
	"\x05label\x12\x06\x1a\x04node\n" +
4614
	"\x14\n" +
4615
	"\x04lang\x12\f\x1a\n" +
4616
	"javascript\n" +
4617
	"\xf2\x02\n" +
4618
	"\x06source\x12\xe7\x02\x1a\xe4\x02client.permission.subjectPermission({\n" +
4619
	"    tenantId: \"t1\",\n" +
4620
	"    metadata: {\n" +
4621
	"        snapToken: \"\",\n" +
4622
	"        schemaVersion: \"\",\n" +
4623
	"        onlyPermission: true,\n" +
4624
	"        depth: 20\n" +
4625
	"    },\n" +
4626
	"    entity: {\n" +
4627
	"        type: \"repository\",\n" +
4628
	"        id: \"1\"\n" +
4629
	"    },\n" +
4630
	"    subject: {\n" +
4631
	"        type: \"user\",\n" +
4632
	"        id: \"1\"\n" +
4633
	"    }\n" +
4634
	"}).then((response) => {\n" +
4635
	"    console.log(response);\n" +
4636
	"})\n" +
4637
	"\xce\x03*\xcb\x03\n" +
4638
	"\x0f\n" +
4639
	"\x05label\x12\x06\x1a\x04cURL\n" +
4640
	"\x0e\n" +
4641
	"\x04lang\x12\x06\x1a\x04curl\n" +
4642
	"\xa7\x03\n" +
4643
	"\x06source\x12\x9c\x03\x1a\x99\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/permissions/subject-permission' \\\n" +
4644
	"--header 'Content-Type: application/json' \\\n" +
4645
	"--data-raw '{\n" +
4646
	"  \"metadata\":{\n" +
4647
	"    \"snap_token\": \"\",\n" +
4648
	"    \"schema_version\": \"\",\n" +
4649
	"    \"only_permission\": true,\n" +
4650
	"    \"depth\": 20\n" +
4651
	"  },\n" +
4652
	"  \"entity\": {\n" +
4653
	"    \"type\": \"repository\",\n" +
4654
	"    \"id\": \"1\"\n" +
4655
	"  },\n" +
4656
	"  \"subject\": {\n" +
4657
	"    \"type\": \"user\",\n" +
4658
	"    \"id\": \"1\",\n" +
4659
	"    \"relation\": \"\"\n" +
4660
	"  }\n" +
4661
	"}'\x82\xd3\xe4\x93\x02;:\x01*\"6/v1/tenants/{tenant_id}/permissions/subject-permission2\x84\b\n" +
4662
	"\x05Watch\x12\xfa\a\n" +
4663
	"\x05Watch\x12\x15.base.v1.WatchRequest\x1a\x16.base.v1.WatchResponse\"\xbf\a\x92A\x93\a\n" +
4664
	"\x05Watch\x12\rwatch changes*\vwatch.watchj\xed\x06\n" +
4665
	"\rx-codeSamples\x12\xdb\x062\xd8\x06\n" +
4666
	"\x9e\x02*\x9b\x02\n" +
4667
	"\r\n" +
4668
	"\x05label\x12\x04\x1a\x02go\n" +
4669
	"\f\n" +
4670
	"\x04lang\x12\x04\x1a\x02go\n" +
4671
	"\xfb\x01\n" +
4672
	"\x06source\x12\xf0\x01\x1a\xed\x01cr, err := client.Watch.Watch(context.Background(), &v1.WatchRequest{\n" +
4673
	"    TenantId:  \"t1\",\n" +
4674
	"    SnapToken: \"\",\n" +
4675
	"})\n" +
4676
	"// handle stream response\n" +
4677
	"for {\n" +
4678
	"    res, err := cr.Recv()\n" +
4679
	"\n" +
4680
	"    if err == io.EOF {\n" +
4681
	"        break\n" +
4682
	"    }\n" +
4683
	"\n" +
4684
	"    // res.Changes\n" +
4685
	"}\n" +
4686
	"\n" +
4687
	"\xb4\x04*\xb1\x04\n" +
4688
	"\x0f\n" +
4689
	"\x05label\x12\x06\x1a\x04node\n" +
4690
	"\x14\n" +
4691
	"\x04lang\x12\f\x1a\n" +
4692
	"javascript\n" +
4693
	"\x87\x04\n" +
4694
	"\x06source\x12\xfc\x03\x1a\xf9\x03const permify = require(\"@permify/permify-node\");\n" +
4695
	"const {WatchResponse} = require(\"@permify/permify-node/dist/src/grpc/generated/base/v1/service\");\n" +
4696
	"\n" +
4697
	"function main() {\n" +
4698
	"    const client = new permify.grpc.newClient({\n" +
4699
	"        endpoint: \"localhost:3478\",\n" +
4700
	"    });\n" +
4701
	"\n" +
4702
	"    let res = client.watch.watch({\n" +
4703
	"        tenantId: \"t1\",\n" +
4704
	"        snapToken: \"\"\n" +
4705
	"    });\n" +
4706
	"\n" +
4707
	"    handle(res);\n" +
4708
	"}\n" +
4709
	"\n" +
4710
	"async function handle(res: AsyncIterable<WatchResponse>) {\n" +
4711
	"    for await (const response of res) {\n" +
4712
	"        // response.changes\n" +
4713
	"    }\n" +
4714
	"}\n" +
4715
	"\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/v1/tenants/{tenant_id}/watch0\x012\xac\x1f\n" +
4716
	"\x06Schema\x12\xd3\x10\n" +
4717
	"\x05Write\x12\x1b.base.v1.SchemaWriteRequest\x1a\x1c.base.v1.SchemaWriteResponse\"\x8e\x10\x92A\xda\x0f\n" +
4718
	"\x06Schema\x12\fwrite schema*\rschemas.writej\xb2\x0f\n" +
4719
	"\rx-codeSamples\x12\xa0\x0f2\x9d\x0f\n" +
4720
	"\xf2\x04*\xef\x04\n" +
4721
	"\r\n" +
4722
	"\x05label\x12\x04\x1a\x02go\n" +
4723
	"\f\n" +
4724
	"\x04lang\x12\x04\x1a\x02go\n" +
4725
	"\xcf\x04\n" +
4726
	"\x06source\x12\xc4\x04\x1a\xc1\x04sr, err := client.Schema.Write(context.Background(), &v1.SchemaWriteRequest{\n" +
4727
	"    TenantId: \"t1\",\n" +
4728
	"    Schema: `\n" +
4729
	"    entity user {}\n" +
4730
	"\n" +
4731
	"    entity organization {\n" +
4732
	"        relation admin @user\n" +
4733
	"        relation member @user\n" +
4734
	"\n" +
4735
	"        action create_repository = (admin or member)\n" +
4736
	"        action delete = admin\n" +
4737
	"    }\n" +
4738
	"\n" +
4739
	"    entity repository {\n" +
4740
	"        relation owner @user\n" +
4741
	"        relation parent @organization\n" +
4742
	"\n" +
4743
	"        action push = owner\n" +
4744
	"        action read = (owner and (parent.admin and parent.member))\n" +
4745
	"        action delete = (parent.member and (parent.admin or owner))\n" +
4746
	"    }\n" +
4747
	"    `,\n" +
4748
	"})\n" +
4749
	"\xf3\x04*\xf0\x04\n" +
4750
	"\x0f\n" +
4751
	"\x05label\x12\x06\x1a\x04node\n" +
4752
	"\x14\n" +
4753
	"\x04lang\x12\f\x1a\n" +
4754
	"javascript\n" +
4755
	"\xc6\x04\n" +
4756
	"\x06source\x12\xbb\x04\x1a\xb8\x04client.schema.write({\n" +
4757
	"    tenantId: \"t1\",\n" +
4758
	"    schema: `\n" +
4759
	"    entity user {}\n" +
4760
	"\n" +
4761
	"    entity organization {\n" +
4762
	"        relation admin @user\n" +
4763
	"        relation member @user\n" +
4764
	"\n" +
4765
	"        action create_repository = (admin or member)\n" +
4766
	"        action delete = admin\n" +
4767
	"    }\n" +
4768
	"\n" +
4769
	"    entity repository {\n" +
4770
	"        relation owner @user\n" +
4771
	"        relation parent @organization\n" +
4772
	"\n" +
4773
	"        action push = owner\n" +
4774
	"        action read = (owner and (parent.admin and parent.member))\n" +
4775
	"        action delete = (parent.member and (parent.admin or owner))\n" +
4776
	"    }\n" +
4777
	"    `\n" +
4778
	"}).then((response) => {\n" +
4779
	"    // handle response\n" +
4780
	"})\n" +
4781
	"\xaf\x05*\xac\x05\n" +
4782
	"\x0f\n" +
4783
	"\x05label\x12\x06\x1a\x04cURL\n" +
4784
	"\x0e\n" +
4785
	"\x04lang\x12\x06\x1a\x04curl\n" +
4786
	"\x88\x05\n" +
4787
	"\x06source\x12\xfd\x04\x1a\xfa\x04curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/schemas/write' \\\n" +
4788
	"--header 'Content-Type: application/json' \\\n" +
4789
	"--data-raw '{\n" +
4790
	"    \"schema\": \"entity user {}\\n\\n    entity organization {\\n\\n        relation admin @user\\n        relation member @user\\n\\n        action create_repository = (admin or member)\\n        action delete = admin\\n    }\\n\\n    entity repository {\\n\\n        relation owner @user\\n        relation parent @organization\\n\\n        action push = owner\\n        action read = (owner and (parent.admin and parent.member))\\n        action delete = (parent.member and (parent.admin or owner))\\n }\"\n" +
4791
	"}'\x82\xd3\xe4\x93\x02*:\x01*\"%/v1/tenants/{tenant_id}/schemas/write\x12\xdf\x01\n" +
4792
	"\fPartialWrite\x12\".base.v1.SchemaPartialWriteRequest\x1a#.base.v1.SchemaPartialWriteResponse\"\x85\x01\x92AJ\n" +
4793
	"\x06Schema\x12)partially update your authorization model*\x15schemas.partial-write\x82\xd3\xe4\x93\x022:\x01*2-/v1/tenants/{tenant_id}/schemas/partial-write\x12\xf4\x06\n" +
4794
	"\x04Read\x12\x1a.base.v1.SchemaReadRequest\x1a\x1b.base.v1.SchemaReadResponse\"\xb2\x06\x92A\xff\x05\n" +
4795
	"\x06Schema\x12\vread schema*\fschemas.readj\xd9\x05\n" +
4796
	"\rx-codeSamples\x12\xc7\x052\xc4\x05\n" +
4797
	"\xf5\x01*\xf2\x01\n" +
4798
	"\r\n" +
4799
	"\x05label\x12\x04\x1a\x02go\n" +
4800
	"\f\n" +
4801
	"\x04lang\x12\x04\x1a\x02go\n" +
4802
	"\xd2\x01\n" +
4803
	"\x06source\x12\xc7\x01\x1a\xc4\x01sr, err := client.Schema.Read(context.Background(), &v1.SchemaReadRequest{\n" +
4804
	"    TenantId: \"t1\",\n" +
4805
	"    Metadata: &v1.SchemaReadRequestMetadata{\n" +
4806
	"        SchemaVersion: \"cnbe6se5fmal18gpc66g\",\n" +
4807
	"    },\n" +
4808
	"})\n" +
4809
	"\xb6\x01*\xb3\x01\n" +
4810
	"\x0f\n" +
4811
	"\x05label\x12\x06\x1a\x04node\n" +
4812
	"\x14\n" +
4813
	"\x04lang\x12\f\x1a\n" +
4814
	"javascript\n" +
4815
	"\x89\x01\n" +
4816
	"\x06source\x12\x7f\x1a}let res = client.schema.read({\n" +
4817
	"    tenantId: \"t1\",\n" +
4818
	"    metadata: {\n" +
4819
	"        schemaVersion: swResponse.schemaVersion,\n" +
4820
	"    },\n" +
4821
	"})\n" +
4822
	"\x90\x02*\x8d\x02\n" +
4823
	"\x0f\n" +
4824
	"\x05label\x12\x06\x1a\x04cURL\n" +
4825
	"\x0e\n" +
4826
	"\x04lang\x12\x06\x1a\x04curl\n" +
4827
	"\xe9\x01\n" +
4828
	"\x06source\x12\xde\x01\x1a\xdb\x01curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/schemas/read' \\\n" +
4829
	"--header 'Content-Type: application/json' \\\n" +
4830
	"--data-raw '{\n" +
4831
	"    \"metadata\": {\n" +
4832
	"        \"schema_version\": \"cnbe6se5fmal18gpc66g\"\n" +
4833
	"    }\n" +
4834
	"}'\x82\xd3\xe4\x93\x02):\x01*\"$/v1/tenants/{tenant_id}/schemas/read\x12\xf2\x05\n" +
4835
	"\x04List\x12\x1a.base.v1.SchemaListRequest\x1a\x1b.base.v1.SchemaListResponse\"\xb0\x05\x92A\xfd\x04\n" +
4836
	"\x06Schema\x12\vlist schema*\fschemas.listj\xd7\x04\n" +
4837
	"\rx-codeSamples\x12\xc5\x042\xc2\x04\n" +
4838
	"\xbd\x01*\xba\x01\n" +
4839
	"\r\n" +
4840
	"\x05label\x12\x04\x1a\x02go\n" +
4841
	"\f\n" +
4842
	"\x04lang\x12\x04\x1a\x02go\n" +
4843
	"\x9a\x01\n" +
4844
	"\x06source\x12\x8f\x01\x1a\x8c\x01sr, err := client.Schema.List(context.Background(), &v1.SchemaListRequest{\n" +
4845
	"    TenantId: \"t1\",\n" +
4846
	"    PageSize: 20,\n" +
4847
	"    ContinuousToken: \"\",\n" +
4848
	"})\n" +
4849
	"\x85\x01*\x82\x01\n" +
4850
	"\x0f\n" +
4851
	"\x05label\x12\x06\x1a\x04node\n" +
4852
	"\x14\n" +
4853
	"\x04lang\x12\f\x1a\n" +
4854
	"javascript\n" +
4855
	"Y\n" +
4856
	"\x06source\x12O\x1aMlet res = client.schema.list({\n" +
4857
	"    tenantId: \"t1\",\n" +
4858
	"    continuousToken: \"\"\n" +
4859
	"})\n" +
4860
	"\xf7\x01*\xf4\x01\n" +
4861
	"\x0f\n" +
4862
	"\x05label\x12\x06\x1a\x04cURL\n" +
4863
	"\x0e\n" +
4864
	"\x04lang\x12\x06\x1a\x04curl\n" +
4865
	"\xd0\x01\n" +
4866
	"\x06source\x12\xc5\x01\x1a\xc2\x01curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/schemas/list' \\\n" +
4867
	"--header 'Content-Type: application/json' \\\n" +
4868
	"--data-raw '{\n" +
4869
	"    \"page_size\": 20,\n" +
4870
	"    \"continuous_token\": \"\"\n" +
4871
	"}'\x82\xd3\xe4\x93\x02):\x01*\"$/v1/tenants/{tenant_id}/schemas/list2\xe5D\n" +
4872
	"\x04Data\x12\xb6\x15\n" +
4873
	"\x05Write\x12\x19.base.v1.DataWriteRequest\x1a\x1a.base.v1.DataWriteResponse\"\xf5\x14\x92A\xc4\x14\n" +
4874
	"\x04Data\x12\n" +
4875
	"write data*\n" +
4876
	"data.writej\xa3\x14\n" +
4877
	"\rx-codeSamples\x12\x91\x142\x8e\x14\n" +
4878
	"\xb6\a*\xb3\a\n" +
4879
	"\r\n" +
4880
	"\x05label\x12\x04\x1a\x02go\n" +
4881
	"\f\n" +
4882
	"\x04lang\x12\x04\x1a\x02go\n" +
4883
	"\x93\a\n" +
4884
	"\x06source\x12\x88\a\x1a\x85\a// Convert the wrapped attribute value into Any proto message\n" +
4885
	"value, err := anypb.New(&v1.BooleanValue{\n" +
4886
	"    Data: true,\n" +
4887
	"})\n" +
4888
	"if err != nil {\n" +
4889
	"    // Handle error\n" +
4890
	"}\n" +
4891
	"\n" +
4892
	"cr, err := client.Data.Write(context.Background(), &v1.DataWriteRequest{\n" +
4893
	"    TenantId: \"t1\",\n" +
4894
	"    Metadata: &v1.DataWriteRequestMetadata{\n" +
4895
	"        SchemaVersion: \"\",\n" +
4896
	"    },\n" +
4897
	"    Tuples: []*v1.Tuple{\n" +
4898
	"        {\n" +
4899
	"            Entity: &v1.Entity{\n" +
4900
	"                Type: \"document\",\n" +
4901
	"                Id:   \"1\",\n" +
4902
	"            },\n" +
4903
	"            Relation: \"editor\",\n" +
4904
	"            Subject:  &v1.Subject{\n" +
4905
	"                Type: \"user\",\n" +
4906
	"                Id:   \"1\",\n" +
4907
	"                Relation: \"\",\n" +
4908
	"            },\n" +
4909
	"        },\n" +
4910
	"    },\n" +
4911
	"    Attributes: []*v1.Attribute{\n" +
4912
	"        {\n" +
4913
	"            Entity: &v1.Entity{\n" +
4914
	"                Type: \"document\",\n" +
4915
	"                Id:   \"1\",\n" +
4916
	"            },\n" +
4917
	"            Attribute: \"is_private\",\n" +
4918
	"            Value:     value,\n" +
4919
	"        },\n" +
4920
	"    },\n" +
4921
	"})\n" +
4922
	"\x80\x06*\xfd\x05\n" +
4923
	"\x0f\n" +
4924
	"\x05label\x12\x06\x1a\x04node\n" +
4925
	"\x14\n" +
4926
	"\x04lang\x12\f\x1a\n" +
4927
	"javascript\n" +
4928
	"\xd3\x05\n" +
4929
	"\x06source\x12\xc8\x05\x1a\xc5\x05const booleanValue = BooleanValue.fromJSON({ data: true });\n" +
4930
	"\n" +
4931
	"const value = Any.fromJSON({\n" +
4932
	"    typeUrl: 'type.googleapis.com/base.v1.BooleanValue',\n" +
4933
	"    value: BooleanValue.encode(booleanValue).finish()\n" +
4934
	"});\n" +
4935
	"\n" +
4936
	"client.data.write({\n" +
4937
	"    tenantId: \"t1\",\n" +
4938
	"    metadata: {\n" +
4939
	"        schemaVersion: \"\"\n" +
4940
	"    },\n" +
4941
	"    tuples: [{\n" +
4942
	"        entity: {\n" +
4943
	"            type: \"document\",\n" +
4944
	"            id: \"1\"\n" +
4945
	"        },\n" +
4946
	"        relation: \"editor\",\n" +
4947
	"        subject: {\n" +
4948
	"            type: \"user\",\n" +
4949
	"            id: \"1\"\n" +
4950
	"        }\n" +
4951
	"    }],\n" +
4952
	"    attributes: [{\n" +
4953
	"        entity: {\n" +
4954
	"            type: \"document\",\n" +
4955
	"            id: \"1\"\n" +
4956
	"        },\n" +
4957
	"        attribute: \"is_private\",\n" +
4958
	"        value: value,\n" +
4959
	"    }]\n" +
4960
	"}).then((response) => {\n" +
4961
	"    // handle response\n" +
4962
	"})\n" +
4963
	"\xcf\x06*\xcc\x06\n" +
4964
	"\x0f\n" +
4965
	"\x05label\x12\x06\x1a\x04cURL\n" +
4966
	"\x0e\n" +
4967
	"\x04lang\x12\x06\x1a\x04curl\n" +
4968
	"\xa8\x06\n" +
4969
	"\x06source\x12\x9d\x06\x1a\x9a\x06curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/write' \\\n" +
4970
	"--header 'Content-Type: application/json' \\\n" +
4971
	"--data-raw '{\n" +
4972
	"    \"metadata\": {\n" +
4973
	"        \"schema_version\": \"\"\n" +
4974
	"    },\n" +
4975
	"    \"tuples\": [\n" +
4976
	"        {\n" +
4977
	"            \"entity\": {\n" +
4978
	"                \"type\": \"document\",\n" +
4979
	"                \"id\": \"1\"\n" +
4980
	"            },\n" +
4981
	"            \"relation\": \"editor\",\n" +
4982
	"            \"subject\": {\n" +
4983
	"                \"type\": \"user\",\n" +
4984
	"                \"id\": \"1\"\n" +
4985
	"            }\n" +
4986
	"        }\n" +
4987
	"    ],\n" +
4988
	"    \"attributes\": [\n" +
4989
	"        {\n" +
4990
	"            \"entity\": {\n" +
4991
	"                \"type\": \"document\",\n" +
4992
	"                \"id\": \"1\"\n" +
4993
	"            },\n" +
4994
	"            \"attribute\": \"is_private\",\n" +
4995
	"            \"value\": {\n" +
4996
	"                \"@type\": \"type.googleapis.com/base.v1.BooleanValue\",\n" +
4997
	"                \"data\": true\n" +
4998
	"            }\n" +
4999
	"        }\n" +
5000
	"    ]\n" +
5001
	"}'\x82\xd3\xe4\x93\x02':\x01*\"\"/v1/tenants/{tenant_id}/data/write\x12\xc6\x01\n" +
5002
	"\x12WriteRelationships\x12!.base.v1.RelationshipWriteRequest\x1a\".base.v1.RelationshipWriteResponse\"i\x92A0\n" +
5003
	"\x04Data\x12\x13write relationships*\x13relationships.write\x82\xd3\xe4\x93\x020:\x01*\"+/v1/tenants/{tenant_id}/relationships/write\x12\xd1\f\n" +
5004
	"\x11ReadRelationships\x12 .base.v1.RelationshipReadRequest\x1a!.base.v1.RelationshipReadResponse\"\xf6\v\x92A\xb8\v\n" +
5005
	"\x04Data\x12\x12read relationships*\x17data.relationships.readj\x82\v\n" +
5006
	"\rx-codeSamples\x12\xf0\n" +
5007
	"2\xed\n" +
5008
	"\n" +
5009
	"\xa6\x04*\xa3\x04\n" +
5010
	"\r\n" +
5011
	"\x05label\x12\x04\x1a\x02go\n" +
5012
	"\f\n" +
5013
	"\x04lang\x12\x04\x1a\x02go\n" +
5014
	"\x83\x04\n" +
5015
	"\x06source\x12\xf8\x03\x1a\xf5\x03rr, err := client.Data.ReadRelationships(context.Background(), &v1.Data.RelationshipReadRequest{\n" +
5016
	"    TenantId: \"t1\",\n" +
5017
	"    Metadata: &v1.Data.RelationshipReadRequestMetadata{\n" +
5018
	"        SnapToken: \"\"\n" +
5019
	"    },\n" +
5020
	"    Filter: &v1.TupleFilter{\n" +
5021
	"        Entity: &v1.EntityFilter{\n" +
5022
	"            Type: \"organization\",\n" +
5023
	"            Ids: []string{\"1\"},\n" +
5024
	"        },\n" +
5025
	"        Relation: \"member\",\n" +
5026
	"        Subject: &v1.SubjectFilter{\n" +
5027
	"            Type: \"\",\n" +
5028
	"            Id: []string{\"\"},\n" +
5029
	"            Relation: \"\"\n" +
5030
	"        }\n" +
5031
	"    }\n" +
5032
	"})\n" +
5033
	"\x84\x03*\x81\x03\n" +
5034
	"\x0f\n" +
5035
	"\x05label\x12\x06\x1a\x04node\n" +
5036
	"\x14\n" +
5037
	"\x04lang\x12\f\x1a\n" +
5038
	"javascript\n" +
5039
	"\xd7\x02\n" +
5040
	"\x06source\x12\xcc\x02\x1a\xc9\x02client.data.readRelationships({\n" +
5041
	"  tenantId: \"t1\",\n" +
5042
	"  metadata: {\n" +
5043
	"    snap_token: \"\",\n" +
5044
	"  },\n" +
5045
	"  filter: {\n" +
5046
	"    entity: {\n" +
5047
	"      type: \"organization\",\n" +
5048
	"      ids: [\n" +
5049
	"        \"1\"\n" +
5050
	"      ]\n" +
5051
	"    },\n" +
5052
	"    relation: \"member\",\n" +
5053
	"    subject: {\n" +
5054
	"      type: \"\",\n" +
5055
	"      ids: [],\n" +
5056
	"      relation: \"\"\n" +
5057
	"    }\n" +
5058
	"  }\n" +
5059
	"}).then((response) => {\n" +
5060
	"  // handle response\n" +
5061
	"})\n" +
5062
	"\xba\x03*\xb7\x03\n" +
5063
	"\x0f\n" +
5064
	"\x05label\x12\x06\x1a\x04cURL\n" +
5065
	"\x0e\n" +
5066
	"\x04lang\x12\x06\x1a\x04curl\n" +
5067
	"\x93\x03\n" +
5068
	"\x06source\x12\x88\x03\x1a\x85\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/relationships/read' \\\n" +
5069
	"--header 'Content-Type: application/json' \\\n" +
5070
	"--data-raw '{\n" +
5071
	"  metadata: {\n" +
5072
	"    snap_token: \"\",\n" +
5073
	"  },\n" +
5074
	"  filter: {\n" +
5075
	"    entity: {\n" +
5076
	"      type: \"organization\",\n" +
5077
	"      ids: [\n" +
5078
	"        \"1\"\n" +
5079
	"      ]\n" +
5080
	"    },\n" +
5081
	"    relation: \"member\",\n" +
5082
	"    subject: {\n" +
5083
	"      type: \"\",\n" +
5084
	"      ids: [],\n" +
5085
	"      relation: \"\"\n" +
5086
	"    }\n" +
5087
	"  }\n" +
5088
	"}'\x82\xd3\xe4\x93\x024:\x01*\"//v1/tenants/{tenant_id}/data/relationships/read\x12\xdc\n" +
5089
	"\n" +
5090
	"\x0eReadAttributes\x12\x1d.base.v1.AttributeReadRequest\x1a\x1e.base.v1.AttributeReadResponse\"\x8a\n" +
5091
	"\x92A\xcf\t\n" +
5092
	"\x04Data\x12\x0fread attributes*\x14data.attributes.readj\x9f\t\n" +
5093
	"\rx-codeSamples\x12\x8d\t2\x8a\t\n" +
5094
	"\xb5\x03*\xb2\x03\n" +
5095
	"\r\n" +
5096
	"\x05label\x12\x04\x1a\x02go\n" +
5097
	"\f\n" +
5098
	"\x04lang\x12\x04\x1a\x02go\n" +
5099
	"\x92\x03\n" +
5100
	"\x06source\x12\x87\x03\x1a\x84\x03rr, err := client.Data.ReadAttributes(context.Background(), &v1.Data.AttributeReadRequest{\n" +
5101
	"    TenantId: \"t1\",\n" +
5102
	"    Metadata: &v1.Data.AttributeReadRequestMetadata{\n" +
5103
	"        SnapToken: \"\",\n" +
5104
	"    },\n" +
5105
	"    Filter: &v1.AttributeFilter{\n" +
5106
	"        Entity: &v1.EntityFilter{\n" +
5107
	"            Type: \"organization\",\n" +
5108
	"            Ids: []string{\"1\"},\n" +
5109
	"        },\n" +
5110
	"        Attributes: []string{\"private\"},\n" +
5111
	"    },\n" +
5112
	"})\n" +
5113
	"\xcb\x02*\xc8\x02\n" +
5114
	"\x0f\n" +
5115
	"\x05label\x12\x06\x1a\x04node\n" +
5116
	"\x14\n" +
5117
	"\x04lang\x12\f\x1a\n" +
5118
	"javascript\n" +
5119
	"\x9e\x02\n" +
5120
	"\x06source\x12\x93\x02\x1a\x90\x02client.data.readAttributes({\n" +
5121
	"  tenantId: \"t1\",\n" +
5122
	"  metadata: {\n" +
5123
	"    snap_token: \"\",\n" +
5124
	"  },\n" +
5125
	"  filter: {\n" +
5126
	"    entity: {\n" +
5127
	"      type: \"organization\",\n" +
5128
	"      ids: [\n" +
5129
	"        \"1\"\n" +
5130
	"      ]\n" +
5131
	"    },\n" +
5132
	"    attributes: [\n" +
5133
	"      \"private\"\n" +
5134
	"    ],\n" +
5135
	"  }\n" +
5136
	"}).then((response) => {\n" +
5137
	"  // handle response\n" +
5138
	"})\n" +
5139
	"\x81\x03*\xfe\x02\n" +
5140
	"\x0f\n" +
5141
	"\x05label\x12\x06\x1a\x04cURL\n" +
5142
	"\x0e\n" +
5143
	"\x04lang\x12\x06\x1a\x04curl\n" +
5144
	"\xda\x02\n" +
5145
	"\x06source\x12\xcf\x02\x1a\xcc\x02curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/attributes/read' \\\n" +
5146
	"--header 'Content-Type: application/json' \\\n" +
5147
	"--data-raw '{\n" +
5148
	"  metadata: {\n" +
5149
	"    snap_token: \"\",\n" +
5150
	"  },\n" +
5151
	"  filter: {\n" +
5152
	"    entity: {\n" +
5153
	"      type: \"organization\",\n" +
5154
	"      ids: [\n" +
5155
	"        \"1\"\n" +
5156
	"      ]\n" +
5157
	"    },\n" +
5158
	"    attributes: [\n" +
5159
	"      \"private\"\n" +
5160
	"    ],\n" +
5161
	"  }\n" +
5162
	"}'\x82\xd3\xe4\x93\x021:\x01*\",/v1/tenants/{tenant_id}/data/attributes/read\x12\xa9\f\n" +
5163
	"\x06Delete\x12\x1a.base.v1.DataDeleteRequest\x1a\x1b.base.v1.DataDeleteResponse\"\xe5\v\x92A\xb3\v\n" +
5164
	"\x04Data\x12\vdelete data*\vdata.deletej\x90\v\n" +
5165
	"\rx-codeSamples\x12\xfe\n" +
5166
	"2\xfb\n" +
5167
	"\n" +
5168
	"\x8f\x04*\x8c\x04\n" +
5169
	"\r\n" +
5170
	"\x05label\x12\x04\x1a\x02go\n" +
5171
	"\f\n" +
5172
	"\x04lang\x12\x04\x1a\x02go\n" +
5173
	"\xec\x03\n" +
5174
	"\x06source\x12\xe1\x03\x1a\xde\x03rr, err := client.Data.Delete(context.Background(), &v1.DataDeleteRequest{\n" +
5175
	"    TenantId: \"t1\",\n" +
5176
	"    Metadata: &v1.DataDeleteRequestMetadata{\n" +
5177
	"        SnapToken: \"\",\n" +
5178
	"    },\n" +
5179
	"    TupleFilter: &v1.TupleFilter{\n" +
5180
	"        Entity: &v1.EntityFilter{\n" +
5181
	"            Type: \"organization\",\n" +
5182
	"            Ids: []string{\"1\"},\n" +
5183
	"        },\n" +
5184
	"        Relation: \"admin\",\n" +
5185
	"        Subject: &v1.SubjectFilter{\n" +
5186
	"            Type: \"user\",\n" +
5187
	"            Id: []string{\"1\"},\n" +
5188
	"            Relation: \"\"\n" +
5189
	"        }\n" +
5190
	"    }\n" +
5191
	"})\n" +
5192
	"\x94\x03*\x91\x03\n" +
5193
	"\x0f\n" +
5194
	"\x05label\x12\x06\x1a\x04node\n" +
5195
	"\x14\n" +
5196
	"\x04lang\x12\f\x1a\n" +
5197
	"javascript\n" +
5198
	"\xe7\x02\n" +
5199
	"\x06source\x12\xdc\x02\x1a\xd9\x02client.data.delete({\n" +
5200
	"  tenantId: \"t1\",\n" +
5201
	"  metadata: {\n" +
5202
	"    snap_token: \"\",\n" +
5203
	"  },\n" +
5204
	"  tupleFilter: {\n" +
5205
	"    entity: {\n" +
5206
	"      type: \"organization\",\n" +
5207
	"      ids: [\n" +
5208
	"        \"1\"\n" +
5209
	"      ]\n" +
5210
	"    },\n" +
5211
	"    relation: \"admin\",\n" +
5212
	"    subject: {\n" +
5213
	"      type: \"user\",\n" +
5214
	"      ids: [\n" +
5215
	"        \"1\"\n" +
5216
	"      ],\n" +
5217
	"      relation: \"\"\n" +
5218
	"    }\n" +
5219
	"  }\n" +
5220
	"}).then((response) => {\n" +
5221
	"  // handle response\n" +
5222
	"})\n" +
5223
	"\xcf\x03*\xcc\x03\n" +
5224
	"\x0f\n" +
5225
	"\x05label\x12\x06\x1a\x04cURL\n" +
5226
	"\x0e\n" +
5227
	"\x04lang\x12\x06\x1a\x04curl\n" +
5228
	"\xa8\x03\n" +
5229
	"\x06source\x12\x9d\x03\x1a\x9a\x03curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/delete' \\\n" +
5230
	"--header 'Content-Type: application/json' \\\n" +
5231
	"--data-raw '{\n" +
5232
	"  \"tuple_filter\": {\n" +
5233
	"    \"entity\": {\n" +
5234
	"      \"type\": \"organization\",\n" +
5235
	"      \"ids\": [\n" +
5236
	"        \"1\"\n" +
5237
	"      ]\n" +
5238
	"    },\n" +
5239
	"    \"relation\": \"admin\",\n" +
5240
	"    \"subject\": {\n" +
5241
	"      \"type\": \"user\",\n" +
5242
	"      \"ids\": [\n" +
5243
	"        \"1\"\n" +
5244
	"      ],\n" +
5245
	"      \"relation\": \"\"\n" +
5246
	"    }\n" +
5247
	"  },\n" +
5248
	"  \"attribute_filter\": {}\n" +
5249
	"}'\x82\xd3\xe4\x93\x02(:\x01*\"#/v1/tenants/{tenant_id}/data/delete\x12\xcc\x01\n" +
5250
	"\x13DeleteRelationships\x12\".base.v1.RelationshipDeleteRequest\x1a#.base.v1.RelationshipDeleteResponse\"l\x92A2\n" +
5251
	"\x04Data\x12\x14delete relationships*\x14relationships.delete\x82\xd3\xe4\x93\x021:\x01*\",/v1/tenants/{tenant_id}/relationships/delete\x12\xac\b\n" +
5252
	"\tRunBundle\x12\x19.base.v1.BundleRunRequest\x1a\x1a.base.v1.BundleRunResponse\"\xe7\a\x92A\xb1\a\n" +
5253
	"\x04Data\x12\n" +
5254
	"run bundle*\n" +
5255
	"bundle.runj\x90\a\n" +
5256
	"\rx-codeSamples\x12\xfe\x062\xfb\x06\n" +
5257
	"\xa5\x02*\xa2\x02\n" +
5258
	"\r\n" +
5259
	"\x05label\x12\x04\x1a\x02go\n" +
5260
	"\f\n" +
5261
	"\x04lang\x12\x04\x1a\x02go\n" +
5262
	"\x82\x02\n" +
5263
	"\x06source\x12\xf7\x01\x1a\xf4\x01rr, err := client.Data.RunBundle(context.Background(), &v1.BundleRunRequest{\n" +
5264
	"    TenantId: \"t1\",\n" +
5265
	"    Name:     \"organization_created\",\n" +
5266
	"    Arguments: map[string]string{\n" +
5267
	"        \"creatorID\":      \"564\",\n" +
5268
	"        \"organizationID\": \"789\",\n" +
5269
	"    },\n" +
5270
	"})\n" +
5271
	"\x8a\x02*\x87\x02\n" +
5272
	"\x0f\n" +
5273
	"\x05label\x12\x06\x1a\x04node\n" +
5274
	"\x14\n" +
5275
	"\x04lang\x12\f\x1a\n" +
5276
	"javascript\n" +
5277
	"\xdd\x01\n" +
5278
	"\x06source\x12\xd2\x01\x1a\xcf\x01client.data.runBundle({\n" +
5279
	"    tenantId: \"t1\",\n" +
5280
	"    name: \"organization_created\",\n" +
5281
	"    arguments: {\n" +
5282
	"        creatorID: \"564\",\n" +
5283
	"        organizationID: \"789\",\n" +
5284
	"    }\n" +
5285
	"}).then((response) => {\n" +
5286
	"    // handle response\n" +
5287
	"})\n" +
5288
	"\xc3\x02*\xc0\x02\n" +
5289
	"\x0f\n" +
5290
	"\x05label\x12\x06\x1a\x04cURL\n" +
5291
	"\x0e\n" +
5292
	"\x04lang\x12\x06\x1a\x04curl\n" +
5293
	"\x9c\x02\n" +
5294
	"\x06source\x12\x91\x02\x1a\x8e\x02curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/run-bundle' \\\n" +
5295
	"--header 'Content-Type: application/json' \\\n" +
5296
	"--data-raw '{\n" +
5297
	"    \"name\": \"organization_created\",\n" +
5298
	"    \"arguments\": {\n" +
5299
	"        \"creatorID\": \"564\",\n" +
5300
	"        \"organizationID\": \"789\"\n" +
5301
	"    }\n" +
5302
	"}'\x82\xd3\xe4\x93\x02,:\x01*\"'/v1/tenants/{tenant_id}/data/run-bundle2\xc0!\n" +
5303
	"\x06Bundle\x12\x80\x15\n" +
5304
	"\x05Write\x12\x1b.base.v1.BundleWriteRequest\x1a\x1c.base.v1.BundleWriteResponse\"\xbb\x14\x92A\x88\x14\n" +
5305
	"\x06Bundle\x12\fwrite bundle*\fbundle.writej\xe1\x13\n" +
5306
	"\rx-codeSamples\x12\xcf\x132\xcc\x13\n" +
5307
	"\xd3\x06*\xd0\x06\n" +
5308
	"\r\n" +
5309
	"\x05label\x12\x04\x1a\x02go\n" +
5310
	"\f\n" +
5311
	"\x04lang\x12\x04\x1a\x02go\n" +
5312
	"\xb0\x06\n" +
5313
	"\x06source\x12\xa5\x06\x1a\xa2\x06rr, err := client.Bundle.Write(context.Background(), &v1.BundleWriteRequest{\n" +
5314
	"    TenantId: \"t1\",\n" +
5315
	"    Bundles: []*v1.DataBundle{\n" +
5316
	"        {\n" +
5317
	"            Name: \"organization_created\",\n" +
5318
	"            Arguments: []string{\n" +
5319
	"                \"creatorID\",\n" +
5320
	"                \"organizationID\",\n" +
5321
	"            },\n" +
5322
	"            Operations: []*v1.Operation{\n" +
5323
	"                {\n" +
5324
	"                    RelationshipsWrite: []string{\n" +
5325
	"                        \"organization:{{.organizationID}}#admin@user:{{.creatorID}}\",\n" +
5326
	"                        \"organization:{{.organizationID}}#manager@user:{{.creatorID}}\",\n" +
5327
	"                    },\n" +
5328
	"                    AttributesWrite: []string{\n" +
5329
	"                        \"organization:{{.organizationID}}$public|boolean:false\",\n" +
5330
	"                    },\n" +
5331
	"                },\n" +
5332
	"            },\n" +
5333
	"        },\n" +
5334
	"    },\n" +
5335
	"})\n" +
5336
	"\x9b\x06*\x98\x06\n" +
5337
	"\x0f\n" +
5338
	"\x05label\x12\x06\x1a\x04node\n" +
5339
	"\x14\n" +
5340
	"\x04lang\x12\f\x1a\n" +
5341
	"javascript\n" +
5342
	"\xee\x05\n" +
5343
	"\x06source\x12\xe3\x05\x1a\xe0\x05client.bundle.write({\n" +
5344
	"    tenantId: \"t1\",\n" +
5345
	"    bundles: [\n" +
5346
	"        {\n" +
5347
	"            name: \"organization_created\",\n" +
5348
	"            arguments: [\n" +
5349
	"                \"creatorID\",\n" +
5350
	"                \"organizationID\",\n" +
5351
	"            ],\n" +
5352
	"            operations: [\n" +
5353
	"                {\n" +
5354
	"                    relationships_write: [\n" +
5355
	"                        \"organization:{{.organizationID}}#admin@user:{{.creatorID}}\",\n" +
5356
	"                        \"organization:{{.organizationID}}#manager@user:{{.creatorID}}\",\n" +
5357
	"                    ],\n" +
5358
	"                    attributes_write: [\n" +
5359
	"                        \"organization:{{.organizationID}}$public|boolean:false\",\n" +
5360
	"                    ]\n" +
5361
	"                }\n" +
5362
	"            ]\n" +
5363
	"        }\n" +
5364
	"    ]\n" +
5365
	"}).then((response) => {\n" +
5366
	"    // handle response\n" +
5367
	"})\n" +
5368
	"\xd5\x06*\xd2\x06\n" +
5369
	"\x0f\n" +
5370
	"\x05label\x12\x06\x1a\x04cURL\n" +
5371
	"\x0e\n" +
5372
	"\x04lang\x12\x06\x1a\x04curl\n" +
5373
	"\xae\x06\n" +
5374
	"\x06source\x12\xa3\x06\x1a\xa0\x06curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/bundle/write' \\\n" +
5375
	"--header 'Content-Type: application/json' \\\n" +
5376
	"--data-raw '{\n" +
5377
	"    \"bundles\": [\n" +
5378
	"        {\n" +
5379
	"            \"name\": \"organization_created\",\n" +
5380
	"            \"arguments\": [\n" +
5381
	"                \"creatorID\",\n" +
5382
	"                \"organizationID\"\n" +
5383
	"            ],\n" +
5384
	"            \"operations\": [\n" +
5385
	"                {\n" +
5386
	"                    \"relationships_write\": [\n" +
5387
	"                        \"organization:{{.organizationID}}#admin@user:{{.creatorID}}\",\n" +
5388
	"                        \"organization:{{.organizationID}}#manager@user:{{.creatorID}}\"\n" +
5389
	"                    ],\n" +
5390
	"                    \"attributes_write\": [\n" +
5391
	"                        \"organization:{{.organizationID}}$public|boolean:false\"\n" +
5392
	"                    ]\n" +
5393
	"                }\n" +
5394
	"            ]\n" +
5395
	"        }\n" +
5396
	"    ]\n" +
5397
	"}'\x82\xd3\xe4\x93\x02):\x01*\"$/v1/tenants/{tenant_id}/bundle/write\x12\x8d\x06\n" +
5398
	"\x04Read\x12\x1a.base.v1.BundleReadRequest\x1a\x1b.base.v1.BundleReadResponse\"\xcb\x05\x92A\x99\x05\n" +
5399
	"\x06Bundle\x12\vread bundle*\vbundle.readj\xf4\x04\n" +
5400
	"\rx-codeSamples\x12\xe2\x042\xdf\x04\n" +
5401
	"\xb8\x01*\xb5\x01\n" +
5402
	"\r\n" +
5403
	"\x05label\x12\x04\x1a\x02go\n" +
5404
	"\f\n" +
5405
	"\x04lang\x12\x04\x1a\x02go\n" +
5406
	"\x95\x01\n" +
5407
	"\x06source\x12\x8a\x01\x1a\x87\x01rr, err := client.Bundle.Read(context.Background(), &v1.BundleReadRequest{\n" +
5408
	"    TenantId: \"t1\",\n" +
5409
	"    Name:     \"organization_created\",\n" +
5410
	"})\n" +
5411
	"\xb5\x01*\xb2\x01\n" +
5412
	"\x0f\n" +
5413
	"\x05label\x12\x06\x1a\x04node\n" +
5414
	"\x14\n" +
5415
	"\x04lang\x12\f\x1a\n" +
5416
	"javascript\n" +
5417
	"\x88\x01\n" +
5418
	"\x06source\x12~\x1a|client.bundle.read({\n" +
5419
	"    tenantId: \"t1\",\n" +
5420
	"    name: \"organization_created\",\n" +
5421
	"}).then((response) => {\n" +
5422
	"    // handle response\n" +
5423
	"})\n" +
5424
	"\xe9\x01*\xe6\x01\n" +
5425
	"\x0f\n" +
5426
	"\x05label\x12\x06\x1a\x04cURL\n" +
5427
	"\x0e\n" +
5428
	"\x04lang\x12\x06\x1a\x04curl\n" +
5429
	"\xc2\x01\n" +
5430
	"\x06source\x12\xb7\x01\x1a\xb4\x01curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/bundle/read' \\\n" +
5431
	"--header 'Content-Type: application/json' \\\n" +
5432
	"--data-raw '{\n" +
5433
	"    \"name\": \"organization_created\"\n" +
5434
	"}'\x82\xd3\xe4\x93\x02(:\x01*\"#/v1/tenants/{tenant_id}/bundle/read\x12\xa2\x06\n" +
5435
	"\x06Delete\x12\x1c.base.v1.BundleDeleteRequest\x1a\x1d.base.v1.BundleDeleteResponse\"\xda\x05\x92A\xa6\x05\n" +
5436
	"\x06Bundle\x12\rdelete bundle*\rbundle.deletej\xfd\x04\n" +
5437
	"\rx-codeSamples\x12\xeb\x042\xe8\x04\n" +
5438
	"\xbc\x01*\xb9\x01\n" +
5439
	"\r\n" +
5440
	"\x05label\x12\x04\x1a\x02go\n" +
5441
	"\f\n" +
5442
	"\x04lang\x12\x04\x1a\x02go\n" +
5443
	"\x99\x01\n" +
5444
	"\x06source\x12\x8e\x01\x1a\x8b\x01rr, err := client.Bundle.Delete(context.Background(), &v1.BundleDeleteRequest{\n" +
5445
	"    TenantId: \"t1\",\n" +
5446
	"    Name:     \"organization_created\",\n" +
5447
	"})\n" +
5448
	"\xb8\x01*\xb5\x01\n" +
5449
	"\x0f\n" +
5450
	"\x05label\x12\x06\x1a\x04node\n" +
5451
	"\x14\n" +
5452
	"\x04lang\x12\f\x1a\n" +
5453
	"javascript\n" +
5454
	"\x8b\x01\n" +
5455
	"\x06source\x12\x80\x01\x1a~client.bundle.delete({\n" +
5456
	"    tenantId: \"t1\",\n" +
5457
	"    name: \"organization_created\",\n" +
5458
	"}).then((response) => {\n" +
5459
	"    // handle response\n" +
5460
	"})\n" +
5461
	"\xeb\x01*\xe8\x01\n" +
5462
	"\x0f\n" +
5463
	"\x05label\x12\x06\x1a\x04cURL\n" +
5464
	"\x0e\n" +
5465
	"\x04lang\x12\x06\x1a\x04curl\n" +
5466
	"\xc4\x01\n" +
5467
	"\x06source\x12\xb9\x01\x1a\xb6\x01curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/bundle/delete' \\\n" +
5468
	"--header 'Content-Type: application/json' \\\n" +
5469
	"--data-raw '{\n" +
5470
	"    \"name\": \"organization_created\"\n" +
5471
	"}'\x82\xd3\xe4\x93\x02*:\x01*\"%/v1/tenants/{tenant_id}/bundle/delete2\xc1\x0f\n" +
5472
	"\aTenancy\x12\xbe\x05\n" +
5473
	"\x06Create\x12\x1c.base.v1.TenantCreateRequest\x1a\x1d.base.v1.TenantCreateResponse\"\xf6\x04\x92A\xd5\x04\n" +
5474
	"\aTenancy\x12\rcreate tenant*\x0etenants.createj\xaa\x04\n" +
5475
	"\rx-codeSamples\x12\x98\x042\x95\x04\n" +
5476
	"\x9b\x01*\x98\x01\n" +
5477
	"\r\n" +
5478
	"\x05label\x12\x04\x1a\x02go\n" +
5479
	"\f\n" +
5480
	"\x04lang\x12\x04\x1a\x02go\n" +
5481
	"y\n" +
5482
	"\x06source\x12o\x1amrr, err := client.Tenancy.Create(context.Background(), &v1.TenantCreateRequest{\n" +
5483
	"    Id:   \"\",\n" +
5484
	"    Name: \"\"\n" +
5485
	"})\n" +
5486
	"\x98\x01*\x95\x01\n" +
5487
	"\x0f\n" +
5488
	"\x05label\x12\x06\x1a\x04node\n" +
5489
	"\x14\n" +
5490
	"\x04lang\x12\f\x1a\n" +
5491
	"javascript\n" +
5492
	"l\n" +
5493
	"\x06source\x12b\x1a`client.tenancy.create({\n" +
5494
	"   id: \"\",\n" +
5495
	"   name: \"\"\n" +
5496
	"}).then((response) => {\n" +
5497
	"    // handle response\n" +
5498
	"})\n" +
5499
	"\xd9\x01*\xd6\x01\n" +
5500
	"\x0f\n" +
5501
	"\x05label\x12\x06\x1a\x04cURL\n" +
5502
	"\x0e\n" +
5503
	"\x04lang\x12\x06\x1a\x04curl\n" +
5504
	"\xb2\x01\n" +
5505
	"\x06source\x12\xa7\x01\x1a\xa4\x01curl --location --request POST 'http://localhost:3476/v1/tenants/create' \\\n" +
5506
	"--header 'Content-Type: application/json' \\\n" +
5507
	"--data-raw '{\n" +
5508
	"    \"id\": \"\",\n" +
5509
	"    \"name\": \"\"\n" +
5510
	"}'\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/v1/tenants/create\x12\xba\x04\n" +
5511
	"\x06Delete\x12\x1c.base.v1.TenantDeleteRequest\x1a\x1d.base.v1.TenantDeleteResponse\"\xf2\x03\x92A\xd6\x03\n" +
5512
	"\aTenancy\x12\rdelete tenant*\x0etenants.deletej\xab\x03\n" +
5513
	"\rx-codeSamples\x12\x99\x032\x96\x03\n" +
5514
	"\x8b\x01*\x88\x01\n" +
5515
	"\r\n" +
5516
	"\x05label\x12\x04\x1a\x02go\n" +
5517
	"\f\n" +
5518
	"\x04lang\x12\x04\x1a\x02go\n" +
5519
	"i\n" +
5520
	"\x06source\x12_\x1a]rr, err := client.Tenancy.Delete(context.Background(), &v1.TenantDeleteRequest{\n" +
5521
	"    Id: \"\"\n" +
5522
	"})\n" +
5523
	"\x8c\x01*\x89\x01\n" +
5524
	"\x0f\n" +
5525
	"\x05label\x12\x06\x1a\x04node\n" +
5526
	"\x14\n" +
5527
	"\x04lang\x12\f\x1a\n" +
5528
	"javascript\n" +
5529
	"`\n" +
5530
	"\x06source\x12V\x1aTclient.tenancy.delete({\n" +
5531
	"   id: \"\",\n" +
5532
	"}).then((response) => {\n" +
5533
	"    // handle response\n" +
5534
	"})\n" +
5535
	"w*u\n" +
5536
	"\x0f\n" +
5537
	"\x05label\x12\x06\x1a\x04cURL\n" +
5538
	"\x0e\n" +
5539
	"\x04lang\x12\x06\x1a\x04curl\n" +
5540
	"R\n" +
5541
	"\x06source\x12H\x1aFcurl --location --request DELETE 'http://localhost:3476/v1/tenants/t1'\x82\xd3\xe4\x93\x02\x12*\x10/v1/tenants/{id}\x12\xb7\x05\n" +
5542
	"\x04List\x12\x1a.base.v1.TenantListRequest\x1a\x1b.base.v1.TenantListResponse\"\xf5\x04\x92A\xd6\x04\n" +
5543
	"\aTenancy\x12\flist tenants*\ftenants.listj\xae\x04\n" +
5544
	"\rx-codeSamples\x12\x9c\x042\x99\x04\n" +
5545
	"\xa8\x01*\xa5\x01\n" +
5546
	"\r\n" +
5547
	"\x05label\x12\x04\x1a\x02go\n" +
5548
	"\f\n" +
5549
	"\x04lang\x12\x04\x1a\x02go\n" +
5550
	"\x85\x01\n" +
5551
	"\x06source\x12{\x1aycr, err := client.Tenancy.List(context.Background(), &v1.TenantListRequest{\n" +
5552
	"    PageSize: 20,\n" +
5553
	"    ContinuousToken: \"\",\n" +
5554
	"})\n" +
5555
	"\x85\x01*\x82\x01\n" +
5556
	"\x0f\n" +
5557
	"\x05label\x12\x06\x1a\x04node\n" +
5558
	"\x14\n" +
5559
	"\x04lang\x12\f\x1a\n" +
5560
	"javascript\n" +
5561
	"Y\n" +
5562
	"\x06source\x12O\x1aMlet res = client.tenancy.list({\n" +
5563
	"    pageSize: 20,\n" +
5564
	"    continuousToken: \"\",\n" +
5565
	"})\n" +
5566
	"\xe3\x01*\xe0\x01\n" +
5567
	"\x0f\n" +
5568
	"\x05label\x12\x06\x1a\x04cURL\n" +
5569
	"\x0e\n" +
5570
	"\x04lang\x12\x06\x1a\x04curl\n" +
5571
	"\xbc\x01\n" +
5572
	"\x06source\x12\xb1\x01\x1a\xae\x01curl --location --request POST 'localhost:3476/v1/tenants/list' \\\n" +
5573
	"--header 'Content-Type: application/json' \\\n" +
5574
	"--data-raw '{\n" +
5575
	"    \"page_size\": 20,\n" +
5576
	"    \"continuous_token\": \"\"\n" +
5577
	"}'\x82\xd3\xe4\x93\x02\x15:\x01*\"\x10/v1/tenants/listB\x8a\x01\n" +
5578
	"\vcom.base.v1B\fServiceProtoP\x01Z0github.com/Permify/permify/pkg/pb/base/v1;basev1\xa2\x02\x03BXX\xaa\x02\aBase.V1\xca\x02\aBase\\V1\xe2\x02\x13Base\\V1\\GPBMetadata\xea\x02\bBase::V1b\x06proto3"
5579
5580
var (
5581
	file_base_v1_service_proto_rawDescOnce sync.Once
5582
	file_base_v1_service_proto_rawDescData []byte
5583
)
5584
5585
func file_base_v1_service_proto_rawDescGZIP() []byte {
5586
	file_base_v1_service_proto_rawDescOnce.Do(func() {
5587
		file_base_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_base_v1_service_proto_rawDesc), len(file_base_v1_service_proto_rawDesc)))
5588
	})
5589
	return file_base_v1_service_proto_rawDescData
5590
}
5591
5592
var file_base_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 70)
5593
var file_base_v1_service_proto_goTypes = []any{
5594
	(*PermissionCheckRequest)(nil),                     // 0: base.v1.PermissionCheckRequest
5595
	(*PermissionCheckRequestMetadata)(nil),             // 1: base.v1.PermissionCheckRequestMetadata
5596
	(*PermissionCheckResponse)(nil),                    // 2: base.v1.PermissionCheckResponse
5597
	(*PermissionCheckResponseMetadata)(nil),            // 3: base.v1.PermissionCheckResponseMetadata
5598
	(*PermissionBulkCheckRequestItem)(nil),             // 4: base.v1.PermissionBulkCheckRequestItem
5599
	(*PermissionBulkCheckRequest)(nil),                 // 5: base.v1.PermissionBulkCheckRequest
5600
	(*PermissionBulkCheckResponse)(nil),                // 6: base.v1.PermissionBulkCheckResponse
5601
	(*PermissionExpandRequest)(nil),                    // 7: base.v1.PermissionExpandRequest
5602
	(*PermissionExpandRequestMetadata)(nil),            // 8: base.v1.PermissionExpandRequestMetadata
5603
	(*PermissionExpandResponse)(nil),                   // 9: base.v1.PermissionExpandResponse
5604
	(*PermissionLookupEntityRequest)(nil),              // 10: base.v1.PermissionLookupEntityRequest
5605
	(*PermissionLookupEntityRequestMetadata)(nil),      // 11: base.v1.PermissionLookupEntityRequestMetadata
5606
	(*PermissionLookupEntityResponse)(nil),             // 12: base.v1.PermissionLookupEntityResponse
5607
	(*PermissionLookupEntityStreamResponse)(nil),       // 13: base.v1.PermissionLookupEntityStreamResponse
5608
	(*PermissionEntityFilterRequest)(nil),              // 14: base.v1.PermissionEntityFilterRequest
5609
	(*PermissionEntityFilterRequestMetadata)(nil),      // 15: base.v1.PermissionEntityFilterRequestMetadata
5610
	(*PermissionLookupSubjectRequest)(nil),             // 16: base.v1.PermissionLookupSubjectRequest
5611
	(*PermissionLookupSubjectRequestMetadata)(nil),     // 17: base.v1.PermissionLookupSubjectRequestMetadata
5612
	(*PermissionLookupSubjectResponse)(nil),            // 18: base.v1.PermissionLookupSubjectResponse
5613
	(*PermissionSubjectPermissionRequest)(nil),         // 19: base.v1.PermissionSubjectPermissionRequest
5614
	(*PermissionSubjectPermissionRequestMetadata)(nil), // 20: base.v1.PermissionSubjectPermissionRequestMetadata
5615
	(*PermissionSubjectPermissionResponse)(nil),        // 21: base.v1.PermissionSubjectPermissionResponse
5616
	(*WatchRequest)(nil),                               // 22: base.v1.WatchRequest
5617
	(*WatchResponse)(nil),                              // 23: base.v1.WatchResponse
5618
	(*SchemaWriteRequest)(nil),                         // 24: base.v1.SchemaWriteRequest
5619
	(*SchemaWriteResponse)(nil),                        // 25: base.v1.SchemaWriteResponse
5620
	(*SchemaPartialWriteRequest)(nil),                  // 26: base.v1.SchemaPartialWriteRequest
5621
	(*SchemaPartialWriteRequestMetadata)(nil),          // 27: base.v1.SchemaPartialWriteRequestMetadata
5622
	(*SchemaPartialWriteResponse)(nil),                 // 28: base.v1.SchemaPartialWriteResponse
5623
	(*SchemaReadRequest)(nil),                          // 29: base.v1.SchemaReadRequest
5624
	(*SchemaReadRequestMetadata)(nil),                  // 30: base.v1.SchemaReadRequestMetadata
5625
	(*SchemaReadResponse)(nil),                         // 31: base.v1.SchemaReadResponse
5626
	(*SchemaListRequest)(nil),                          // 32: base.v1.SchemaListRequest
5627
	(*SchemaListResponse)(nil),                         // 33: base.v1.SchemaListResponse
5628
	(*SchemaList)(nil),                                 // 34: base.v1.SchemaList
5629
	(*DataWriteRequest)(nil),                           // 35: base.v1.DataWriteRequest
5630
	(*DataWriteRequestMetadata)(nil),                   // 36: base.v1.DataWriteRequestMetadata
5631
	(*DataWriteResponse)(nil),                          // 37: base.v1.DataWriteResponse
5632
	(*RelationshipWriteRequest)(nil),                   // 38: base.v1.RelationshipWriteRequest
5633
	(*RelationshipWriteRequestMetadata)(nil),           // 39: base.v1.RelationshipWriteRequestMetadata
5634
	(*RelationshipWriteResponse)(nil),                  // 40: base.v1.RelationshipWriteResponse
5635
	(*RelationshipReadRequest)(nil),                    // 41: base.v1.RelationshipReadRequest
5636
	(*RelationshipReadRequestMetadata)(nil),            // 42: base.v1.RelationshipReadRequestMetadata
5637
	(*RelationshipReadResponse)(nil),                   // 43: base.v1.RelationshipReadResponse
5638
	(*AttributeReadRequest)(nil),                       // 44: base.v1.AttributeReadRequest
5639
	(*AttributeReadRequestMetadata)(nil),               // 45: base.v1.AttributeReadRequestMetadata
5640
	(*AttributeReadResponse)(nil),                      // 46: base.v1.AttributeReadResponse
5641
	(*DataDeleteRequest)(nil),                          // 47: base.v1.DataDeleteRequest
5642
	(*DataDeleteResponse)(nil),                         // 48: base.v1.DataDeleteResponse
5643
	(*RelationshipDeleteRequest)(nil),                  // 49: base.v1.RelationshipDeleteRequest
5644
	(*RelationshipDeleteResponse)(nil),                 // 50: base.v1.RelationshipDeleteResponse
5645
	(*BundleRunRequest)(nil),                           // 51: base.v1.BundleRunRequest
5646
	(*BundleRunResponse)(nil),                          // 52: base.v1.BundleRunResponse
5647
	(*BundleWriteRequest)(nil),                         // 53: base.v1.BundleWriteRequest
5648
	(*BundleWriteResponse)(nil),                        // 54: base.v1.BundleWriteResponse
5649
	(*BundleReadRequest)(nil),                          // 55: base.v1.BundleReadRequest
5650
	(*BundleReadResponse)(nil),                         // 56: base.v1.BundleReadResponse
5651
	(*BundleDeleteRequest)(nil),                        // 57: base.v1.BundleDeleteRequest
5652
	(*BundleDeleteResponse)(nil),                       // 58: base.v1.BundleDeleteResponse
5653
	(*TenantCreateRequest)(nil),                        // 59: base.v1.TenantCreateRequest
5654
	(*TenantCreateResponse)(nil),                       // 60: base.v1.TenantCreateResponse
5655
	(*TenantDeleteRequest)(nil),                        // 61: base.v1.TenantDeleteRequest
5656
	(*TenantDeleteResponse)(nil),                       // 62: base.v1.TenantDeleteResponse
5657
	(*TenantListRequest)(nil),                          // 63: base.v1.TenantListRequest
5658
	(*TenantListResponse)(nil),                         // 64: base.v1.TenantListResponse
5659
	nil,                                                // 65: base.v1.PermissionLookupEntityRequest.ScopeEntry
5660
	nil,                                                // 66: base.v1.PermissionEntityFilterRequest.ScopeEntry
5661
	nil,                                                // 67: base.v1.PermissionSubjectPermissionResponse.ResultsEntry
5662
	nil,                                                // 68: base.v1.SchemaPartialWriteRequest.PartialsEntry
5663
	nil,                                                // 69: base.v1.BundleRunRequest.ArgumentsEntry
5664
	(*Entity)(nil),                                     // 70: base.v1.Entity
5665
	(*Subject)(nil),                                    // 71: base.v1.Subject
5666
	(*Context)(nil),                                    // 72: base.v1.Context
5667
	(*Argument)(nil),                                   // 73: base.v1.Argument
5668
	(CheckResult)(0),                                   // 74: base.v1.CheckResult
5669
	(*Expand)(nil),                                     // 75: base.v1.Expand
5670
	(*Entrance)(nil),                                   // 76: base.v1.Entrance
5671
	(*RelationReference)(nil),                          // 77: base.v1.RelationReference
5672
	(*DataChanges)(nil),                                // 78: base.v1.DataChanges
5673
	(*SchemaDefinition)(nil),                           // 79: base.v1.SchemaDefinition
5674
	(*Tuple)(nil),                                      // 80: base.v1.Tuple
5675
	(*Attribute)(nil),                                  // 81: base.v1.Attribute
5676
	(*TupleFilter)(nil),                                // 82: base.v1.TupleFilter
5677
	(*AttributeFilter)(nil),                            // 83: base.v1.AttributeFilter
5678
	(*DataBundle)(nil),                                 // 84: base.v1.DataBundle
5679
	(*Tenant)(nil),                                     // 85: base.v1.Tenant
5680
	(*StringArrayValue)(nil),                           // 86: base.v1.StringArrayValue
5681
	(*Partials)(nil),                                   // 87: base.v1.Partials
5682
}
5683
var file_base_v1_service_proto_depIdxs = []int32{
5684
	1,  // 0: base.v1.PermissionCheckRequest.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
5685
	70, // 1: base.v1.PermissionCheckRequest.entity:type_name -> base.v1.Entity
5686
	71, // 2: base.v1.PermissionCheckRequest.subject:type_name -> base.v1.Subject
5687
	72, // 3: base.v1.PermissionCheckRequest.context:type_name -> base.v1.Context
5688
	73, // 4: base.v1.PermissionCheckRequest.arguments:type_name -> base.v1.Argument
5689
	74, // 5: base.v1.PermissionCheckResponse.can:type_name -> base.v1.CheckResult
5690
	3,  // 6: base.v1.PermissionCheckResponse.metadata:type_name -> base.v1.PermissionCheckResponseMetadata
5691
	70, // 7: base.v1.PermissionBulkCheckRequestItem.entity:type_name -> base.v1.Entity
5692
	71, // 8: base.v1.PermissionBulkCheckRequestItem.subject:type_name -> base.v1.Subject
5693
	1,  // 9: base.v1.PermissionBulkCheckRequest.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
5694
	4,  // 10: base.v1.PermissionBulkCheckRequest.items:type_name -> base.v1.PermissionBulkCheckRequestItem
5695
	72, // 11: base.v1.PermissionBulkCheckRequest.context:type_name -> base.v1.Context
5696
	73, // 12: base.v1.PermissionBulkCheckRequest.arguments:type_name -> base.v1.Argument
5697
	2,  // 13: base.v1.PermissionBulkCheckResponse.results:type_name -> base.v1.PermissionCheckResponse
5698
	8,  // 14: base.v1.PermissionExpandRequest.metadata:type_name -> base.v1.PermissionExpandRequestMetadata
5699
	70, // 15: base.v1.PermissionExpandRequest.entity:type_name -> base.v1.Entity
5700
	72, // 16: base.v1.PermissionExpandRequest.context:type_name -> base.v1.Context
5701
	73, // 17: base.v1.PermissionExpandRequest.arguments:type_name -> base.v1.Argument
5702
	75, // 18: base.v1.PermissionExpandResponse.tree:type_name -> base.v1.Expand
5703
	11, // 19: base.v1.PermissionLookupEntityRequest.metadata:type_name -> base.v1.PermissionLookupEntityRequestMetadata
5704
	71, // 20: base.v1.PermissionLookupEntityRequest.subject:type_name -> base.v1.Subject
5705
	72, // 21: base.v1.PermissionLookupEntityRequest.context:type_name -> base.v1.Context
5706
	65, // 22: base.v1.PermissionLookupEntityRequest.scope:type_name -> base.v1.PermissionLookupEntityRequest.ScopeEntry
5707
	15, // 23: base.v1.PermissionEntityFilterRequest.metadata:type_name -> base.v1.PermissionEntityFilterRequestMetadata
5708
	76, // 24: base.v1.PermissionEntityFilterRequest.entrance:type_name -> base.v1.Entrance
5709
	71, // 25: base.v1.PermissionEntityFilterRequest.subject:type_name -> base.v1.Subject
5710
	72, // 26: base.v1.PermissionEntityFilterRequest.context:type_name -> base.v1.Context
5711
	66, // 27: base.v1.PermissionEntityFilterRequest.scope:type_name -> base.v1.PermissionEntityFilterRequest.ScopeEntry
5712
	17, // 28: base.v1.PermissionLookupSubjectRequest.metadata:type_name -> base.v1.PermissionLookupSubjectRequestMetadata
5713
	70, // 29: base.v1.PermissionLookupSubjectRequest.entity:type_name -> base.v1.Entity
5714
	77, // 30: base.v1.PermissionLookupSubjectRequest.subject_reference:type_name -> base.v1.RelationReference
5715
	72, // 31: base.v1.PermissionLookupSubjectRequest.context:type_name -> base.v1.Context
5716
	73, // 32: base.v1.PermissionLookupSubjectRequest.arguments:type_name -> base.v1.Argument
5717
	20, // 33: base.v1.PermissionSubjectPermissionRequest.metadata:type_name -> base.v1.PermissionSubjectPermissionRequestMetadata
5718
	70, // 34: base.v1.PermissionSubjectPermissionRequest.entity:type_name -> base.v1.Entity
5719
	71, // 35: base.v1.PermissionSubjectPermissionRequest.subject:type_name -> base.v1.Subject
5720
	72, // 36: base.v1.PermissionSubjectPermissionRequest.context:type_name -> base.v1.Context
5721
	67, // 37: base.v1.PermissionSubjectPermissionResponse.results:type_name -> base.v1.PermissionSubjectPermissionResponse.ResultsEntry
5722
	78, // 38: base.v1.WatchResponse.changes:type_name -> base.v1.DataChanges
5723
	27, // 39: base.v1.SchemaPartialWriteRequest.metadata:type_name -> base.v1.SchemaPartialWriteRequestMetadata
5724
	68, // 40: base.v1.SchemaPartialWriteRequest.partials:type_name -> base.v1.SchemaPartialWriteRequest.PartialsEntry
5725
	30, // 41: base.v1.SchemaReadRequest.metadata:type_name -> base.v1.SchemaReadRequestMetadata
5726
	79, // 42: base.v1.SchemaReadResponse.schema:type_name -> base.v1.SchemaDefinition
5727
	34, // 43: base.v1.SchemaListResponse.schemas:type_name -> base.v1.SchemaList
5728
	36, // 44: base.v1.DataWriteRequest.metadata:type_name -> base.v1.DataWriteRequestMetadata
5729
	80, // 45: base.v1.DataWriteRequest.tuples:type_name -> base.v1.Tuple
5730
	81, // 46: base.v1.DataWriteRequest.attributes:type_name -> base.v1.Attribute
5731
	39, // 47: base.v1.RelationshipWriteRequest.metadata:type_name -> base.v1.RelationshipWriteRequestMetadata
5732
	80, // 48: base.v1.RelationshipWriteRequest.tuples:type_name -> base.v1.Tuple
5733
	42, // 49: base.v1.RelationshipReadRequest.metadata:type_name -> base.v1.RelationshipReadRequestMetadata
5734
	82, // 50: base.v1.RelationshipReadRequest.filter:type_name -> base.v1.TupleFilter
5735
	80, // 51: base.v1.RelationshipReadResponse.tuples:type_name -> base.v1.Tuple
5736
	45, // 52: base.v1.AttributeReadRequest.metadata:type_name -> base.v1.AttributeReadRequestMetadata
5737
	83, // 53: base.v1.AttributeReadRequest.filter:type_name -> base.v1.AttributeFilter
5738
	81, // 54: base.v1.AttributeReadResponse.attributes:type_name -> base.v1.Attribute
5739
	82, // 55: base.v1.DataDeleteRequest.tuple_filter:type_name -> base.v1.TupleFilter
5740
	83, // 56: base.v1.DataDeleteRequest.attribute_filter:type_name -> base.v1.AttributeFilter
5741
	82, // 57: base.v1.RelationshipDeleteRequest.filter:type_name -> base.v1.TupleFilter
5742
	69, // 58: base.v1.BundleRunRequest.arguments:type_name -> base.v1.BundleRunRequest.ArgumentsEntry
5743
	84, // 59: base.v1.BundleWriteRequest.bundles:type_name -> base.v1.DataBundle
5744
	84, // 60: base.v1.BundleReadResponse.bundle:type_name -> base.v1.DataBundle
5745
	85, // 61: base.v1.TenantCreateResponse.tenant:type_name -> base.v1.Tenant
5746
	85, // 62: base.v1.TenantListResponse.tenants:type_name -> base.v1.Tenant
5747
	86, // 63: base.v1.PermissionLookupEntityRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
5748
	86, // 64: base.v1.PermissionEntityFilterRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
5749
	74, // 65: base.v1.PermissionSubjectPermissionResponse.ResultsEntry.value:type_name -> base.v1.CheckResult
5750
	87, // 66: base.v1.SchemaPartialWriteRequest.PartialsEntry.value:type_name -> base.v1.Partials
5751
	0,  // 67: base.v1.Permission.Check:input_type -> base.v1.PermissionCheckRequest
5752
	5,  // 68: base.v1.Permission.BulkCheck:input_type -> base.v1.PermissionBulkCheckRequest
5753
	7,  // 69: base.v1.Permission.Expand:input_type -> base.v1.PermissionExpandRequest
5754
	10, // 70: base.v1.Permission.LookupEntity:input_type -> base.v1.PermissionLookupEntityRequest
5755
	10, // 71: base.v1.Permission.LookupEntityStream:input_type -> base.v1.PermissionLookupEntityRequest
5756
	16, // 72: base.v1.Permission.LookupSubject:input_type -> base.v1.PermissionLookupSubjectRequest
5757
	19, // 73: base.v1.Permission.SubjectPermission:input_type -> base.v1.PermissionSubjectPermissionRequest
5758
	22, // 74: base.v1.Watch.Watch:input_type -> base.v1.WatchRequest
5759
	24, // 75: base.v1.Schema.Write:input_type -> base.v1.SchemaWriteRequest
5760
	26, // 76: base.v1.Schema.PartialWrite:input_type -> base.v1.SchemaPartialWriteRequest
5761
	29, // 77: base.v1.Schema.Read:input_type -> base.v1.SchemaReadRequest
5762
	32, // 78: base.v1.Schema.List:input_type -> base.v1.SchemaListRequest
5763
	35, // 79: base.v1.Data.Write:input_type -> base.v1.DataWriteRequest
5764
	38, // 80: base.v1.Data.WriteRelationships:input_type -> base.v1.RelationshipWriteRequest
5765
	41, // 81: base.v1.Data.ReadRelationships:input_type -> base.v1.RelationshipReadRequest
5766
	44, // 82: base.v1.Data.ReadAttributes:input_type -> base.v1.AttributeReadRequest
5767
	47, // 83: base.v1.Data.Delete:input_type -> base.v1.DataDeleteRequest
5768
	49, // 84: base.v1.Data.DeleteRelationships:input_type -> base.v1.RelationshipDeleteRequest
5769
	51, // 85: base.v1.Data.RunBundle:input_type -> base.v1.BundleRunRequest
5770
	53, // 86: base.v1.Bundle.Write:input_type -> base.v1.BundleWriteRequest
5771
	55, // 87: base.v1.Bundle.Read:input_type -> base.v1.BundleReadRequest
5772
	57, // 88: base.v1.Bundle.Delete:input_type -> base.v1.BundleDeleteRequest
5773
	59, // 89: base.v1.Tenancy.Create:input_type -> base.v1.TenantCreateRequest
5774
	61, // 90: base.v1.Tenancy.Delete:input_type -> base.v1.TenantDeleteRequest
5775
	63, // 91: base.v1.Tenancy.List:input_type -> base.v1.TenantListRequest
5776
	2,  // 92: base.v1.Permission.Check:output_type -> base.v1.PermissionCheckResponse
5777
	6,  // 93: base.v1.Permission.BulkCheck:output_type -> base.v1.PermissionBulkCheckResponse
5778
	9,  // 94: base.v1.Permission.Expand:output_type -> base.v1.PermissionExpandResponse
5779
	12, // 95: base.v1.Permission.LookupEntity:output_type -> base.v1.PermissionLookupEntityResponse
5780
	13, // 96: base.v1.Permission.LookupEntityStream:output_type -> base.v1.PermissionLookupEntityStreamResponse
5781
	18, // 97: base.v1.Permission.LookupSubject:output_type -> base.v1.PermissionLookupSubjectResponse
5782
	21, // 98: base.v1.Permission.SubjectPermission:output_type -> base.v1.PermissionSubjectPermissionResponse
5783
	23, // 99: base.v1.Watch.Watch:output_type -> base.v1.WatchResponse
5784
	25, // 100: base.v1.Schema.Write:output_type -> base.v1.SchemaWriteResponse
5785
	28, // 101: base.v1.Schema.PartialWrite:output_type -> base.v1.SchemaPartialWriteResponse
5786
	31, // 102: base.v1.Schema.Read:output_type -> base.v1.SchemaReadResponse
5787
	33, // 103: base.v1.Schema.List:output_type -> base.v1.SchemaListResponse
5788
	37, // 104: base.v1.Data.Write:output_type -> base.v1.DataWriteResponse
5789
	40, // 105: base.v1.Data.WriteRelationships:output_type -> base.v1.RelationshipWriteResponse
5790
	43, // 106: base.v1.Data.ReadRelationships:output_type -> base.v1.RelationshipReadResponse
5791
	46, // 107: base.v1.Data.ReadAttributes:output_type -> base.v1.AttributeReadResponse
5792
	48, // 108: base.v1.Data.Delete:output_type -> base.v1.DataDeleteResponse
5793
	50, // 109: base.v1.Data.DeleteRelationships:output_type -> base.v1.RelationshipDeleteResponse
5794
	52, // 110: base.v1.Data.RunBundle:output_type -> base.v1.BundleRunResponse
5795
	54, // 111: base.v1.Bundle.Write:output_type -> base.v1.BundleWriteResponse
5796
	56, // 112: base.v1.Bundle.Read:output_type -> base.v1.BundleReadResponse
5797
	58, // 113: base.v1.Bundle.Delete:output_type -> base.v1.BundleDeleteResponse
5798
	60, // 114: base.v1.Tenancy.Create:output_type -> base.v1.TenantCreateResponse
5799
	62, // 115: base.v1.Tenancy.Delete:output_type -> base.v1.TenantDeleteResponse
5800
	64, // 116: base.v1.Tenancy.List:output_type -> base.v1.TenantListResponse
5801
	92, // [92:117] is the sub-list for method output_type
5802
	67, // [67:92] is the sub-list for method input_type
5803
	67, // [67:67] is the sub-list for extension type_name
5804
	67, // [67:67] is the sub-list for extension extendee
5805
	0,  // [0:67] is the sub-list for field type_name
5806
}
5807
5808
func init() { file_base_v1_service_proto_init() }
5809
func file_base_v1_service_proto_init() {
5810
	if File_base_v1_service_proto != nil {
5811
		return
5812
	}
5813
	file_base_v1_base_proto_init()
5814
	type x struct{}
5815
	out := protoimpl.TypeBuilder{
5816
		File: protoimpl.DescBuilder{
5817
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
5818
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_base_v1_service_proto_rawDesc), len(file_base_v1_service_proto_rawDesc)),
5819
			NumEnums:      0,
5820
			NumMessages:   70,
5821
			NumExtensions: 0,
5822
			NumServices:   6,
5823
		},
5824
		GoTypes:           file_base_v1_service_proto_goTypes,
5825
		DependencyIndexes: file_base_v1_service_proto_depIdxs,
5826
		MessageInfos:      file_base_v1_service_proto_msgTypes,
5827
	}.Build()
5828
	File_base_v1_service_proto = out.File
5829
	file_base_v1_service_proto_goTypes = nil
5830
	file_base_v1_service_proto_depIdxs = nil
5831
}
5832