1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Describes the activity information.
10type Activity struct {
11
12	// Metadata of the commenting activity. This is an optional field and is filled for
13	// commenting activities.
14	CommentMetadata *CommentMetadata
15
16	// The user who performed the action.
17	Initiator *UserMetadata
18
19	// Indicates whether an activity is indirect or direct. An indirect activity
20	// results from a direct activity performed on a parent resource. For example,
21	// sharing a parent folder (the direct activity) shares all of the subfolders and
22	// documents within the parent folder (the indirect activity).
23	IsIndirectActivity bool
24
25	// The ID of the organization.
26	OrganizationId *string
27
28	// The original parent of the resource. This is an optional field and is filled for
29	// move activities.
30	OriginalParent *ResourceMetadata
31
32	// The list of users or groups impacted by this action. This is an optional field
33	// and is filled for the following sharing activities: DOCUMENT_SHARED,
34	// DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.
35	Participants *Participants
36
37	// The metadata of the resource involved in the user action.
38	ResourceMetadata *ResourceMetadata
39
40	// The timestamp when the action was performed.
41	TimeStamp *time.Time
42
43	// The activity type.
44	Type ActivityType
45}
46
47// Describes a comment.
48type Comment struct {
49
50	// The ID of the comment.
51	//
52	// This member is required.
53	CommentId *string
54
55	// The details of the user who made the comment.
56	Contributor *User
57
58	// The time that the comment was created.
59	CreatedTimestamp *time.Time
60
61	// The ID of the parent comment.
62	ParentId *string
63
64	// If the comment is a reply to another user's comment, this field contains the
65	// user ID of the user being replied to.
66	RecipientId *string
67
68	// The status of the comment.
69	Status CommentStatusType
70
71	// The text of the comment.
72	Text *string
73
74	// The ID of the root comment in the thread.
75	ThreadId *string
76
77	// The visibility of the comment. Options are either PRIVATE, where the comment is
78	// visible only to the comment author and document owner and co-owners, or PUBLIC,
79	// where the comment is visible to document owners, co-owners, and contributors.
80	Visibility CommentVisibilityType
81}
82
83// Describes the metadata of a comment.
84type CommentMetadata struct {
85
86	// The ID of the comment.
87	CommentId *string
88
89	// The status of the comment.
90	CommentStatus CommentStatusType
91
92	// The user who made the comment.
93	Contributor *User
94
95	// The timestamp that the comment was created.
96	CreatedTimestamp *time.Time
97
98	// The ID of the user being replied to.
99	RecipientId *string
100}
101
102// Describes the document.
103type DocumentMetadata struct {
104
105	// The time when the document was created.
106	CreatedTimestamp *time.Time
107
108	// The ID of the creator.
109	CreatorId *string
110
111	// The ID of the document.
112	Id *string
113
114	// List of labels on the document.
115	Labels []string
116
117	// The latest version of the document.
118	LatestVersionMetadata *DocumentVersionMetadata
119
120	// The time when the document was updated.
121	ModifiedTimestamp *time.Time
122
123	// The ID of the parent folder.
124	ParentFolderId *string
125
126	// The resource state.
127	ResourceState ResourceStateType
128}
129
130// Describes a version of a document.
131type DocumentVersionMetadata struct {
132
133	// The timestamp when the content of the document was originally created.
134	ContentCreatedTimestamp *time.Time
135
136	// The timestamp when the content of the document was modified.
137	ContentModifiedTimestamp *time.Time
138
139	// The content type of the document.
140	ContentType *string
141
142	// The timestamp when the document was first uploaded.
143	CreatedTimestamp *time.Time
144
145	// The ID of the creator.
146	CreatorId *string
147
148	// The ID of the version.
149	Id *string
150
151	// The timestamp when the document was last uploaded.
152	ModifiedTimestamp *time.Time
153
154	// The name of the version.
155	Name *string
156
157	// The signature of the document.
158	Signature *string
159
160	// The size of the document, in bytes.
161	Size *int64
162
163	// The source of the document.
164	Source map[string]string
165
166	// The status of the document.
167	Status DocumentStatusType
168
169	// The thumbnail of the document.
170	Thumbnail map[string]string
171}
172
173// Describes a folder.
174type FolderMetadata struct {
175
176	// The time when the folder was created.
177	CreatedTimestamp *time.Time
178
179	// The ID of the creator.
180	CreatorId *string
181
182	// The ID of the folder.
183	Id *string
184
185	// List of labels on the folder.
186	Labels []string
187
188	// The size of the latest version of the folder metadata.
189	LatestVersionSize *int64
190
191	// The time when the folder was updated.
192	ModifiedTimestamp *time.Time
193
194	// The name of the folder.
195	Name *string
196
197	// The ID of the parent folder.
198	ParentFolderId *string
199
200	// The resource state of the folder.
201	ResourceState ResourceStateType
202
203	// The unique identifier created from the subfolders and documents of the folder.
204	Signature *string
205
206	// The size of the folder metadata.
207	Size *int64
208}
209
210// Describes the metadata of a user group.
211type GroupMetadata struct {
212
213	// The ID of the user group.
214	Id *string
215
216	// The name of the group.
217	Name *string
218}
219
220// Set of options which defines notification preferences of given action.
221type NotificationOptions struct {
222
223	// Text value to be included in the email body.
224	EmailMessage *string
225
226	// Boolean value to indicate an email notification should be sent to the
227	// receipients.
228	SendEmail bool
229}
230
231// Describes the users or user groups.
232type Participants struct {
233
234	// The list of user groups.
235	Groups []GroupMetadata
236
237	// The list of users.
238	Users []UserMetadata
239}
240
241// Describes the permissions.
242type PermissionInfo struct {
243
244	// The role of the user.
245	Role RoleType
246
247	// The type of permissions.
248	Type RolePermissionType
249}
250
251// Describes a resource.
252type Principal struct {
253
254	// The ID of the resource.
255	Id *string
256
257	// The permission information for the resource.
258	Roles []PermissionInfo
259
260	// The type of resource.
261	Type PrincipalType
262}
263
264// Describes the metadata of a resource.
265type ResourceMetadata struct {
266
267	// The ID of the resource.
268	Id *string
269
270	// The name of the resource.
271	Name *string
272
273	// The original name of the resource before a rename operation.
274	OriginalName *string
275
276	// The owner of the resource.
277	Owner *UserMetadata
278
279	// The parent ID of the resource before a rename operation.
280	ParentId *string
281
282	// The type of resource.
283	Type ResourceType
284
285	// The version ID of the resource. This is an optional field and is filled for
286	// action on document version.
287	VersionId *string
288}
289
290// Describes the path information of a resource.
291type ResourcePath struct {
292
293	// The components of the resource path.
294	Components []ResourcePathComponent
295}
296
297// Describes the resource path.
298type ResourcePathComponent struct {
299
300	// The ID of the resource path.
301	Id *string
302
303	// The name of the resource path.
304	Name *string
305}
306
307// Describes the recipient type and ID, if available.
308type SharePrincipal struct {
309
310	// The ID of the recipient.
311	//
312	// This member is required.
313	Id *string
314
315	// The role of the recipient.
316	//
317	// This member is required.
318	Role RoleType
319
320	// The type of the recipient.
321	//
322	// This member is required.
323	Type PrincipalType
324}
325
326// Describes the share results of a resource.
327type ShareResult struct {
328
329	// The ID of the invited user.
330	InviteePrincipalId *string
331
332	// The ID of the principal.
333	PrincipalId *string
334
335	// The role.
336	Role RoleType
337
338	// The ID of the resource that was shared.
339	ShareId *string
340
341	// The status.
342	Status ShareStatusType
343
344	// The status message.
345	StatusMessage *string
346}
347
348// Describes the storage for a user.
349type StorageRuleType struct {
350
351	// The amount of storage allocated, in bytes.
352	StorageAllocatedInBytes *int64
353
354	// The type of storage.
355	StorageType StorageType
356}
357
358// Describes a subscription.
359type Subscription struct {
360
361	// The endpoint of the subscription.
362	EndPoint *string
363
364	// The protocol of the subscription.
365	Protocol SubscriptionProtocolType
366
367	// The ID of the subscription.
368	SubscriptionId *string
369}
370
371// Describes the upload.
372type UploadMetadata struct {
373
374	// The signed headers.
375	SignedHeaders map[string]string
376
377	// The URL of the upload.
378	UploadUrl *string
379}
380
381// Describes a user.
382type User struct {
383
384	// The time when the user was created.
385	CreatedTimestamp *time.Time
386
387	// The email address of the user.
388	EmailAddress *string
389
390	// The given name of the user.
391	GivenName *string
392
393	// The ID of the user.
394	Id *string
395
396	// The locale of the user.
397	Locale LocaleType
398
399	// The time when the user was modified.
400	ModifiedTimestamp *time.Time
401
402	// The ID of the organization.
403	OrganizationId *string
404
405	// The ID of the recycle bin folder.
406	RecycleBinFolderId *string
407
408	// The ID of the root folder.
409	RootFolderId *string
410
411	// The status of the user.
412	Status UserStatusType
413
414	// The storage for the user.
415	Storage *UserStorageMetadata
416
417	// The surname of the user.
418	Surname *string
419
420	// The time zone ID of the user.
421	TimeZoneId *string
422
423	// The type of user.
424	Type UserType
425
426	// The login name of the user.
427	Username *string
428}
429
430// Describes the metadata of the user.
431type UserMetadata struct {
432
433	// The email address of the user.
434	EmailAddress *string
435
436	// The given name of the user before a rename operation.
437	GivenName *string
438
439	// The ID of the user.
440	Id *string
441
442	// The surname of the user.
443	Surname *string
444
445	// The name of the user.
446	Username *string
447}
448
449// Describes the storage for a user.
450type UserStorageMetadata struct {
451
452	// The storage for a user.
453	StorageRule *StorageRuleType
454
455	// The amount of storage used, in bytes.
456	StorageUtilizedInBytes *int64
457}
458