-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeetings.go
169 lines (148 loc) · 7.25 KB
/
meetings.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
package tdproto
type Meeting struct {
Id string `json:"id"`
TeamUuid string `json:"team_uuid,omitempty"`
OwnerContactUuid JID `json:"owner_contact_uuid,omitempty"`
OwnerUserUuid string `json:"owner_user_uuid,omitempty"`
PersonalAccountId string `json:"personal_account_id,omitempty"`
StartAt ISODateTimeString `json:"start_at"`
EndAt ISODateTimeString `json:"end_at"`
Duration int32 `json:"duration"`
Freq *Freq `json:"freq,omitempty"`
IsArchive bool `json:"is_archive,omitempty"`
IsOutside *bool `json:"is_outside,omitempty"`
IsRequired bool `json:"is_required,omitempty"`
CanEdit bool `json:"can_edit,omitempty"`
MeetingMembers []MeetingMember `json:"meeting_members,omitempty"`
VCSEnabled bool `json:"vcs_enabled,omitempty"`
IVCSInfo *IVCSInfo `json:"ivcs_info,omitempty"`
MeetingRecipientStatus MeetingRecipientStatus `json:"meeting_recipient_status"`
Chat
}
type IVCSInfo struct {
ConferenceID string `json:"conference_id,omitempty"`
JoinToken string `json:"join_token,omitempty"`
InviteLink string `json:"invite_link,omitempty"`
}
type MeetingsGetRequest struct {
TeamUuid string `json:"team_uuid"`
DateFrom string `json:"date_from"`
DateTo string `json:"date_to"`
Limit *int32 `json:"limit,omitempty"`
Offset *int32 `json:"offset,omitempty"`
IsArchive *bool `json:"is_archive,omitempty"`
IsFreq *bool `json:"is_freq,omitempty"`
IsPublic *bool `json:"is_public,omitempty"`
IsOutside *bool `json:"is_outside,omitempty"`
IsRequired *bool `json:"is_required,omitempty"`
MembersJids *string `json:"members_jids,omitempty"`
}
type MeetingsResponse struct {
PaginatedMeetings
}
type MeetingsDatesResponse struct {
Dates []string `json:"dates"`
}
type MeetingsCountResponse struct {
CountCells int32 `json:"count_cells"`
CountMeetings int32 `json:"count_meetings"`
}
type MeetingsCreateRequest struct {
OwnerContactUuid JID `json:"owner_contact_uuid"`
TeamUuid string `json:"team_uuid"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
StartAt string `json:"start_at"`
Duration int32 `json:"duration"`
Freq *Freq `json:"freq,omitempty"`
Members []MeetingsMemberCreateParams `json:"members"`
IsPublic bool `json:"is_public,omitempty"`
IsOutside *bool `json:"is_outside,omitempty"`
VCSEnabled bool `json:"vcs_enabled,omitempty"`
}
type Freq struct {
Frequency int32 `json:"frequency"`
FreqDays []int32 `json:"freq_days,omitempty"`
RepeatabilityType MeetingRepeatabilityType `json:"repeatability_type"`
RepeatabilityDescription string `json:"repeatability_description,omitempty"`
}
type MeetingsUpdateRequest struct {
MeetingId string `json:"meeting_id"`
TeamUuid string `json:"team_uuid"`
StartAt *string `json:"start_at,omitempty"`
Duration *int32 `json:"duration,omitempty"`
Freq *Freq `json:"freq,omitempty"`
IsPublic *bool `json:"is_public,omitempty"`
IsOutside *bool `json:"is_outside,omitempty"`
Title *string `json:"title,omitempty"`
Description *string `json:"description,omitempty"`
AddMembers []MeetingsMemberCreateParams `json:"add_members,omitempty"`
RemoveMembers []JID `json:"remove_members,omitempty"`
NotificationsEnabled *bool `json:"notifications_enabled,omitempty"`
CountersEnabled *bool `json:"counters_enabled,omitempty"`
VCSEnabled *bool `json:"vcs_enabled,omitempty"`
}
type MeetingsDeleteRequestParams struct {
TeamUuid string `json:"team_uuid"`
Date ISODateTimeString `json:"date,omitempty"`
}
type MeetingMember struct {
MeetingId string `json:"meeting_id"`
ChatUuid string `json:"chat_uuid"`
Contact Contact `json:"contact"`
Presence MeetingPresenceStatus `json:"presence"`
Status MeetingMemberStatus `json:"status"`
CanChangePresence bool `json:"can_change_presence,omitempty"`
CanChangeStatus bool `json:"can_change_status,omitempty"`
CanRemove bool `json:"can_remove,omitempty"`
}
type MeetingsMembersGetRequestParams struct {
MeetingId string `json:"meeting_id"`
TeamUuid string `json:"team_uuid"`
UuidSections []string `json:"uuid_sections,omitempty"`
Presence *MeetingPresenceStatus `json:"presence,omitempty"`
Status *MeetingMemberStatus `json:"status,omitempty"`
Limit *int32 `json:"limit,omitempty"`
Offset *int32 `json:"offset,omitempty"`
}
type MeetingsMembersResponse struct {
Items []MeetingMember `json:"items"`
Limit *int32 `json:"limit,omitempty"`
Offset *int32 `json:"offset,omitempty"`
Total *int32 `json:"total,omitempty"`
}
type MeetingsMembersCreateRequest struct {
Members []MeetingsMemberCreateParams `json:"members"`
TeamUuid string `json:"team_uuid"`
}
type MeetingsMemberCreateParams struct {
Jid JID `json:"jid"`
Status MeetingMemberStatus `json:"status,omitempty"`
}
type MeetingsMembersCreateResponse struct {
Members []MeetingMember `json:"members,omitempty"`
Errors []string `json:"errors,omitempty"`
}
type MeetingsMembersUpdateRequest struct {
Status MeetingMemberStatus `json:"status,omitempty"`
TeamUuid string `json:"team_uuid"`
}
type MeetingsMembersDeleteRequestParams struct {
TeamUuid string `json:"team_uuid"`
}
type MeetingsMembersBatchDeleteRequestParams struct {
TeamUuid string `json:"team_uuid"`
MembersJids []JID `json:"members_jids"`
}
type MeetingsGetFrequencyDescriptionParams struct {
Frequency int32 `json:"frequency"`
FreqDays *string `json:"freq_days,omitempty"`
RepeatabilityType MeetingRepeatabilityType `json:"repeatability_type"`
}
type MeetingsUpdateCellRequest struct {
MeetingId string `json:"meeting_id"`
TeamUuid string `json:"team_uuid"`
Duration int32 `json:"duration"`
CellStartOldDate string `json:"cell_start_old_date"`
CellStartNewDate string `json:"cell_start_new_date"`
}