package main import ( "encoding/json" ) type dynamicObjectRequest struct { Fields map[string]any } func (r *dynamicObjectRequest) UnmarshalJSON(data []byte) error { var payload map[string]any if err := json.Unmarshal(data, &payload); err != nil { return err } r.Fields = payload return nil } func (r dynamicObjectRequest) Doc() Doc { if r.Fields == nil { return Doc{} } return Doc(r.Fields) } type formUpsertRequest struct { dynamicObjectRequest } type liveCourseUpsertRequest struct { dynamicObjectRequest } type liveCourseCohortUpsertRequest struct { dynamicObjectRequest } type liveCourseSessionUpsertRequest struct { dynamicObjectRequest } type liveCourseEnrollmentUpsertRequest struct { dynamicObjectRequest } type liveCourseAttendanceUpsertRequest struct { dynamicObjectRequest } type publicFormResponse struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description,omitempty"` Schema any `json:"schema"` } type publicFormSubmissionCreateResponse struct { ID string `json:"id"` FormID string `json:"formId"` SubmittedAt int64 `json:"submittedAt"` } type learnerLiveCourseJoinResponse struct { Allowed bool `json:"allowed"` CourseID string `json:"courseId"` SessionID string `json:"sessionId"` JoinURL string `json:"joinUrl"` } type billingWebhookResponse struct { Status string `json:"status"` EventID string `json:"eventId"` Message string `json:"message"` }