github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/meeting/v1/conferences/results.go (about) 1 package conferences 2 3 type Conference struct { 4 // Meeting ID. The length is limited to 32 characters. 5 ID string `json:"conferenceID"` 6 // Conference theme. The length is limited to 128 characters. 7 Subject string `json:"subject"` 8 // The number of parties in the meeting. 9 Size int `json:"size"` 10 // The time zone information of the meeting time in the meeting notification. 11 // For time zone information, refer to the time zone mapping relationship. 12 // For example: "timeZoneID": "26", the time in the meeting notice sent through HUAWEI CLOUD meeting will be marked 13 // as "2021/11/11 Thursday 00:00 - 02:00 (GMT) Greenwich Standard When: Dublin, Edinburgh, Lisbon, London". 14 TimeZoneId string `json:"timeZoneID"` 15 // The meeting start time (YYYY-MM-DD HH:MM). 16 StartTime string `json:"startTime"` 17 // The meeting end time (YYYY-MM-DD HH:MM). 18 EndTime string `json:"endTime"` 19 // The media type of the meeting. 20 // It consists of one or more enumeration Strings. 21 // When there are multiple enumerations, each enumeration value is separated by "," commas. 22 // Voice: Voice. 23 // Video: SD video. 24 // HDVideo: high-definition video (mutually exclusive with "Video", if "Video" and "HDVideo" are selected at the 25 // same time, the system selects "Video" by default). 26 // Telepresence: Telepresence (mutually exclusive with "HDVideo" and "Video", if selected at the same time, the 27 // system uses "Telepresence"). (reserved field) 28 // Data: Multimedia. 29 MediaTypes string `json:"mediaTypes"` 30 // Currently, only the Created and Scheduled states will be returned. If the meeting has been held, the Created 31 // state will be returned, otherwise, the Scheduled state will be returned. 32 // Schedule: Schedule status. 33 // Creating: The state is being created. 34 // Created: The meeting has been created and is in progress. 35 // Destroyed: The meeting has been closed. 36 ConferenceState string `json:"conferenceState"` 37 // Conference language. 38 Language string `json:"language"` 39 // Conference access code. 40 AccessNumber string `json:"accessNumber"` 41 // Meeting password entry. The subscriber returns the host password and guest password. 42 // The host password is returned when the host queries. 43 // The guest password is returned when the guest is queried. 44 PasswordEntry []PasswordEntry `json:"passwordEntry"` 45 // The UUID of the meeting booker. 46 UserUUID string `json:"userUUID"` 47 // Meeting booker account name. The maximum length is limited to 96 characters. 48 ScheduserName string `json:"scheduserName"` 49 // Conference type (Parameters used by the front-end). 50 // 0 : Normal meeting. 51 // 2 : Periodic meeting. 52 ConferenceType int `json:"conferenceType"` 53 // Conference type. 54 // FUTURE 55 // IMMEDIATELY 56 // CYCLE 57 ConfType string `json:"confType"` 58 // Periodic meeting parameters. Carry this parameter when the conference is a periodic conference. 59 // This parameter includes the start date, end date of the periodic meeting, the period of the meeting and the 60 // meeting time point in the period. 61 CycleParams CycleParams `json:"cycleParams"` 62 // Whether to automatically mute the session. 63 // 0 : Do not mute automatically. 64 // 1 : Auto mute. 65 IsAutoMute int `json:"isAutoMute"` 66 // Whether to automatically start recording. 67 // 0 : Do not start automatically. 68 // 1 : start automatically. 69 IsAutoRecord int `json:"isAutoRecord"` 70 // Host meeting link address. 71 ChairJoinUri string `json:"chairJoinUri"` 72 // Common attendee meeting link address. The maximum length is 1024. 73 GuestJoinUri string `json:"guestJoinUri"` 74 // Audience meeting link address. The maximum length is 1024. (webinar scenario) 75 AudienceJoinUri string `json:"audienceJoinUri"` 76 // Recording type. 77 // 0: Disabled. 78 // 1: Live broadcast. 79 // 2: Record and broadcast. 80 // 3: Live + Recording. 81 RecordType int `json:"recordType"` 82 // Auxiliary stream live address. 83 AuxAddress string `json:"auxAddress"` 84 // Mainstream live broadcast address. 85 LiveAddress string `json:"liveAddress"` 86 // Whether to record auxiliary streams. 87 // 0: No. 88 // 1: Yes. 89 RecordAuxStream int `json:"recordAuxStream"` 90 // Recording and broadcasting authentication method. 91 // The recording type is: recording, live+recording, and it is valid. 92 // 0: Viewable/downloadable via link. 93 // 1: Enterprise users can watch/download. 94 // 2: Attendees can watch/download. 95 RecordAuthType int `json:"recordAuthType"` 96 // Live address. (It will be returned when the live room is configured) 97 LiveUrl string `json:"liveUrl"` 98 // Other configuration information for the conference. 99 Configuration Configuration `json:"confConfigInfo"` 100 // Whether to use the cloud conference room to hold a reservation meeting. 101 // 0: Do not use cloud conference room. 102 // 1: Use cloud conference room. 103 // The interface shows that the conference ID needs to use "vmrConferenceID" as the conference ID; 104 // the "conferenceID" field is still used for conference business operations such as querying conference details, 105 // logging in to conference control, and typing in a conference. 106 VmrFlag int `json:"vmrFlag"` 107 // Only the historical conference return value is valid. There are no recording files by default. 108 // true: There is a recording file. 109 // false: No recording file. 110 IsHasRecordFile bool `json:"isHasRecordFile"` 111 // The conference ID of the cloud conference room. If "vmrFlag" is "1", this field is not empty. 112 VmrConferenceId string `json:"vmrConferenceID"` 113 // The UUID of the meeting. 114 // The UUID is only returned when a meeting that starts immediately is created. 115 // If it is a future meeting, the UUID will not be returned. 116 // You can get the UUID of the historical conference through "Query Historical Conference List". 117 ConfUUID string `json:"confUUID"` 118 // Information about some of the invited participants. 119 // Only the first 20 soft terminal participant information and the first 20 hard terminal participant information 120 // are returned. Do not return the information of participants who actively joined in the conference. 121 // The "Query Conference List" and "Query Conference Details" interfaces return the participants who were invited 122 // when the conference was scheduled and the participants who were invited by the host in the conference. 123 // The "Query Online Conference List", "Query Online Conference Details", "Query History Conference List" and "Query 124 // History Conference Details" interfaces return the participants who were invited when the conference was 125 // scheduled. Attendees invited by the host in the meeting are not returned. 126 Participants []ParticipantResp `json:"partAttendeeInfo"` 127 // Number of hard terminals, such as IdeaHub, TE30, etc. 128 TerminlCount int `json:"terminlCount"` 129 // The number of common terminals, such as PC terminal, mobile terminal app, etc. 130 NormalCount int `json:"normalCount"` 131 // The business name of the meeting booker. Maximum length 96. 132 DeptName string `json:"deptName"` 133 // Attendee role. 134 // chair : Chair. 135 // general : The guest. 136 // audience : The audience. 137 Role string `json:"role"` 138 // Identifies whether it is a multi-stream video conference. 139 // 1 : Multi-stream conference. 140 MultiStreamFlag int `json:"multiStreamFlag"` 141 // Webinar or not. 142 Webinar bool `json:"webinar"` 143 // Type of meeting. 144 // COMMON : Normal conference. 145 // RTC : RTC conference. 146 ConfMode string `json:"confMode"` 147 // VMR appointment record. 148 // true : VMR conference. 149 // false : Normal meeting. 150 ScheduleVmr bool `json:"scheduleVmr"` 151 // The UUID of the cloud meeting room. 152 VmrId string `json:"vmrID"` 153 // The number of parties in the conference, the maximum number of participants in the conference. 154 ConcurrentParticipants int `json:"concurrentParticipants"` 155 // Current multi-screen information. 156 PicDisplay MultipicDisplayDo `json:"picDisplay"` 157 // List of periodic sub-conferences. 158 Subconferences []SubConference `json:"subConfs"` 159 // The UUID of the first cycle subconference. 160 CycleSubConfId string `json:"cycleSubConfID"` 161 } 162 163 type PasswordEntry struct { 164 // Conference role. 165 // chair: The host of the meeting. 166 // general: General participants. 167 ConferenceRole string `json:"conferenceRole"` 168 // The password (clear text) of the role in the meeting. 169 Password string `json:"password"` 170 } 171 172 type ParticipantResp struct { 173 // Attendee name or nickname. The length is limited to 96 characters. 174 Name string `json:"name"` 175 // Phone number (support SIP, TEL number format). Maximum of 127 characters. 176 // At least one of phone, email and sms must be filled in. 177 // When "type" is "telepresence" and the device is a three-screen telepresence, fill in the number of the middle 178 // screen in this field. (Three-screen telepresence is a reserved field) 179 Phone string `json:"phone"` 180 // The default value is defined by the conference AS, and the number type is enumerated as follows: 181 // "normal": soft terminal. 182 // "telepresence": telepresence. Single-screen and triple-screen telepresence belong to this category. (reserved) 183 // "terminal": conference room or hard terminal. 184 // "outside": The outside participant. 185 // "mobile": User's mobile phone number. 186 // "telephone": The user's landline phone. (reserved field) 187 Type string `json:"type"` 188 } 189 190 type MultipicDisplayDo struct { 191 // Whether to set multi-screen manually. 192 // 0: The system automatically multi-screen. 193 // 1: Manually set multi-screen. 194 ManualSet int `json:"manualSet"` 195 // Screen Type, value range: 196 // Single: single screen 197 // Two: Two pictures 198 // Three: Three pictures 199 // Three-2: Three pictures-2 200 // Three-3: Three pictures-3 201 // Three-4: Three pictures-4 202 // Four: Quad Picture 203 // Four-2: Quad Picture-2 204 // Four-3: Quad Picture-3 205 // Five: Five pictures 206 // Five-2: Five pictures-2 207 // Six: Six pictures 208 // Six-2: Six pictures-2 209 // Six-3: Six pictures-3 210 // Six-4: Six pictures-4 211 // Six-5: Six pictures-5 212 // Seven: Seven pictures 213 // Seven-2: Seven pictures-2 214 // Seven-3: Seven pictures-3 215 // Seven-4: Seven pictures-4 216 // Eight: Eight-picture 217 // Eight-2: Eight-picture-2 218 // Eight-3: Eight-picture-3 219 // Eight-4: Eight-picture-4 220 // Nine: Nine pictures 221 // Ten: Ten pictures 222 // Ten-2: Ten pictures-2 223 // Ten-3: Ten pictures-3 224 // Ten-4: Ten pictures-4 225 // Ten-5: Ten pictures-5 226 // Ten-6: Ten pictures-6 227 // Thirteen: Thirteen pictures 228 // Thirteen-2: Thirteen pictures-2 229 // Thirteen-3: Thirteen pictures-3 230 // Thirteen-4: Thirteen pictures-4 231 // Thirteen-5: Thirteen pictures-5 232 // ThirteenR: Thirteen Frames R 233 // ThirteenM: Thirteen Frames M 234 // Sixteen: Sixteen screen 235 // Seventeen: Seventeen pictures 236 // Twenty-Five: Twenty-Five 237 // Custom: custom multi-screen 238 ImageType string `json:"imageType"` 239 // Subscreen list. 240 SubscriberInPics []PicInfoNotify `json:"subscriberInPics"` 241 // Indicates the polling interval, in seconds. 242 // This parameter is valid when there are multiple video sources in the same sub-picture. 243 SwitchTime string `json:"switchTime"` 244 // Customize multi-screen layout information. 245 PicLayout PicLayout `json:"picLayoutInfo"` 246 } 247 248 type PicInfoNotify struct { 249 // The number of each screen in the multi-screen, starting from 1. 250 Index int `json:"index"` 251 // Session ID in each screen, namely callNumber. 252 Id []string `json:"id"` 253 // Whether it is an auxiliary stream. 254 // 0: Not an auxiliary stream. 255 // 1: It is an auxiliary stream. 256 Share int `json:"share"` 257 } 258 259 type PicLayout struct { 260 // The number of horizontal small grids. 261 X int `json:"x"` 262 // The number of vertical small grids. 263 Y int `json:"y"` 264 // Multi-screen information. 265 SubPicLayouts []SubPicLayout `json:"subPicLayoutInfoList"` 266 } 267 268 type SubPicLayout struct { 269 // Subpicture index. 270 Id int `json:"id"` 271 // The index of the sprite from left to right. 272 Left int `json:"left"` 273 // The index of the sprite from top to bottom. 274 Top int `json:"top"` 275 // The horizontal size of the sprite. 276 XSize int `json:"xSize"` 277 // The vertical size of the sprite. 278 YSize int `json:"ySize"` 279 } 280 281 type SubConference struct { 282 // Subconference UUID 283 UUID string `json:"cycleSubConfID"` 284 // Conference ID, the length is limited to no more than 32 characters 285 ID string `json:"conferenceID"` 286 // The media type of the meeting. It consists of one or more enumeration Strings. 287 // When there are multiple enumerations, each enumeration value is separated by "," commas. 288 // The enumeration values are as follows: 289 // Voice: Voice 290 // Video: SD video 291 // HDVideo: high-definition video (mutually exclusive with Video, if Video and HDVideo are selected at the same 292 // time, the system defaults to Video) 293 // Telepresence: Telepresence (mutually exclusive with HDVideo and Video, if selected at the same time, the system 294 // uses Telepresence) - not supported yet 295 // Data: Multimedia 296 MediaType string `json:"mediaType"` 297 // Conference start time (format: YYYY-MM-DD HH:MM) 298 StartTime string `json:"startTime"` 299 // Conference end time (format: YYYY-MM-DD HH:MM) 300 EndTime string `json:"endTime"` 301 // Whether to automatically start recording. 302 IsAutoRecord int `json:"isAutoRecord"` 303 // The recording and broadcasting authentication method is valid when the recording and broadcasting types are: 304 // recording and broadcasting, live broadcast + recording and broadcasting. 305 // 0 is the old authentication method, and the url carries token authentication. 306 // 1 is user authentication for intra-enterprise conferences. 307 // 2 is the user authentication for the conference within the conference. 308 RecordAuthType int `json:"recordAuthType"` 309 // Meeting description, the length is limited to 200 characters. 310 Description string `json:"description"` 311 // Other configuration information of periodic subconferences. 312 SubConfiguration SubConfiguration `json:"confConfigInfo"` 313 } 314 315 type SubConfiguration struct { 316 // The range to allow incoming calls. 317 // 0: All users. 318 // 2: Users within the enterprise. 319 // 3: The invited user. 320 CallInRestriction int `json:"callInRestriction"` 321 // The range that the webinar audience is allowed to call in. 322 // 0 for all users. 323 // 2 Enterprise users and invited users. 324 AudienceCallInRestriction int `json:"audienceCallInRestriction"` 325 // Whether to allow guests to start meetings (only random meeting IDs are valid). 326 // true: Allows guests to start meetings. 327 // false: Disables guests from starting meetings. 328 AllowGuestStartConf bool `json:"allowGuestStartConf"` 329 // Whether to enable waiting room. 330 EnableWaitingRoom bool `json:"enableWaitingRoom"` 331 // Webinar Audience Display Strategy. 332 ShowAudiencePolicy ShowAudiencePolicy `json:"showAudienceCountInfo"` 333 } 334 335 type ShowAudiencePolicy struct { 336 // Audience display strategy: The server is used to calculate the number of audiences and send it to the client to 337 // control the audience display. 338 // 0: do not display. 339 // 1: Multiply display the number of participants, based on the real-time number of participants or the cumulative 340 // number of participants (assuming N), the multiplication setting can be performed. 341 // Notes: Supports setting the multiplier X and the base number Y. 342 // After setting, the number of people displayed is: NX+Y. 343 // X supports setting to 1 decimal place. When NX calculates a non-integer, it will be rounded down. 344 // The range of X is 1~10, and the range of Y is 0~10000. 345 ShowAudienceMode int `json:"showAudienceMode"` 346 // The basic number of people, the range is 0~10000 347 BaseAudienceCount int `json:"baseAudienceCount"` 348 // Multiplier, the range is 1~10, it can be set to 1 decimal place 349 Multiple float64 `json:"multiple"` 350 } 351 352 type GetResp struct { 353 Conference Conference `json:"conferenceData"` 354 Data PageParticipant `json:"data"` 355 } 356 357 type PageParticipant struct { 358 // The number of records per page. 359 Limit int `json:"limit"` 360 // total number of the participants. 361 Count int `json:"count"` 362 // The offset of the number of records, how many records there are before this page. 363 Offset int `json:"offset"` 364 // Invited attendee information. It includes the attendees invited when the meeting was scheduled and the attendees 365 // invited by the host during the meeting. 366 // Do not return the information of participants who actively joined in the conference. 367 Participants []ParticipantDetail `json:"data"` 368 } 369 370 type ParticipantDetail struct { 371 // The participant's number. 372 ID string `json:"participantID"` 373 // The name (nickname) of the attendee. 374 Name string `json:"name"` 375 // role in the meeting. 376 // 1: The meeting host. 377 // 0: Regular attendees.v 378 Role int `json:"role"` 379 // user status. Currently fixed return to MEETING. 380 State string `json:"state"` 381 // Information about the conference room where the terminal is located. (reserved field) 382 Address string `json:"address"` 383 // The default value is defined by the conference AS. 384 // normal: soft terminal. 385 // telepresence: telepresence. Single-screen and triple-screen telepresence belong to this category. (reserved field) 386 // terminal: conference room or hard terminal. 387 // outside: The outside participant. 388 // mobile: User's mobile phone number. 389 // telephone: The user's landline phone. (reserved field) 390 Type string `json:"attendeeType"` 391 // The account ID of the participant. 392 // In the case of account/password authentication, it indicates the ID of the HUAWEI CLOUD conference account. 393 // If it is an APP ID authentication scenario, it indicates the User ID of a third party. 394 AccountId string `json:"accountId"` 395 // email address. Maximum of 255 characters. 396 Email string `json:"email"` 397 // Mobile number for SMS notification. Maximum of 127 characters. 398 SMS string `json:"sms"` 399 // Department name. Maximum of 96 characters. 400 DeptName string `json:"deptName"` 401 // Subscriber's user UUID. 402 UserUUID string `json:"userUUID"` 403 // App ID, application identification, an application only needs to be created once, refer to "App ID application". 404 AppId string `json:"appId"` 405 // Whether to automatically invite this attendee when the meeting starts. 406 // The default value is determined by the enterprise-level configuration. 407 // 0: do not automatically invite 408 // 1: auto-invite 409 IsAutoInvite int `json:"isAutoInvite"` 410 // Whether to not superimpose the venue name 411 // true: no overlay 412 // false: overlay 413 IsNotOverlayPidName bool `json:"isNotOverlayPidName"` 414 } 415 416 type AuthResp struct { 417 // Token information. 418 TokenDetail TokenDetail `json:"data"` 419 // Query the temporary token in the address book. 420 AddressToken string `json:"addressToken"` 421 // Global external network IP. 422 GloablPublicIP string `json:"gloablPublicIP"` 423 } 424 425 type TokenDetail struct { 426 // Conference control authentication token. 427 Token string `json:"token"` 428 //The websocket chain building authentication Token. 429 TmpWsToken string `json:"tmpWsToken"` 430 // The websocket linking URL. 431 WsURL string `json:"wsURL"` 432 // The roles in the conference, the enumeration values are as follows. 433 // 0 : Conference chairperson. 434 // 1 : Regular attendees. 435 Role int `json:"role"` 436 // Session expiration time. UTC time in milliseconds. 437 ExpireTime int `json:"expireTime"` 438 // The ID of the conference booker. 439 UserID string `json:"userID"` 440 // ID of the company to which the conference belongs. 441 OrgID string `json:"orgID"` 442 // When requested by the terminal, the site ID after the terminal joins the conference is returned. 443 ParticipantID string `json:"participantID"` 444 // It will control the time when the token expires. (in seconds) 445 ConfTokenExpireTime int `json:"confTokenExpireTime"` 446 // The current meeting ID of the cloud conference room meeting. 447 VmrCurrentConfID string `json:"vmrCurrentConfID"` 448 // Websocket message push support type. 449 SupportNotifyType []string `json:"supportNotifyType"` 450 } 451 452 type ErrResponse struct { 453 // Error code. 454 Code string `json:"error_code"` 455 // Error message. 456 Message string `json:"error_msg"` 457 }