1package slack
2
3// FileActionEvent represents the File action event
4type fileActionEvent struct {
5	Type           string `json:"type"`
6	EventTimestamp string `json:"event_ts"`
7	File           File   `json:"file"`
8	// FileID is used for FileDeletedEvent
9	FileID string `json:"file_id,omitempty"`
10}
11
12// FileCreatedEvent represents the File created event
13type FileCreatedEvent fileActionEvent
14
15// FileSharedEvent represents the File shared event
16type FileSharedEvent fileActionEvent
17
18// FilePublicEvent represents the File public event
19type FilePublicEvent fileActionEvent
20
21// FileUnsharedEvent represents the File unshared event
22type FileUnsharedEvent fileActionEvent
23
24// FileChangeEvent represents the File change event
25type FileChangeEvent fileActionEvent
26
27// FileDeletedEvent represents the File deleted event
28type FileDeletedEvent fileActionEvent
29
30// FilePrivateEvent represents the File private event
31type FilePrivateEvent fileActionEvent
32
33// FileCommentAddedEvent represents the File comment added event
34type FileCommentAddedEvent struct {
35	fileActionEvent
36	Comment Comment `json:"comment"`
37}
38
39// FileCommentEditedEvent represents the File comment edited event
40type FileCommentEditedEvent struct {
41	fileActionEvent
42	Comment Comment `json:"comment"`
43}
44
45// FileCommentDeletedEvent represents the File comment deleted event
46type FileCommentDeletedEvent struct {
47	fileActionEvent
48	Comment string `json:"comment"`
49}
50