Skip to main content

bitwarden_importers/importers/keeper/proto/
records.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct RecordType {
4    #[prost(int32, tag = "1")]
5    pub record_type_id: i32,
6    #[prost(string, tag = "2")]
7    pub content: ::prost::alloc::string::String,
8    #[prost(enumeration = "RecordTypeScope", tag = "3")]
9    pub scope: i32,
10}
11#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct RecordTypesRequest {
13    #[prost(bool, tag = "1")]
14    pub standard: bool,
15    #[prost(bool, tag = "2")]
16    pub user: bool,
17    #[prost(bool, tag = "3")]
18    pub enterprise: bool,
19    #[prost(bool, tag = "4")]
20    pub pam: bool,
21}
22#[derive(Clone, PartialEq, ::prost::Message)]
23pub struct RecordTypesResponse {
24    #[prost(message, repeated, tag = "1")]
25    pub record_types: ::prost::alloc::vec::Vec<RecordType>,
26    #[prost(int32, tag = "2")]
27    pub standard_counter: i32,
28    #[prost(int32, tag = "3")]
29    pub user_counter: i32,
30    #[prost(int32, tag = "4")]
31    pub enterprise_counter: i32,
32    #[prost(int32, tag = "5")]
33    pub pam_counter: i32,
34}
35#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
36pub struct RecordTypeModifyResponse {
37    #[prost(int32, tag = "1")]
38    pub record_type_id: i32,
39    #[prost(int32, tag = "2")]
40    pub counter: i32,
41}
42#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
43pub struct RecordsGetRequest {
44    #[prost(bytes = "vec", repeated, tag = "1")]
45    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
46    #[prost(int64, tag = "2")]
47    pub client_time: i64,
48}
49#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
50pub struct Record {
51    #[prost(bytes = "vec", tag = "1")]
52    pub record_uid: ::prost::alloc::vec::Vec<u8>,
53    #[prost(bytes = "vec", tag = "2")]
54    pub record_key: ::prost::alloc::vec::Vec<u8>,
55    #[prost(enumeration = "RecordKeyType", tag = "3")]
56    pub record_key_type: i32,
57    #[prost(bytes = "vec", tag = "4")]
58    pub data: ::prost::alloc::vec::Vec<u8>,
59    #[prost(bytes = "vec", tag = "5")]
60    pub extra: ::prost::alloc::vec::Vec<u8>,
61    #[prost(int32, tag = "6")]
62    pub version: i32,
63    #[prost(int64, tag = "7")]
64    pub client_modified_time: i64,
65    #[prost(int64, tag = "8")]
66    pub revision: i64,
67    #[prost(bytes = "vec", repeated, tag = "9")]
68    pub file_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
69}
70#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
71pub struct FolderRecordKey {
72    #[prost(bytes = "vec", tag = "1")]
73    pub folder_uid: ::prost::alloc::vec::Vec<u8>,
74    #[prost(bytes = "vec", tag = "2")]
75    pub record_uid: ::prost::alloc::vec::Vec<u8>,
76    #[prost(bytes = "vec", tag = "3")]
77    pub record_key: ::prost::alloc::vec::Vec<u8>,
78}
79#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
80pub struct Folder {
81    #[prost(bytes = "vec", tag = "1")]
82    pub folder_uid: ::prost::alloc::vec::Vec<u8>,
83    #[prost(bytes = "vec", tag = "2")]
84    pub folder_key: ::prost::alloc::vec::Vec<u8>,
85    #[prost(enumeration = "RecordKeyType", tag = "3")]
86    pub folder_key_type: i32,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct Team {
90    #[prost(bytes = "vec", tag = "1")]
91    pub team_uid: ::prost::alloc::vec::Vec<u8>,
92    #[prost(bytes = "vec", tag = "2")]
93    pub team_key: ::prost::alloc::vec::Vec<u8>,
94    #[prost(bytes = "vec", tag = "3")]
95    pub team_private_key: ::prost::alloc::vec::Vec<u8>,
96    #[prost(enumeration = "RecordKeyType", tag = "4")]
97    pub team_key_type: i32,
98    #[prost(message, repeated, tag = "5")]
99    pub folders: ::prost::alloc::vec::Vec<Folder>,
100}
101#[derive(Clone, PartialEq, ::prost::Message)]
102pub struct RecordsGetResponse {
103    #[prost(message, repeated, tag = "1")]
104    pub records: ::prost::alloc::vec::Vec<Record>,
105    #[prost(message, repeated, tag = "2")]
106    pub folder_record_keys: ::prost::alloc::vec::Vec<FolderRecordKey>,
107    #[prost(message, repeated, tag = "3")]
108    pub folders: ::prost::alloc::vec::Vec<Folder>,
109    #[prost(message, repeated, tag = "4")]
110    pub teams: ::prost::alloc::vec::Vec<Team>,
111}
112#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
113pub struct RecordLink {
114    #[prost(bytes = "vec", tag = "1")]
115    pub record_uid: ::prost::alloc::vec::Vec<u8>,
116    #[prost(bytes = "vec", tag = "2")]
117    pub record_key: ::prost::alloc::vec::Vec<u8>,
118}
119#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
120pub struct RecordAudit {
121    #[prost(int32, tag = "1")]
122    pub version: i32,
123    #[prost(bytes = "vec", tag = "2")]
124    pub data: ::prost::alloc::vec::Vec<u8>,
125}
126#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
127pub struct SecurityData {
128    #[prost(bytes = "vec", tag = "1")]
129    pub data: ::prost::alloc::vec::Vec<u8>,
130}
131#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
132pub struct SecurityScoreData {
133    #[prost(bytes = "vec", tag = "1")]
134    pub data: ::prost::alloc::vec::Vec<u8>,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct RecordAdd {
138    #[prost(bytes = "vec", tag = "1")]
139    pub record_uid: ::prost::alloc::vec::Vec<u8>,
140    #[prost(bytes = "vec", tag = "2")]
141    pub record_key: ::prost::alloc::vec::Vec<u8>,
142    #[prost(int64, tag = "3")]
143    pub client_modified_time: i64,
144    #[prost(bytes = "vec", tag = "4")]
145    pub data: ::prost::alloc::vec::Vec<u8>,
146    #[prost(bytes = "vec", tag = "5")]
147    pub non_shared_data: ::prost::alloc::vec::Vec<u8>,
148    #[prost(enumeration = "RecordFolderType", tag = "6")]
149    pub folder_type: i32,
150    #[prost(bytes = "vec", tag = "7")]
151    pub folder_uid: ::prost::alloc::vec::Vec<u8>,
152    #[prost(bytes = "vec", tag = "8")]
153    pub folder_key: ::prost::alloc::vec::Vec<u8>,
154    #[prost(message, repeated, tag = "9")]
155    pub record_links: ::prost::alloc::vec::Vec<RecordLink>,
156    #[prost(message, optional, tag = "10")]
157    pub audit: ::core::option::Option<RecordAudit>,
158    #[prost(message, optional, tag = "11")]
159    pub security_data: ::core::option::Option<SecurityData>,
160    #[prost(message, optional, tag = "12")]
161    pub security_score_data: ::core::option::Option<SecurityScoreData>,
162}
163#[derive(Clone, PartialEq, ::prost::Message)]
164pub struct RecordsAddRequest {
165    #[prost(message, repeated, tag = "1")]
166    pub records: ::prost::alloc::vec::Vec<RecordAdd>,
167    #[prost(int64, tag = "2")]
168    pub client_time: i64,
169    #[prost(enumeration = "RecordKeyType", tag = "3")]
170    pub security_data_key_type: i32,
171}
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct RecordUpdate {
174    #[prost(bytes = "vec", tag = "1")]
175    pub record_uid: ::prost::alloc::vec::Vec<u8>,
176    #[prost(int64, tag = "2")]
177    pub client_modified_time: i64,
178    #[prost(int64, tag = "3")]
179    pub revision: i64,
180    #[prost(bytes = "vec", tag = "4")]
181    pub data: ::prost::alloc::vec::Vec<u8>,
182    #[prost(bytes = "vec", tag = "5")]
183    pub non_shared_data: ::prost::alloc::vec::Vec<u8>,
184    #[prost(message, repeated, tag = "6")]
185    pub record_links_add: ::prost::alloc::vec::Vec<RecordLink>,
186    #[prost(bytes = "vec", repeated, tag = "7")]
187    pub record_links_remove: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
188    #[prost(message, optional, tag = "8")]
189    pub audit: ::core::option::Option<RecordAudit>,
190    #[prost(message, optional, tag = "9")]
191    pub security_data: ::core::option::Option<SecurityData>,
192    #[prost(message, optional, tag = "10")]
193    pub security_score_data: ::core::option::Option<SecurityScoreData>,
194}
195#[derive(Clone, PartialEq, ::prost::Message)]
196pub struct RecordsUpdateRequest {
197    #[prost(message, repeated, tag = "1")]
198    pub records: ::prost::alloc::vec::Vec<RecordUpdate>,
199    #[prost(int64, tag = "2")]
200    pub client_time: i64,
201    #[prost(enumeration = "RecordKeyType", tag = "3")]
202    pub security_data_key_type: i32,
203}
204#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
205pub struct RecordFileForConversion {
206    #[prost(bytes = "vec", tag = "1")]
207    pub record_uid: ::prost::alloc::vec::Vec<u8>,
208    #[prost(string, tag = "2")]
209    pub file_file_id: ::prost::alloc::string::String,
210    #[prost(string, tag = "3")]
211    pub thumb_file_id: ::prost::alloc::string::String,
212    #[prost(bytes = "vec", tag = "4")]
213    pub data: ::prost::alloc::vec::Vec<u8>,
214    #[prost(bytes = "vec", tag = "5")]
215    pub record_key: ::prost::alloc::vec::Vec<u8>,
216    #[prost(bytes = "vec", tag = "6")]
217    pub link_key: ::prost::alloc::vec::Vec<u8>,
218}
219#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
220pub struct RecordFolderForConversion {
221    #[prost(bytes = "vec", tag = "1")]
222    pub folder_uid: ::prost::alloc::vec::Vec<u8>,
223    #[prost(bytes = "vec", tag = "2")]
224    pub record_folder_key: ::prost::alloc::vec::Vec<u8>,
225}
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct RecordConvertToV3 {
228    #[prost(bytes = "vec", tag = "1")]
229    pub record_uid: ::prost::alloc::vec::Vec<u8>,
230    #[prost(int64, tag = "2")]
231    pub client_modified_time: i64,
232    #[prost(int64, tag = "3")]
233    pub revision: i64,
234    #[prost(bytes = "vec", tag = "4")]
235    pub data: ::prost::alloc::vec::Vec<u8>,
236    #[prost(bytes = "vec", tag = "5")]
237    pub non_shared_data: ::prost::alloc::vec::Vec<u8>,
238    #[prost(message, optional, tag = "6")]
239    pub audit: ::core::option::Option<RecordAudit>,
240    #[prost(message, repeated, tag = "7")]
241    pub record_file: ::prost::alloc::vec::Vec<RecordFileForConversion>,
242    #[prost(message, repeated, tag = "8")]
243    pub folder_key: ::prost::alloc::vec::Vec<RecordFolderForConversion>,
244}
245#[derive(Clone, PartialEq, ::prost::Message)]
246pub struct RecordsConvertToV3Request {
247    #[prost(message, repeated, tag = "1")]
248    pub records: ::prost::alloc::vec::Vec<RecordConvertToV3>,
249    #[prost(int64, tag = "2")]
250    pub client_time: i64,
251}
252#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
253pub struct RecordsRemoveRequest {
254    #[prost(bytes = "vec", repeated, tag = "1")]
255    pub records: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
256}
257#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
258pub struct RecordRevert {
259    #[prost(bytes = "vec", tag = "1")]
260    pub record_uid: ::prost::alloc::vec::Vec<u8>,
261    #[prost(int64, tag = "2")]
262    pub revert_to_revision: i64,
263}
264#[derive(Clone, PartialEq, ::prost::Message)]
265pub struct RecordsRevertRequest {
266    #[prost(message, repeated, tag = "1")]
267    pub records: ::prost::alloc::vec::Vec<RecordRevert>,
268}
269#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
270pub struct RecordLinkError {
271    #[prost(bytes = "vec", tag = "1")]
272    pub record_uid: ::prost::alloc::vec::Vec<u8>,
273    #[prost(enumeration = "RecordModifyResult", tag = "2")]
274    pub status: i32,
275    #[prost(string, tag = "3")]
276    pub message: ::prost::alloc::string::String,
277}
278#[derive(Clone, PartialEq, ::prost::Message)]
279pub struct RecordModifyStatus {
280    #[prost(bytes = "vec", tag = "1")]
281    pub record_uid: ::prost::alloc::vec::Vec<u8>,
282    #[prost(enumeration = "RecordModifyResult", tag = "2")]
283    pub status: i32,
284    #[prost(string, tag = "3")]
285    pub message: ::prost::alloc::string::String,
286    #[prost(message, repeated, tag = "4")]
287    pub link_errors: ::prost::alloc::vec::Vec<RecordLinkError>,
288}
289#[derive(Clone, PartialEq, ::prost::Message)]
290pub struct RecordsModifyResponse {
291    #[prost(message, repeated, tag = "1")]
292    pub records: ::prost::alloc::vec::Vec<RecordModifyStatus>,
293    #[prost(int64, tag = "2")]
294    pub revision: i64,
295}
296#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
297pub struct RecordAddAuditData {
298    #[prost(bytes = "vec", tag = "1")]
299    pub record_uid: ::prost::alloc::vec::Vec<u8>,
300    #[prost(int64, tag = "2")]
301    pub revision: i64,
302    #[prost(bytes = "vec", tag = "3")]
303    pub data: ::prost::alloc::vec::Vec<u8>,
304    #[prost(int32, tag = "4")]
305    pub version: i32,
306}
307#[derive(Clone, PartialEq, ::prost::Message)]
308pub struct AddAuditDataRequest {
309    #[prost(message, repeated, tag = "1")]
310    pub records: ::prost::alloc::vec::Vec<RecordAddAuditData>,
311}
312#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
313pub struct File {
314    #[prost(bytes = "vec", tag = "1")]
315    pub record_uid: ::prost::alloc::vec::Vec<u8>,
316    #[prost(bytes = "vec", tag = "2")]
317    pub record_key: ::prost::alloc::vec::Vec<u8>,
318    #[prost(bytes = "vec", tag = "3")]
319    pub data: ::prost::alloc::vec::Vec<u8>,
320    #[prost(int64, tag = "4")]
321    pub file_size: i64,
322    #[prost(int32, tag = "5")]
323    pub thumb_size: i32,
324    #[prost(bool, tag = "6")]
325    pub is_script: bool,
326}
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct FilesAddRequest {
329    #[prost(message, repeated, tag = "1")]
330    pub files: ::prost::alloc::vec::Vec<File>,
331    #[prost(int64, tag = "2")]
332    pub client_time: i64,
333}
334#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
335pub struct FileAddStatus {
336    #[prost(bytes = "vec", tag = "1")]
337    pub record_uid: ::prost::alloc::vec::Vec<u8>,
338    #[prost(enumeration = "FileAddResult", tag = "2")]
339    pub status: i32,
340    #[prost(string, tag = "3")]
341    pub url: ::prost::alloc::string::String,
342    #[prost(string, tag = "4")]
343    pub parameters: ::prost::alloc::string::String,
344    #[prost(string, tag = "5")]
345    pub thumbnail_parameters: ::prost::alloc::string::String,
346    #[prost(int32, tag = "6")]
347    pub success_status_code: i32,
348}
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct FilesAddResponse {
351    #[prost(message, repeated, tag = "1")]
352    pub files: ::prost::alloc::vec::Vec<FileAddStatus>,
353    #[prost(int64, tag = "2")]
354    pub revision: i64,
355}
356#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
357pub struct FilesGetRequest {
358    #[prost(bytes = "vec", repeated, tag = "1")]
359    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
360    #[prost(bool, tag = "2")]
361    pub for_thumbnails: bool,
362    #[prost(string, tag = "3")]
363    pub emergency_access_account_owner: ::prost::alloc::string::String,
364}
365#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
366pub struct FileGetStatus {
367    #[prost(bytes = "vec", tag = "1")]
368    pub record_uid: ::prost::alloc::vec::Vec<u8>,
369    #[prost(enumeration = "FileGetResult", tag = "2")]
370    pub status: i32,
371    #[prost(string, tag = "3")]
372    pub url: ::prost::alloc::string::String,
373    #[prost(int32, tag = "4")]
374    pub success_status_code: i32,
375    #[prost(enumeration = "RecordKeyType", tag = "5")]
376    pub file_key_type: i32,
377}
378#[derive(Clone, PartialEq, ::prost::Message)]
379pub struct FilesGetResponse {
380    #[prost(message, repeated, tag = "1")]
381    pub files: ::prost::alloc::vec::Vec<FileGetStatus>,
382}
383#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
384pub struct ApplicationAddRequest {
385    #[prost(bytes = "vec", tag = "1")]
386    pub app_uid: ::prost::alloc::vec::Vec<u8>,
387    #[prost(bytes = "vec", tag = "2")]
388    pub record_key: ::prost::alloc::vec::Vec<u8>,
389    #[prost(int64, tag = "3")]
390    pub client_modified_time: i64,
391    #[prost(bytes = "vec", tag = "4")]
392    pub data: ::prost::alloc::vec::Vec<u8>,
393    #[prost(message, optional, tag = "5")]
394    pub audit: ::core::option::Option<RecordAudit>,
395}
396#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
397pub struct GetRecordDataWithAccessInfoRequest {
398    #[prost(int64, tag = "1")]
399    pub client_time: i64,
400    #[prost(bytes = "vec", repeated, tag = "2")]
401    pub record_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
402    #[prost(enumeration = "RecordDetailsInclude", tag = "3")]
403    pub record_details_include: i32,
404}
405#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
406pub struct UserPermission {
407    #[prost(string, tag = "1")]
408    pub username: ::prost::alloc::string::String,
409    #[prost(bool, tag = "2")]
410    pub owner: bool,
411    #[prost(bool, tag = "3")]
412    pub share_admin: bool,
413    #[prost(bool, tag = "4")]
414    pub sharable: bool,
415    #[prost(bool, tag = "5")]
416    pub editable: bool,
417    #[prost(bool, tag = "6")]
418    pub awaiting_approval: bool,
419    #[prost(int64, tag = "7")]
420    pub expiration: i64,
421    #[prost(bytes = "vec", tag = "8")]
422    pub account_uid: ::prost::alloc::vec::Vec<u8>,
423    #[prost(enumeration = "TimerNotificationType", tag = "9")]
424    pub timer_notification_type: i32,
425    #[prost(bool, tag = "10")]
426    pub rotate_on_expiration: bool,
427}
428#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
429pub struct SharedFolderPermission {
430    #[prost(bytes = "vec", tag = "1")]
431    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
432    #[prost(bool, tag = "2")]
433    pub resharable: bool,
434    #[prost(bool, tag = "3")]
435    pub editable: bool,
436    #[prost(int64, tag = "4")]
437    pub revision: i64,
438    #[prost(int64, tag = "5")]
439    pub expiration: i64,
440    #[prost(enumeration = "TimerNotificationType", tag = "6")]
441    pub timer_notification_type: i32,
442    #[prost(bool, tag = "7")]
443    pub rotate_on_expiration: bool,
444}
445#[derive(Clone, PartialEq, ::prost::Message)]
446pub struct RecordData {
447    #[prost(int64, tag = "1")]
448    pub revision: i64,
449    #[prost(int32, tag = "2")]
450    pub version: i32,
451    #[prost(bool, tag = "3")]
452    pub shared: bool,
453    #[prost(string, tag = "4")]
454    pub encrypted_record_data: ::prost::alloc::string::String,
455    #[prost(string, tag = "5")]
456    pub encrypted_extra_data: ::prost::alloc::string::String,
457    #[prost(int64, tag = "6")]
458    pub client_modified_time: i64,
459    #[prost(string, tag = "7")]
460    pub non_shared_data: ::prost::alloc::string::String,
461    #[prost(message, repeated, tag = "8")]
462    pub linked_record_data: ::prost::alloc::vec::Vec<RecordData>,
463    #[prost(bytes = "vec", repeated, tag = "9")]
464    pub file_id: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
465    #[prost(int64, tag = "10")]
466    pub file_size: i64,
467    #[prost(int64, tag = "11")]
468    pub thumbnail_size: i64,
469    #[prost(enumeration = "RecordKeyType", tag = "12")]
470    pub record_key_type: i32,
471    #[prost(bytes = "vec", tag = "13")]
472    pub record_key: ::prost::alloc::vec::Vec<u8>,
473    #[prost(bytes = "vec", tag = "14")]
474    pub record_uid: ::prost::alloc::vec::Vec<u8>,
475}
476#[derive(Clone, PartialEq, ::prost::Message)]
477pub struct RecordDataWithAccessInfo {
478    #[prost(bytes = "vec", tag = "1")]
479    pub record_uid: ::prost::alloc::vec::Vec<u8>,
480    #[prost(message, optional, tag = "2")]
481    pub record_data: ::core::option::Option<RecordData>,
482    #[prost(message, repeated, tag = "3")]
483    pub user_permission: ::prost::alloc::vec::Vec<UserPermission>,
484    #[prost(message, repeated, tag = "4")]
485    pub shared_folder_permission: ::prost::alloc::vec::Vec<SharedFolderPermission>,
486}
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct GetRecordDataWithAccessInfoResponse {
489    #[prost(message, repeated, tag = "1")]
490    pub record_data_with_access_info: ::prost::alloc::vec::Vec<RecordDataWithAccessInfo>,
491    #[prost(bytes = "vec", repeated, tag = "2")]
492    pub no_permission_record_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
493}
494#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
495pub struct IsObjectShareAdmin {
496    #[prost(bytes = "vec", tag = "1")]
497    pub uid: ::prost::alloc::vec::Vec<u8>,
498    #[prost(bool, tag = "2")]
499    pub is_admin: bool,
500    #[prost(enumeration = "CheckShareAdminObjectType", tag = "3")]
501    pub object_type: i32,
502}
503#[derive(Clone, PartialEq, ::prost::Message)]
504pub struct AmIShareAdmin {
505    #[prost(message, repeated, tag = "1")]
506    pub is_object_share_admin: ::prost::alloc::vec::Vec<IsObjectShareAdmin>,
507}
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct RecordShareUpdateRequest {
510    #[prost(message, repeated, tag = "1")]
511    pub add_shared_record: ::prost::alloc::vec::Vec<SharedRecord>,
512    #[prost(message, repeated, tag = "2")]
513    pub update_shared_record: ::prost::alloc::vec::Vec<SharedRecord>,
514    #[prost(message, repeated, tag = "3")]
515    pub remove_shared_record: ::prost::alloc::vec::Vec<SharedRecord>,
516    #[prost(string, tag = "4")]
517    pub pt: ::prost::alloc::string::String,
518}
519#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
520pub struct SharedRecord {
521    #[prost(string, tag = "1")]
522    pub to_username: ::prost::alloc::string::String,
523    #[prost(bytes = "vec", tag = "2")]
524    pub record_uid: ::prost::alloc::vec::Vec<u8>,
525    #[prost(bytes = "vec", tag = "3")]
526    pub record_key: ::prost::alloc::vec::Vec<u8>,
527    #[prost(bytes = "vec", tag = "4")]
528    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
529    #[prost(bytes = "vec", tag = "5")]
530    pub team_uid: ::prost::alloc::vec::Vec<u8>,
531    #[prost(bool, tag = "6")]
532    pub editable: bool,
533    #[prost(bool, tag = "7")]
534    pub shareable: bool,
535    #[prost(bool, tag = "8")]
536    pub transfer: bool,
537    #[prost(bool, tag = "9")]
538    pub use_ecc_key: bool,
539    #[prost(bool, tag = "10")]
540    pub remove_vault_data: bool,
541    #[prost(int64, tag = "11")]
542    pub expiration: i64,
543    #[prost(enumeration = "TimerNotificationType", tag = "12")]
544    pub timer_notification_type: i32,
545    #[prost(bool, tag = "13")]
546    pub rotate_on_expiration: bool,
547}
548#[derive(Clone, PartialEq, ::prost::Message)]
549pub struct RecordShareUpdateResponse {
550    #[prost(message, repeated, tag = "1")]
551    pub add_shared_record_status: ::prost::alloc::vec::Vec<SharedRecordStatus>,
552    #[prost(message, repeated, tag = "2")]
553    pub update_shared_record_status: ::prost::alloc::vec::Vec<SharedRecordStatus>,
554    #[prost(message, repeated, tag = "3")]
555    pub remove_shared_record_status: ::prost::alloc::vec::Vec<SharedRecordStatus>,
556}
557#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
558pub struct SharedRecordStatus {
559    #[prost(bytes = "vec", tag = "1")]
560    pub record_uid: ::prost::alloc::vec::Vec<u8>,
561    #[prost(string, tag = "2")]
562    pub status: ::prost::alloc::string::String,
563    #[prost(string, tag = "3")]
564    pub message: ::prost::alloc::string::String,
565    #[prost(string, tag = "4")]
566    pub username: ::prost::alloc::string::String,
567}
568#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
569pub struct GetRecordPermissionsRequest {
570    #[prost(bytes = "vec", repeated, tag = "1")]
571    pub record_uids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
572    #[prost(bool, tag = "2")]
573    pub is_share_admin: bool,
574}
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct GetRecordPermissionsResponse {
577    #[prost(message, repeated, tag = "1")]
578    pub record_permissions: ::prost::alloc::vec::Vec<RecordPermission>,
579}
580#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
581pub struct RecordPermission {
582    #[prost(bytes = "vec", tag = "1")]
583    pub record_uid: ::prost::alloc::vec::Vec<u8>,
584    #[prost(bool, tag = "2")]
585    pub owner: bool,
586    #[prost(bool, tag = "3")]
587    pub can_edit: bool,
588    #[prost(bool, tag = "4")]
589    pub can_share: bool,
590    #[prost(bool, tag = "5")]
591    pub can_transfer: bool,
592}
593#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
594pub struct GetShareObjectsRequest {
595    #[prost(string, tag = "1")]
596    pub start_with: ::prost::alloc::string::String,
597    #[prost(string, tag = "2")]
598    pub contains: ::prost::alloc::string::String,
599    #[prost(bool, tag = "3")]
600    pub filtered: bool,
601    #[prost(bytes = "vec", tag = "4")]
602    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
603}
604#[derive(Clone, PartialEq, ::prost::Message)]
605pub struct GetShareObjectsResponse {
606    #[prost(message, repeated, tag = "1")]
607    pub share_relationships: ::prost::alloc::vec::Vec<ShareUser>,
608    #[prost(message, repeated, tag = "2")]
609    pub share_family_users: ::prost::alloc::vec::Vec<ShareUser>,
610    #[prost(message, repeated, tag = "3")]
611    pub share_enterprise_users: ::prost::alloc::vec::Vec<ShareUser>,
612    #[prost(message, repeated, tag = "4")]
613    pub share_teams: ::prost::alloc::vec::Vec<ShareTeam>,
614    #[prost(message, repeated, tag = "5")]
615    pub share_mc_teams: ::prost::alloc::vec::Vec<ShareTeam>,
616    #[prost(message, repeated, tag = "6")]
617    pub share_mc_enterprise_users: ::prost::alloc::vec::Vec<ShareUser>,
618    #[prost(message, repeated, tag = "7")]
619    pub share_enterprise_names: ::prost::alloc::vec::Vec<ShareEnterprise>,
620}
621#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
622pub struct ShareUser {
623    #[prost(string, tag = "1")]
624    pub username: ::prost::alloc::string::String,
625    #[prost(string, tag = "2")]
626    pub fullname: ::prost::alloc::string::String,
627    #[prost(int32, tag = "3")]
628    pub enterprise_id: i32,
629    #[prost(enumeration = "ShareStatus", tag = "4")]
630    pub status: i32,
631    #[prost(bool, tag = "5")]
632    pub is_share_admin: bool,
633    #[prost(bool, tag = "6")]
634    pub is_admin_of_shared_folder_owner: bool,
635}
636#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
637pub struct ShareTeam {
638    #[prost(string, tag = "1")]
639    pub teamname: ::prost::alloc::string::String,
640    #[prost(int32, tag = "2")]
641    pub enterprise_id: i32,
642    #[prost(bytes = "vec", tag = "3")]
643    pub team_uid: ::prost::alloc::vec::Vec<u8>,
644}
645#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
646pub struct ShareEnterprise {
647    #[prost(string, tag = "1")]
648    pub enterprisename: ::prost::alloc::string::String,
649    #[prost(int32, tag = "2")]
650    pub enterprise_id: i32,
651}
652#[derive(Clone, PartialEq, ::prost::Message)]
653pub struct RecordsOnwershipTransferRequest {
654    #[prost(message, repeated, tag = "1")]
655    pub transfer_records: ::prost::alloc::vec::Vec<TransferRecord>,
656}
657#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
658pub struct TransferRecord {
659    #[prost(string, tag = "1")]
660    pub username: ::prost::alloc::string::String,
661    #[prost(bytes = "vec", tag = "2")]
662    pub record_uid: ::prost::alloc::vec::Vec<u8>,
663    #[prost(bytes = "vec", tag = "3")]
664    pub record_key: ::prost::alloc::vec::Vec<u8>,
665    #[prost(bool, tag = "4")]
666    pub use_ecc_key: bool,
667}
668#[derive(Clone, PartialEq, ::prost::Message)]
669pub struct RecordsOnwershipTransferResponse {
670    #[prost(message, repeated, tag = "1")]
671    pub transfer_record_status: ::prost::alloc::vec::Vec<TransferRecordStatus>,
672}
673#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
674pub struct TransferRecordStatus {
675    #[prost(string, tag = "1")]
676    pub username: ::prost::alloc::string::String,
677    #[prost(bytes = "vec", tag = "2")]
678    pub record_uid: ::prost::alloc::vec::Vec<u8>,
679    #[prost(string, tag = "3")]
680    pub status: ::prost::alloc::string::String,
681    #[prost(string, tag = "4")]
682    pub message: ::prost::alloc::string::String,
683}
684#[derive(Clone, PartialEq, ::prost::Message)]
685pub struct RecordsUnshareRequest {
686    #[prost(message, repeated, tag = "1")]
687    pub shared_folders: ::prost::alloc::vec::Vec<RecordsUnshareFolder>,
688    #[prost(message, repeated, tag = "2")]
689    pub users: ::prost::alloc::vec::Vec<RecordsUnshareUser>,
690}
691#[derive(Clone, PartialEq, ::prost::Message)]
692pub struct RecordsUnshareResponse {
693    #[prost(message, repeated, tag = "1")]
694    pub shared_folders: ::prost::alloc::vec::Vec<RecordsUnshareFolderStatus>,
695    #[prost(message, repeated, tag = "2")]
696    pub users: ::prost::alloc::vec::Vec<RecordsUnshareUserStatus>,
697}
698#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
699pub struct RecordsUnshareFolder {
700    #[prost(bytes = "vec", tag = "1")]
701    pub record_uid: ::prost::alloc::vec::Vec<u8>,
702    #[prost(bytes = "vec", tag = "2")]
703    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
704}
705#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
706pub struct RecordsUnshareUser {
707    #[prost(bytes = "vec", tag = "1")]
708    pub record_uid: ::prost::alloc::vec::Vec<u8>,
709    #[prost(bytes = "vec", tag = "2")]
710    pub account_uid: ::prost::alloc::vec::Vec<u8>,
711}
712#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
713pub struct RecordsUnshareFolderStatus {
714    #[prost(bytes = "vec", tag = "1")]
715    pub record_uid: ::prost::alloc::vec::Vec<u8>,
716    #[prost(bytes = "vec", tag = "2")]
717    pub shared_folder_uid: ::prost::alloc::vec::Vec<u8>,
718}
719#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
720pub struct RecordsUnshareUserStatus {
721    #[prost(bytes = "vec", tag = "1")]
722    pub record_uid: ::prost::alloc::vec::Vec<u8>,
723    #[prost(bytes = "vec", tag = "2")]
724    pub account_uid: ::prost::alloc::vec::Vec<u8>,
725}
726#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
727pub struct TimedAccessCallbackPayload {
728    #[prost(enumeration = "TimeLimitedAccessType", tag = "1")]
729    pub time_limited_access_type: i32,
730}
731#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
732pub struct TimeLimitedAccessRequest {
733    #[prost(bytes = "vec", repeated, tag = "1")]
734    pub account_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
735    #[prost(bytes = "vec", repeated, tag = "2")]
736    pub team_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
737    #[prost(bytes = "vec", repeated, tag = "3")]
738    pub record_uid: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
739    #[prost(bytes = "vec", tag = "4")]
740    pub shared_object_uid: ::prost::alloc::vec::Vec<u8>,
741    #[prost(enumeration = "TimeLimitedAccessType", tag = "5")]
742    pub time_limited_access_type: i32,
743    #[prost(int64, tag = "6")]
744    pub expiration: i64,
745    #[prost(enumeration = "TimerNotificationType", tag = "7")]
746    pub timer_notification_type: i32,
747}
748#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
749pub struct TimeLimitedAccessStatus {
750    #[prost(bytes = "vec", tag = "1")]
751    pub uid: ::prost::alloc::vec::Vec<u8>,
752    #[prost(string, tag = "2")]
753    pub message: ::prost::alloc::string::String,
754}
755#[derive(Clone, PartialEq, ::prost::Message)]
756pub struct TimeLimitedAccessResponse {
757    #[prost(int64, tag = "1")]
758    pub revision: i64,
759    #[prost(message, repeated, tag = "2")]
760    pub user_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
761    #[prost(message, repeated, tag = "3")]
762    pub team_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
763    #[prost(message, repeated, tag = "4")]
764    pub record_access_status: ::prost::alloc::vec::Vec<TimeLimitedAccessStatus>,
765}
766#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
767#[repr(i32)]
768pub enum RecordTypeScope {
769    RtStandard = 0,
770    RtUser = 1,
771    RtEnterprise = 2,
772    RtPam = 3,
773    RtPamConfiguration = 4,
774}
775impl RecordTypeScope {
776    /// String value of the enum field names used in the ProtoBuf definition.
777    ///
778    /// The values are not transformed in any way and thus are considered stable
779    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
780    pub fn as_str_name(&self) -> &'static str {
781        match self {
782            Self::RtStandard => "RT_STANDARD",
783            Self::RtUser => "RT_USER",
784            Self::RtEnterprise => "RT_ENTERPRISE",
785            Self::RtPam => "RT_PAM",
786            Self::RtPamConfiguration => "RT_PAM_CONFIGURATION",
787        }
788    }
789    /// Creates an enum from field names used in the ProtoBuf definition.
790    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
791        match value {
792            "RT_STANDARD" => Some(Self::RtStandard),
793            "RT_USER" => Some(Self::RtUser),
794            "RT_ENTERPRISE" => Some(Self::RtEnterprise),
795            "RT_PAM" => Some(Self::RtPam),
796            "RT_PAM_CONFIGURATION" => Some(Self::RtPamConfiguration),
797            _ => None,
798        }
799    }
800}
801#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
802#[repr(i32)]
803pub enum RecordKeyType {
804    NoKey = 0,
805    EncryptedByDataKey = 1,
806    EncryptedByPublicKey = 2,
807    EncryptedByDataKeyGcm = 3,
808    EncryptedByPublicKeyEcc = 4,
809    EncryptedByRootKeyCbc = 5,
810    EncryptedByRootKeyGcm = 6,
811}
812impl RecordKeyType {
813    /// String value of the enum field names used in the ProtoBuf definition.
814    ///
815    /// The values are not transformed in any way and thus are considered stable
816    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
817    pub fn as_str_name(&self) -> &'static str {
818        match self {
819            Self::NoKey => "NO_KEY",
820            Self::EncryptedByDataKey => "ENCRYPTED_BY_DATA_KEY",
821            Self::EncryptedByPublicKey => "ENCRYPTED_BY_PUBLIC_KEY",
822            Self::EncryptedByDataKeyGcm => "ENCRYPTED_BY_DATA_KEY_GCM",
823            Self::EncryptedByPublicKeyEcc => "ENCRYPTED_BY_PUBLIC_KEY_ECC",
824            Self::EncryptedByRootKeyCbc => "ENCRYPTED_BY_ROOT_KEY_CBC",
825            Self::EncryptedByRootKeyGcm => "ENCRYPTED_BY_ROOT_KEY_GCM",
826        }
827    }
828    /// Creates an enum from field names used in the ProtoBuf definition.
829    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
830        match value {
831            "NO_KEY" => Some(Self::NoKey),
832            "ENCRYPTED_BY_DATA_KEY" => Some(Self::EncryptedByDataKey),
833            "ENCRYPTED_BY_PUBLIC_KEY" => Some(Self::EncryptedByPublicKey),
834            "ENCRYPTED_BY_DATA_KEY_GCM" => Some(Self::EncryptedByDataKeyGcm),
835            "ENCRYPTED_BY_PUBLIC_KEY_ECC" => Some(Self::EncryptedByPublicKeyEcc),
836            "ENCRYPTED_BY_ROOT_KEY_CBC" => Some(Self::EncryptedByRootKeyCbc),
837            "ENCRYPTED_BY_ROOT_KEY_GCM" => Some(Self::EncryptedByRootKeyGcm),
838            _ => None,
839        }
840    }
841}
842#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
843#[repr(i32)]
844pub enum RecordFolderType {
845    UserFolder = 0,
846    SharedFolder = 1,
847    SharedFolderFolder = 2,
848}
849impl RecordFolderType {
850    /// String value of the enum field names used in the ProtoBuf definition.
851    ///
852    /// The values are not transformed in any way and thus are considered stable
853    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
854    pub fn as_str_name(&self) -> &'static str {
855        match self {
856            Self::UserFolder => "user_folder",
857            Self::SharedFolder => "shared_folder",
858            Self::SharedFolderFolder => "shared_folder_folder",
859        }
860    }
861    /// Creates an enum from field names used in the ProtoBuf definition.
862    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
863        match value {
864            "user_folder" => Some(Self::UserFolder),
865            "shared_folder" => Some(Self::SharedFolder),
866            "shared_folder_folder" => Some(Self::SharedFolderFolder),
867            _ => None,
868        }
869    }
870}
871#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
872#[repr(i32)]
873pub enum RecordModifyResult {
874    RsSuccess = 0,
875    RsOutOfSync = 1,
876    RsAccessDenied = 2,
877    RsShareDenied = 3,
878    RsRecordExists = 4,
879    RsOldRecordVersionType = 5,
880    RsNewRecordVersionType = 6,
881    RsFilesNotMatch = 7,
882    RsRecordNotShareable = 8,
883    RsAttachmentNotShareable = 9,
884    RsFileLimitReached = 10,
885    RsSizeExceededLimit = 11,
886    RsOnlyOwnerCanModifyScripts = 12,
887}
888impl RecordModifyResult {
889    /// String value of the enum field names used in the ProtoBuf definition.
890    ///
891    /// The values are not transformed in any way and thus are considered stable
892    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
893    pub fn as_str_name(&self) -> &'static str {
894        match self {
895            Self::RsSuccess => "RS_SUCCESS",
896            Self::RsOutOfSync => "RS_OUT_OF_SYNC",
897            Self::RsAccessDenied => "RS_ACCESS_DENIED",
898            Self::RsShareDenied => "RS_SHARE_DENIED",
899            Self::RsRecordExists => "RS_RECORD_EXISTS",
900            Self::RsOldRecordVersionType => "RS_OLD_RECORD_VERSION_TYPE",
901            Self::RsNewRecordVersionType => "RS_NEW_RECORD_VERSION_TYPE",
902            Self::RsFilesNotMatch => "RS_FILES_NOT_MATCH",
903            Self::RsRecordNotShareable => "RS_RECORD_NOT_SHAREABLE",
904            Self::RsAttachmentNotShareable => "RS_ATTACHMENT_NOT_SHAREABLE",
905            Self::RsFileLimitReached => "RS_FILE_LIMIT_REACHED",
906            Self::RsSizeExceededLimit => "RS_SIZE_EXCEEDED_LIMIT",
907            Self::RsOnlyOwnerCanModifyScripts => "RS_ONLY_OWNER_CAN_MODIFY_SCRIPTS",
908        }
909    }
910    /// Creates an enum from field names used in the ProtoBuf definition.
911    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
912        match value {
913            "RS_SUCCESS" => Some(Self::RsSuccess),
914            "RS_OUT_OF_SYNC" => Some(Self::RsOutOfSync),
915            "RS_ACCESS_DENIED" => Some(Self::RsAccessDenied),
916            "RS_SHARE_DENIED" => Some(Self::RsShareDenied),
917            "RS_RECORD_EXISTS" => Some(Self::RsRecordExists),
918            "RS_OLD_RECORD_VERSION_TYPE" => Some(Self::RsOldRecordVersionType),
919            "RS_NEW_RECORD_VERSION_TYPE" => Some(Self::RsNewRecordVersionType),
920            "RS_FILES_NOT_MATCH" => Some(Self::RsFilesNotMatch),
921            "RS_RECORD_NOT_SHAREABLE" => Some(Self::RsRecordNotShareable),
922            "RS_ATTACHMENT_NOT_SHAREABLE" => Some(Self::RsAttachmentNotShareable),
923            "RS_FILE_LIMIT_REACHED" => Some(Self::RsFileLimitReached),
924            "RS_SIZE_EXCEEDED_LIMIT" => Some(Self::RsSizeExceededLimit),
925            "RS_ONLY_OWNER_CAN_MODIFY_SCRIPTS" => Some(Self::RsOnlyOwnerCanModifyScripts),
926            _ => None,
927        }
928    }
929}
930#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
931#[repr(i32)]
932pub enum FileAddResult {
933    FaSuccess = 0,
934    FaError = 1,
935}
936impl FileAddResult {
937    /// String value of the enum field names used in the ProtoBuf definition.
938    ///
939    /// The values are not transformed in any way and thus are considered stable
940    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
941    pub fn as_str_name(&self) -> &'static str {
942        match self {
943            Self::FaSuccess => "FA_SUCCESS",
944            Self::FaError => "FA_ERROR",
945        }
946    }
947    /// Creates an enum from field names used in the ProtoBuf definition.
948    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
949        match value {
950            "FA_SUCCESS" => Some(Self::FaSuccess),
951            "FA_ERROR" => Some(Self::FaError),
952            _ => None,
953        }
954    }
955}
956#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
957#[repr(i32)]
958pub enum FileGetResult {
959    FgSuccess = 0,
960    FgError = 1,
961    FgAccessDenied = 2,
962}
963impl FileGetResult {
964    /// String value of the enum field names used in the ProtoBuf definition.
965    ///
966    /// The values are not transformed in any way and thus are considered stable
967    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
968    pub fn as_str_name(&self) -> &'static str {
969        match self {
970            Self::FgSuccess => "FG_SUCCESS",
971            Self::FgError => "FG_ERROR",
972            Self::FgAccessDenied => "FG_ACCESS_DENIED",
973        }
974    }
975    /// Creates an enum from field names used in the ProtoBuf definition.
976    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
977        match value {
978            "FG_SUCCESS" => Some(Self::FgSuccess),
979            "FG_ERROR" => Some(Self::FgError),
980            "FG_ACCESS_DENIED" => Some(Self::FgAccessDenied),
981            _ => None,
982        }
983    }
984}
985#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
986#[repr(i32)]
987pub enum RecordDetailsInclude {
988    DataPlusShare = 0,
989    DataOnly = 1,
990    ShareOnly = 2,
991}
992impl RecordDetailsInclude {
993    /// String value of the enum field names used in the ProtoBuf definition.
994    ///
995    /// The values are not transformed in any way and thus are considered stable
996    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
997    pub fn as_str_name(&self) -> &'static str {
998        match self {
999            Self::DataPlusShare => "DATA_PLUS_SHARE",
1000            Self::DataOnly => "DATA_ONLY",
1001            Self::ShareOnly => "SHARE_ONLY",
1002        }
1003    }
1004    /// Creates an enum from field names used in the ProtoBuf definition.
1005    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1006        match value {
1007            "DATA_PLUS_SHARE" => Some(Self::DataPlusShare),
1008            "DATA_ONLY" => Some(Self::DataOnly),
1009            "SHARE_ONLY" => Some(Self::ShareOnly),
1010            _ => None,
1011        }
1012    }
1013}
1014#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1015#[repr(i32)]
1016pub enum CheckShareAdminObjectType {
1017    CheckSaInvalidType = 0,
1018    CheckSaOnSf = 1,
1019    CheckSaOnRecord = 2,
1020}
1021impl CheckShareAdminObjectType {
1022    /// String value of the enum field names used in the ProtoBuf definition.
1023    ///
1024    /// The values are not transformed in any way and thus are considered stable
1025    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1026    pub fn as_str_name(&self) -> &'static str {
1027        match self {
1028            Self::CheckSaInvalidType => "CHECK_SA_INVALID_TYPE",
1029            Self::CheckSaOnSf => "CHECK_SA_ON_SF",
1030            Self::CheckSaOnRecord => "CHECK_SA_ON_RECORD",
1031        }
1032    }
1033    /// Creates an enum from field names used in the ProtoBuf definition.
1034    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1035        match value {
1036            "CHECK_SA_INVALID_TYPE" => Some(Self::CheckSaInvalidType),
1037            "CHECK_SA_ON_SF" => Some(Self::CheckSaOnSf),
1038            "CHECK_SA_ON_RECORD" => Some(Self::CheckSaOnRecord),
1039            _ => None,
1040        }
1041    }
1042}
1043#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1044#[repr(i32)]
1045pub enum ShareStatus {
1046    Active = 0,
1047    Block = 1,
1048    Invited = 2,
1049}
1050impl ShareStatus {
1051    /// String value of the enum field names used in the ProtoBuf definition.
1052    ///
1053    /// The values are not transformed in any way and thus are considered stable
1054    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1055    pub fn as_str_name(&self) -> &'static str {
1056        match self {
1057            Self::Active => "ACTIVE",
1058            Self::Block => "BLOCK",
1059            Self::Invited => "INVITED",
1060        }
1061    }
1062    /// Creates an enum from field names used in the ProtoBuf definition.
1063    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1064        match value {
1065            "ACTIVE" => Some(Self::Active),
1066            "BLOCK" => Some(Self::Block),
1067            "INVITED" => Some(Self::Invited),
1068            _ => None,
1069        }
1070    }
1071}
1072#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1073#[repr(i32)]
1074pub enum RecordTransactionType {
1075    RttGeneral = 0,
1076    RttRotation = 1,
1077}
1078impl RecordTransactionType {
1079    /// String value of the enum field names used in the ProtoBuf definition.
1080    ///
1081    /// The values are not transformed in any way and thus are considered stable
1082    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1083    pub fn as_str_name(&self) -> &'static str {
1084        match self {
1085            Self::RttGeneral => "RTT_GENERAL",
1086            Self::RttRotation => "RTT_ROTATION",
1087        }
1088    }
1089    /// Creates an enum from field names used in the ProtoBuf definition.
1090    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1091        match value {
1092            "RTT_GENERAL" => Some(Self::RttGeneral),
1093            "RTT_ROTATION" => Some(Self::RttRotation),
1094            _ => None,
1095        }
1096    }
1097}
1098#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1099#[repr(i32)]
1100pub enum TimeLimitedAccessType {
1101    InvalidTimeLimitedAccessType = 0,
1102    UserAccessToRecord = 1,
1103    UserOrTeamAccessToSharedfolder = 2,
1104    RecordAccessToSharedfolder = 3,
1105    UserAccessToSharedfolder = 4,
1106    TeamAccessToSharedfolder = 5,
1107}
1108impl TimeLimitedAccessType {
1109    /// String value of the enum field names used in the ProtoBuf definition.
1110    ///
1111    /// The values are not transformed in any way and thus are considered stable
1112    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1113    pub fn as_str_name(&self) -> &'static str {
1114        match self {
1115            Self::InvalidTimeLimitedAccessType => "INVALID_TIME_LIMITED_ACCESS_TYPE",
1116            Self::UserAccessToRecord => "USER_ACCESS_TO_RECORD",
1117            Self::UserOrTeamAccessToSharedfolder => "USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER",
1118            Self::RecordAccessToSharedfolder => "RECORD_ACCESS_TO_SHAREDFOLDER",
1119            Self::UserAccessToSharedfolder => "USER_ACCESS_TO_SHAREDFOLDER",
1120            Self::TeamAccessToSharedfolder => "TEAM_ACCESS_TO_SHAREDFOLDER",
1121        }
1122    }
1123    /// Creates an enum from field names used in the ProtoBuf definition.
1124    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1125        match value {
1126            "INVALID_TIME_LIMITED_ACCESS_TYPE" => Some(Self::InvalidTimeLimitedAccessType),
1127            "USER_ACCESS_TO_RECORD" => Some(Self::UserAccessToRecord),
1128            "USER_OR_TEAM_ACCESS_TO_SHAREDFOLDER" => Some(Self::UserOrTeamAccessToSharedfolder),
1129            "RECORD_ACCESS_TO_SHAREDFOLDER" => Some(Self::RecordAccessToSharedfolder),
1130            "USER_ACCESS_TO_SHAREDFOLDER" => Some(Self::UserAccessToSharedfolder),
1131            "TEAM_ACCESS_TO_SHAREDFOLDER" => Some(Self::TeamAccessToSharedfolder),
1132            _ => None,
1133        }
1134    }
1135}
1136#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1137#[repr(i32)]
1138pub enum TimerNotificationType {
1139    NotificationOff = 0,
1140    NotifyOwner = 1,
1141    NotifyPrivilegedUsers = 2,
1142}
1143impl TimerNotificationType {
1144    /// String value of the enum field names used in the ProtoBuf definition.
1145    ///
1146    /// The values are not transformed in any way and thus are considered stable
1147    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1148    pub fn as_str_name(&self) -> &'static str {
1149        match self {
1150            Self::NotificationOff => "NOTIFICATION_OFF",
1151            Self::NotifyOwner => "NOTIFY_OWNER",
1152            Self::NotifyPrivilegedUsers => "NOTIFY_PRIVILEGED_USERS",
1153        }
1154    }
1155    /// Creates an enum from field names used in the ProtoBuf definition.
1156    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1157        match value {
1158            "NOTIFICATION_OFF" => Some(Self::NotificationOff),
1159            "NOTIFY_OWNER" => Some(Self::NotifyOwner),
1160            "NOTIFY_PRIVILEGED_USERS" => Some(Self::NotifyPrivilegedUsers),
1161            _ => None,
1162        }
1163    }
1164}