0
owncast/handler/generated/generated-types.gen.go
Brenden Ehlers 2513b15b40
Spec-based API (#3653)
* chore(deps): update dependency sass to v1.74.1

* Bundle embedded web app

* chore(deps): update dependency typescript to v5.4.4

* Bundle embedded web app

* Commit screenshots

* fix(deps): update module github.com/yuin/goldmark to v1.7.1

* chore(deps): lock file maintenance (#3662)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency @types/node to v20.12.5

* Bundle embedded web app

* fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.3

* fix(deps): update module github.com/aws/aws-sdk-go to v1.51.17

* fix(deps): update module golang.org/x/net to v0.24.0

* fix(deps): update module golang.org/x/mod to v0.17.0

* add get admin chat clients

* comment out old code

* add get admin logs

* add get admin warnings

* add get admin chat

* add post admin chat messageVisibility

* add post admin chat users enabled

* add post admin chat users ipban create

* add post admin chat users ipban remove

* add get admin chat users ipbans

* chore(deps): update dependency sass-loader to v14 (#3674)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v7 (#3680)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency less-loader to v12 (#3673)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency chromatic to v11 (#3669)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency knip to v5 (#3672)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update nick-fields/retry action to v3 (#3678)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/markdown-it to v14 (#3668)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update chromaui/action action to v11 (#3666)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Bump version number

* Bundle embedded web app

* Bundle embedded web app

* Bundle embedded web app

* fix(deps): update dependency react-virtuoso to v4.7.8

* Commit screenshots

* Bundle embedded web app

* Optionally disable chat rate limiter and add optional chat slur/language filter (#3681)

* feat(chat): basic profanity filter. For #3139

* feat(chat): add setting for disabling chat spam protection. Closes #3523

* feat(chat): wire up the new chat slur filter to admin and chat. Closes #3139

* Bundle embedded web app

* chore(deps): update peter-evans/create-or-update-comment digest to 48bb05b

* fix(deps): update dependency @codemirror/language-data to v6.5.0

* Bundle embedded web app

* chore(deps): update dependency css-loader to v7 (#3670)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* add get admin chat users disabled

* add get admin chat users setModerator

* add get admin chat users moderators

* add get admin followers

* chore(deps): update tj-actions/changed-files action to v44 (#3679)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Fix for copying stream key without revealing it only copies asterisks (#3663)

* asterisk copy fix for #3460

* rename text to keys for consistency + linting fix

* make onCopy spawn an antd message directly, remove redundant copyText function

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Commit updated Storybook stories

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency css-loader to v7.1.0

* Bundle embedded web app

* chore(deps): update typescript-eslint monorepo to v7.6.0

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.75 (#3686)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* stream offline status embed updated (#3684)

* Commit screenshots

* add get admin followers pending

* add get admin followers blocked

* add post admin followers approve

* add 400 error to admin requests

* add post admin emoji upload

* add post admin emoji delete

* add post admin config adminpass

* add post admin config streamkeys

* add post admin config pagecontent

* add post admin config streamtitle

* add post admin config streamtitle

* add post admin config serversummary

* add post admin config offlinemessage

* add post admin config welcomemessage

* add post admin config chat disable

* add post admin config chat joinmessageenabled

* add post admin config chat establishedusermode

* add post admin config chat forbiddenusernames

* add post admin config chat suggestedusernames

* add post admin config video codec

* add post admin config appearance

* Allow react/no-danger

* Commit screenshots

* Change tag to self-closing since the linter complains otherwise (#3690)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency css-loader to v7.1.1 (#3691)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency @types/node to v20.12.7 (#3688)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency npm to v10.5.2

* Bundle embedded web app

* chore(deps): update dependency knip to v5.9.4

* Bundle embedded web app

* chore(deps): update dependency typescript to v5.4.5

* Bundle embedded web app

* prevent css-loader v7 renaming default to _default, needed for storybook (#3692)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency cypress to v13.7.3

* Bundle embedded web app

* Fix custom runtimeCaching rules, default runtimeCaching rule order (#3685)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* Fixes for aria-live bugs (#3694)

* make the aria-live text adhere to the last message's username

* Wrap lastMessage in an Interweave to handle pre-encoded characters properly

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.77

* Bundle embedded web app

* chore(deps): update dependency @storybook/addon-styling-webpack to v1 (#3667)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency storybook-addon-fetch-mock to v2 (#3675)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency sass to v1.75.0

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency sass-loader to v14.2.0

* Bundle embedded web app

* fix(deps): update codemirror

* add get admin webhooks

* add create and delete webhooks

* add get, delete, create access token endpoints

* add update endpoints

* Bundle embedded web app

* fix(deps): update nextjs monorepo to v14.2.0

* Bundle embedded web app

* fix(deps): update nextjs monorepo to v14.2.1

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency @types/markdown-it to v14.0.1

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.78

* Bundle embedded web app

* add send message to connected client

* add deprecated send user message

* add send message to 3rd party

* add send user action

* add update external message visibility

* add update external stream title

* add external get chat messages and fixed error with chat

* add external get clients

* remove options request

* add update logo

* add update tags

* add update ffmpeg path

* add update server port

* add update server ip

* add update rtmp port

* add update websocket host override

* add update custom video serving endpoint

* add update nsfw

* add update directory enabled

* Commit screenshots

* add update social handles

* add update stream latency level

* add update stream output variants

* add update s3 config

* add update server url

* add reset yp registration

* add update external action links

* add update custom styles

* add update custom javascript

* add get video metrics

* add update hide viewer count

* add update search indexing

* Change fediAuth message to be more succinct (#3696)

* Change fediAuth message to be more succint

* Update controllers/auth/fediverse/fediverse.go

for -> from

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Mute the 'stream ended' clip's audio (#3630)

* Mute the 'stream ended' clip's audio

The 'stream ended' clip plays at the at the end of every stream broadcast using owncast.
It currently contains audio that peaks at -7.1db. (according to ffmpeg's volumedetect audio filter)
This can result in a bad experience for viewers if the stream that they were just watching had a much lower average volume, and they had turned up their speakers or headphones to compensate. In extreme cases this could theoretically cause harm to viewers and/or their equipment.
As an admin running owncast, there is no way to remove this audio *except* for patching the file. Even if you do patch the file, you need to notify your viewers to clear their browser caches if they have ever seen the clip, because offline.ts has a cache-control max-age header specifying 365 days. The caching of the previous version of this clip is out of scope of this PR.

This issue is discussed in more detail in #1965.

Unlike my previous attempt in #3332, which removed the audio track, this PR *mutes* the audio.

Specifically, I used this ffmpeg command:
```
ffmpeg -i offline.ts -filter:a "volume=0.0" output.ts
```

There are no other modifications to the clip.

* Commit updated API documentation

* feat(video): make compatible muted offline clip. Rename clip as a v2 so it is not cached

* Fix conflict

* force add new offline file

---------

Co-authored-by: vivlim <vivlim@vivl.im>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Commit screenshots

* chore(tests): retry cypress tests on failure

* fix(deps): update module github.com/aws/aws-sdk-go to v1.51.23

* chore(deps): update dependency @types/video.js to v7.3.58 (#3705)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* fix(deps): update dependency @codemirror/language-data to v6.5.1 (#3706)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* add update message visibility

* add update user status

* add get moderation user details

* create file for /admin/config endpoints

* chore(deps): update dependency style-loader to v4 (#3703)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update typescript-eslint monorepo to v7.7.0

* Bundle embedded web app

* add non-api endpoints to new router

* add set federation enabled

* add set federation private

* chore(tests): attempt to clean up test flakiness (#3710)

* chore(deps): update dependency @types/react to v18.2.79

* add show federation engagement

* add set federation username

* add set federation go live message

* add set federation blocked domains

* add set discord notification configuration

* add set browser notification configuration

* add prometheus endpoint

* add send federation message

* add get federation activities

* add indie auth documentation

* add changes to indie auth server

* Bundle embedded web app

* add fediverse auth

* add spam protection and slur filter

* Commit screenshots

* fix bug with hls endpoint

* Add effect to set media session metadata (#3713)

* Bundle embedded web app

* chore(deps): update dependency sass-loader to v14.2.1

* Bundle embedded web app

* Commit screenshots

* fix(deps): update nextjs monorepo to v14.2.2

* Bundle embedded web app

* Commit screenshots

* fix(deps): update dependency react-virtuoso to v4.7.9

* Bundle embedded web app

* chore(deps): update dependency cypress to v13.8.0

* Bundle embedded web app

* Commit screenshots

* chore(deps): lock file maintenance

* Bundle embedded web app

* add options requests and reformat operationIds

* chore(go): update to go 1.22 (#3708)

* chore(go): update to go 1.22

* fix: install go before running codeql to fix autobild

* chore(test): explicitly set base crosscompile image

* fix(test): do not point at image with incorrect version of Go

* chore: troubleshoot js autoformating in workflow

* Commit screenshots

* add wildcard to index path

* give /admin/ routes precedence

* fix(deps): update dependency @fontsource/poppins to v5.0.14

* Bundle embedded web app

* Bump formidable and artillery in /test/load (#3718)

Removes [formidable](https://github.com/node-formidable/formidable). It's no longer used after updating ancestor dependency [artillery](https://github.com/artilleryio/artillery). These dependencies need to be updated together.

Removes `formidable`

Updates `artillery` from 2.0.2 to 2.0.10
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.2...artillery-2.0.10)

---
updated-dependencies:
- dependency-name: formidable
  dependency-type: indirect
- dependency-name: artillery
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Commit screenshots

* chore(deps): update peter-evans/create-or-update-comment digest to da12db3

* fix(deps): update dependency react-virtuoso to v4.7.10

* add verbose logging and update handler precedence

* Bundle embedded web app

* Commit screenshots

* chore(deps): update golangci/golangci-lint-action action to v5 (#3722)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v7.7.1

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency knip to v5.10.0

* Bundle embedded web app

* add federation routers

* updated comments to pass linter

* fix bug with mount

* fix linting errors

* add router logs to log files

* update emoji dir

* fixed linting error

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: mahmed2000 <49453542+mahmed2000@users.noreply.github.com>
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
Co-authored-by: Jeet Chawda <68128367+Jeetch8@users.noreply.github.com>
Co-authored-by: Vivian Lim  <1565930+vivlim@users.noreply.github.com>
Co-authored-by: vivlim <vivlim@vivl.im>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 19:22:27 -07:00

1343 lines
54 KiB
Go

// Package generated provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 DO NOT EDIT.
package generated
import (
"encoding/json"
"time"
"github.com/oapi-codegen/runtime"
)
const (
BasicAuthScopes = "BasicAuth.Scopes"
BearerAuthScopes = "BearerAuth.Scopes"
)
// Defines values for WebhookEventType.
const (
CHAT WebhookEventType = "CHAT"
CHATACTION WebhookEventType = "CHAT_ACTION"
NAMECHANGE WebhookEventType = "NAME_CHANGE"
PING WebhookEventType = "PING"
PONG WebhookEventType = "PONG"
STREAMSTARTED WebhookEventType = "STREAM_STARTED"
STREAMSTOPPED WebhookEventType = "STREAM_STOPPED"
STREAMTITLEUPDATED WebhookEventType = "STREAM_TITLE_UPDATED"
SYSTEM WebhookEventType = "SYSTEM"
USERJOINED WebhookEventType = "USER_JOINED"
USERPARTED WebhookEventType = "USER_PARTED"
VISIBILITYUPDATE WebhookEventType = "VISIBILITY-UPDATE"
)
// ActionMessage defines model for ActionMessage.
type ActionMessage struct {
Body *string `json:"body,omitempty"`
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
}
// AdminConfigValue defines model for AdminConfigValue.
type AdminConfigValue struct {
Value *AdminConfigValue_Value `json:"value,omitempty"`
}
// AdminConfigValueValue0 defines model for .
type AdminConfigValueValue0 = string
// AdminConfigValueValue1 defines model for .
type AdminConfigValueValue1 = bool
// AdminConfigValueValue2 defines model for .
type AdminConfigValueValue2 = []string
// AdminConfigValueValue3 defines model for .
type AdminConfigValueValue3 = float32
// AdminConfigValue_Value defines model for AdminConfigValue.Value.
type AdminConfigValue_Value struct {
union json.RawMessage
}
// AdminFederationConfig defines model for AdminFederationConfig.
type AdminFederationConfig struct {
BlockedDomains *[]string `json:"blockedDomains,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
GoLiveMessage *string `json:"goLiveMessage,omitempty"`
IsPrivate *bool `json:"isPrivate,omitempty"`
ShowEngagement *bool `json:"showEngagement,omitempty"`
Username *string `json:"username,omitempty"`
}
// AdminLog defines model for AdminLog.
type AdminLog struct {
Level *string `json:"level,omitempty"`
Message *string `json:"message,omitempty"`
Time *time.Time `json:"time,omitempty"`
}
// AdminNotificationsConfig defines model for AdminNotificationsConfig.
type AdminNotificationsConfig struct {
Browser *BrowserNotificationConfiguration `json:"browser,omitempty"`
Discord *DiscordNotificationConfiguration `json:"discord,omitempty"`
}
// AdminServerConfig defines model for AdminServerConfig.
type AdminServerConfig struct {
AdminPassword *string `json:"adminPassword,omitempty"`
ChatDisabled *bool `json:"chatDisabled,omitempty"`
ChatEstablishedUserMode *bool `json:"chatEstablishedUserMode,omitempty"`
ChatJoinMessagesEnabled *bool `json:"chatJoinMessagesEnabled,omitempty"`
DisableSearchIndexing *bool `json:"disableSearchIndexing,omitempty"`
ExternalActions *[]ExternalAction `json:"externalActions,omitempty"`
Federation *AdminFederationConfig `json:"federation,omitempty"`
FfmpegPath *string `json:"ffmpegPath,omitempty"`
ForbiddenUsernames *[]string `json:"forbiddenUsernames,omitempty"`
HideViewerCount *bool `json:"hideViewerCount,omitempty"`
InstanceDetails *AdminWebConfig `json:"instanceDetails,omitempty"`
Notifications *AdminNotificationsConfig `json:"notifications,omitempty"`
RtmpServerPort *int `json:"rtmpServerPort,omitempty"`
S3 *S3Info `json:"s3,omitempty"`
SocketHostOverride *string `json:"socketHostOverride,omitempty"`
StreamKeyOverridden *bool `json:"streamKeyOverridden,omitempty"`
StreamKeys *[]StreamKey `json:"streamKeys,omitempty"`
SuggestedUsernames *[]string `json:"suggestedUsernames,omitempty"`
SupportedCodecs *[]string `json:"supportedCodecs,omitempty"`
VideoCodec *string `json:"videoCodec,omitempty"`
VideoServingEndpoint *string `json:"videoServingEndpoint,omitempty"`
VideoSettings *AdminVideoSettings `json:"videoSettings,omitempty"`
WebServerIP *string `json:"webServerIP,omitempty"`
WebServerPort *int `json:"webServerPort,omitempty"`
Yp *AdminYPInfo `json:"yp,omitempty"`
}
// AdminStatus defines model for AdminStatus.
type AdminStatus struct {
Broadcaster *Broadcaster `json:"broadcaster,omitempty"`
CurrentBroadcast *CurrentBroadcast `json:"currentBroadcast,omitempty"`
Health *StreamHealthOverview `json:"health,omitempty"`
Online *bool `json:"online,omitempty"`
OverallPeakViewerCount *int `json:"overallPeakViewerCount,omitempty"`
SessionPeakViewerCount *int `json:"sessionPeakViewerCount,omitempty"`
StreamTitle *string `json:"streamTitle,omitempty"`
VersionNumber *string `json:"versionNumber,omitempty"`
ViewerCount *int `json:"viewerCount,omitempty"`
}
// AdminVideoSettings defines model for AdminVideoSettings.
type AdminVideoSettings struct {
LatencyLevel *int `json:"latencyLevel,omitempty"`
VideoQualityVariants *[]StreamOutputVariant `json:"videoQualityVariants,omitempty"`
}
// AdminWebConfig defines model for AdminWebConfig.
type AdminWebConfig struct {
AppearanceVariables *map[string]string `json:"appearanceVariables,omitempty"`
CustomJavascript *string `json:"customJavascript,omitempty"`
CustomStyles *string `json:"customStyles,omitempty"`
ExtraPageContent *string `json:"extraPageContent,omitempty"`
Logo *string `json:"logo,omitempty"`
Name *string `json:"name,omitempty"`
Nsfw *bool `json:"nsfw,omitempty"`
OfflineMessage *string `json:"offlineMessage,omitempty"`
SocialHandles *[]SocialHandle `json:"socialHandles,omitempty"`
StreamTitle *string `json:"streamTitle,omitempty"`
Summary *string `json:"summary,omitempty"`
Tags *[]string `json:"tags,omitempty"`
Version *string `json:"version,omitempty"`
WelcomeMessage *string `json:"welcomeMessage,omitempty"`
}
// AdminYPInfo defines model for AdminYPInfo.
type AdminYPInfo struct {
Enabled *bool `json:"enabled,omitempty"`
InstanceUrl *string `json:"instanceUrl,omitempty"`
}
// AnonymousUser defines model for AnonymousUser.
type AnonymousUser struct {
AccessToken *string `json:"accessToken,omitempty"`
DisplayName *string `json:"displayName,omitempty"`
Id *string `json:"id,omitempty"`
}
// AuthenticationConfig defines model for AuthenticationConfig.
type AuthenticationConfig struct {
IndieAuthEnabled *bool `json:"indieAuthEnabled,omitempty"`
}
// BaseAPIResponse Simple API response
type BaseAPIResponse struct {
Message *string `json:"message,omitempty"`
Success *bool `json:"success,omitempty"`
}
// Broadcaster defines model for Broadcaster.
type Broadcaster struct {
RemoteAddr *string `json:"remoteAddr,omitempty"`
StreamDetails *InboundStreamDetails `json:"streamDetails,omitempty"`
Time *time.Time `json:"time,omitempty"`
}
// BrowserConfig defines model for BrowserConfig.
type BrowserConfig struct {
Enabled *bool `json:"enabled,omitempty"`
PublicKey *string `json:"publicKey,omitempty"`
}
// BrowserNotificationConfiguration defines model for BrowserNotificationConfiguration.
type BrowserNotificationConfiguration struct {
Enabled *bool `json:"enabled,omitempty"`
GoLiveMessage *string `json:"goLiveMessage,omitempty"`
}
// ChatClient defines model for ChatClient.
type ChatClient struct {
ConnectedAt *time.Time `json:"connectedAt,omitempty"`
Geo *GeoDetails `json:"geo,omitempty"`
MessageCount *int `json:"messageCount,omitempty"`
User *User `json:"user,omitempty"`
UserAgent *string `json:"userAgent,omitempty"`
}
// ChatClients defines model for ChatClients.
type ChatClients = []ChatClient
// ChatMessages defines model for ChatMessages.
type ChatMessages = []ChatMessages_Item
// ChatMessages_Item defines model for ChatMessages.Item.
type ChatMessages_Item struct {
union json.RawMessage
}
// CollectedMetrics defines model for CollectedMetrics.
type CollectedMetrics struct {
Cpu *[]TimestampedValue `json:"cpu,omitempty"`
Disk *[]TimestampedValue `json:"disk,omitempty"`
Memory *[]TimestampedValue `json:"memory,omitempty"`
}
// CurrentBroadcast defines model for CurrentBroadcast.
type CurrentBroadcast struct {
LatencyLevel *LatencyLevel `json:"latencyLevel,omitempty"`
OutputSettings *[]StreamOutputVariant `json:"outputSettings,omitempty"`
}
// DiscordNotificationConfiguration defines model for DiscordNotificationConfiguration.
type DiscordNotificationConfiguration struct {
Enabled *bool `json:"enabled,omitempty"`
GoLiveMessage *string `json:"goLiveMessage,omitempty"`
Webhook *string `json:"webhook,omitempty"`
}
// Emoji Name and url for an emoji
type Emoji struct {
// Name The name of the emoji
Name *string `json:"name,omitempty"`
// Url URL for the emoji image
Url *string `json:"url,omitempty"`
}
// Emojis defines model for Emojis.
type Emojis = []Emoji
// Error Structure for an error response
type Error struct {
Error *string `json:"error,omitempty"`
}
// Event defines model for Event.
type Event struct {
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
}
// ExternalAPIUser defines model for ExternalAPIUser.
type ExternalAPIUser struct {
AccessToken *string `json:"accessToken,omitempty"`
CreatedAt *time.Time `json:"createdAt,omitempty"`
DisplayColor *int `json:"displayColor,omitempty"`
DisplayName *string `json:"displayName,omitempty"`
Id *string `json:"id,omitempty"`
IsBot *bool `json:"isBot,omitempty"`
LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`
Scopes *[]string `json:"scopes,omitempty"`
Type *string `json:"type,omitempty"`
}
// ExternalAction defines model for ExternalAction.
type ExternalAction struct {
Color *string `json:"color,omitempty"`
Description *string `json:"description,omitempty"`
Html *string `json:"html,omitempty"`
Icon *string `json:"icon,omitempty"`
OpenExternally *bool `json:"openExternally,omitempty"`
Title *string `json:"title,omitempty"`
Url *string `json:"url,omitempty"`
}
// FederatedAction defines model for FederatedAction.
type FederatedAction struct {
Body *string `json:"body,omitempty"`
Id *string `json:"id,omitempty"`
Image *string `json:"image,omitempty"`
Link *string `json:"link,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Title *string `json:"title,omitempty"`
Type *string `json:"type,omitempty"`
}
// FederatedActivity defines model for FederatedActivity.
type FederatedActivity struct {
ActorIRI *string `json:"actorIRI,omitempty"`
Iri *string `json:"iri,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
}
// FederationConfig defines model for FederationConfig.
type FederationConfig struct {
Account *string `json:"account,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
FollowerCount *int `json:"followerCount,omitempty"`
}
// Follower defines model for Follower.
type Follower struct {
// DisabledAt When this follower was rejected or disabled.
DisabledAt *string `json:"disabledAt,omitempty"`
// Image The avatar image of the follower.
Image *string `json:"image,omitempty"`
// Link The IRI of the remote actor.
Link *string `json:"link,omitempty"`
// Name The display name of the follower.
Name *string `json:"name,omitempty"`
// Timestamp When this follow request was created.
Timestamp *string `json:"timestamp,omitempty"`
// Username The account username of the remote actor.
Username *string `json:"username,omitempty"`
}
// Followers defines model for Followers.
type Followers = []Follower
// GeoDetails defines model for GeoDetails.
type GeoDetails struct {
CountryCode *string `json:"countryCode,omitempty"`
RegionName *string `json:"regionName,omitempty"`
TimeZone *string `json:"timeZone,omitempty"`
}
// IPAddress defines model for IPAddress.
type IPAddress struct {
CreatedAt *time.Time `json:"createdAt,omitempty"`
IpAddress *string `json:"ipAddress,omitempty"`
Notes *string `json:"notes,omitempty"`
}
// InboundStreamDetails defines model for InboundStreamDetails.
type InboundStreamDetails struct {
AudioBitrate *int `json:"audioBitrate,omitempty"`
AudioCodec *string `json:"audioCodec,omitempty"`
Encoder *string `json:"encoder,omitempty"`
Framerate *float32 `json:"framerate,omitempty"`
Height *int `json:"height,omitempty"`
VideoBitrate *int `json:"videoBitrate,omitempty"`
VideoCodec *string `json:"videoCodec,omitempty"`
Width *int `json:"width,omitempty"`
}
// IndieAuthProfile defines model for IndieAuthProfile.
type IndieAuthProfile struct {
Name *string `json:"name,omitempty"`
Photo *string `json:"photo,omitempty"`
Url *string `json:"url,omitempty"`
}
// IndieAuthResponse defines model for IndieAuthResponse.
type IndieAuthResponse struct {
Error *string `json:"error,omitempty"`
ErrorDescription *string `json:"errorDescription,omitempty"`
Me *string `json:"me,omitempty"`
Profile *IndieAuthProfile `json:"profile,omitempty"`
}
// IndieAuthServerProfile defines model for IndieAuthServerProfile.
type IndieAuthServerProfile struct {
Name *string `json:"name,omitempty"`
Photo *string `json:"photo,omitempty"`
Url *string `json:"url,omitempty"`
}
// IndieAuthServerProfileResponse defines model for IndieAuthServerProfileResponse.
type IndieAuthServerProfileResponse struct {
Error *string `json:"error,omitempty"`
ErrorDescription *string `json:"errorDescription,omitempty"`
Me *string `json:"me,omitempty"`
Profile *IndieAuthServerProfile `json:"profile,omitempty"`
}
// LatencyLevel defines model for LatencyLevel.
type LatencyLevel struct {
Level *int `json:"level,omitempty"`
}
// MessageEvent defines model for MessageEvent.
type MessageEvent struct {
Body *string `json:"body,omitempty"`
}
// MessageVisibilityUpdate defines model for MessageVisibilityUpdate.
type MessageVisibilityUpdate struct {
IdArray *[]string `json:"idArray,omitempty"`
Visible *bool `json:"visible,omitempty"`
}
// ModerationConnectedClient defines model for ModerationConnectedClient.
type ModerationConnectedClient struct {
ConnectedAt *time.Time `json:"connectedAt,omitempty"`
Geo *string `json:"geo,omitempty"`
Id *int64 `json:"id,omitempty"`
MessageCount *int `json:"messageCount,omitempty"`
UserAgent *string `json:"userAgent,omitempty"`
}
// ModerationUserDetails defines model for ModerationUserDetails.
type ModerationUserDetails struct {
ConnectedClients *[]ModerationConnectedClient `json:"connectedClients,omitempty"`
Messages *[]UserMessage `json:"messages,omitempty"`
User *User `json:"user,omitempty"`
}
// NotificationConfig defines model for NotificationConfig.
type NotificationConfig struct {
Browser *BrowserConfig `json:"browser,omitempty"`
}
// PaginatedFederatedActivity defines model for PaginatedFederatedActivity.
type PaginatedFederatedActivity struct {
Results *FederatedActivity `json:"results,omitempty"`
Total *int `json:"total,omitempty"`
}
// PaginatedFollowers defines model for PaginatedFollowers.
type PaginatedFollowers struct {
Results *Followers `json:"results,omitempty"`
Total *int `json:"total,omitempty"`
}
// PlaybackMetrics defines model for PlaybackMetrics.
type PlaybackMetrics struct {
Bandwidth *float64 `json:"bandwidth,omitempty"`
DownloadDuration *float64 `json:"downloadDuration,omitempty"`
Errors *float64 `json:"errors,omitempty"`
Latency *float64 `json:"latency,omitempty"`
QualityVariantChanges *float64 `json:"qualityVariantChanges,omitempty"`
}
// S3Info defines model for S3Info.
type S3Info struct {
AccessKey *string `json:"accessKey,omitempty"`
Acl *string `json:"acl,omitempty"`
Bucket *string `json:"bucket,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Endpoint *string `json:"endpoint,omitempty"`
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
PathPrefix *string `json:"pathPrefix,omitempty"`
Region *string `json:"region,omitempty"`
Secret *string `json:"secret,omitempty"`
}
// SocialHandle defines model for SocialHandle.
type SocialHandle struct {
Icon *string `json:"icon,omitempty"`
Platform *string `json:"platform,omitempty"`
Url *string `json:"url,omitempty"`
}
// Status Response for status
type Status struct {
LastConnectTime *string `json:"lastConnectTime,omitempty"`
LastDisconnectTime *string `json:"lastDisconnectTime,omitempty"`
Online *bool `json:"online,omitempty"`
ServerTime *string `json:"serverTime,omitempty"`
VersionNumber *string `json:"versionNumber,omitempty"`
ViewerCount *int `json:"viewerCount,omitempty"`
}
// StreamHealthOverview defines model for StreamHealthOverview.
type StreamHealthOverview struct {
HealthPercentage *int `json:"healthPercentage,omitempty"`
Healthy *bool `json:"healthy,omitempty"`
Message *string `json:"message,omitempty"`
Representation *int `json:"representation,omitempty"`
}
// StreamKey defines model for StreamKey.
type StreamKey struct {
Comment *string `json:"comment,omitempty"`
Key *string `json:"key,omitempty"`
}
// StreamOutputVariant defines model for StreamOutputVariant.
type StreamOutputVariant struct {
AudioBitrate *int `json:"audioBitrate,omitempty"`
AudioPassthrough *bool `json:"audioPassthrough,omitempty"`
CpuUsageLevel *int `json:"cpuUsageLevel,omitempty"`
Framerate *int `json:"framerate,omitempty"`
Name *string `json:"name,omitempty"`
ScaledHeight *int `json:"scaledHeight,omitempty"`
ScaledWidth *int `json:"scaledWidth,omitempty"`
VideoBitrate *int `json:"videoBitrate,omitempty"`
VideoPassthrough *bool `json:"videoPassthrough,omitempty"`
}
// SystemActionEvent defines model for SystemActionEvent.
type SystemActionEvent struct {
Body *string `json:"body,omitempty"`
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
}
// SystemMessage defines model for SystemMessage.
type SystemMessage struct {
Body *string `json:"body,omitempty"`
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
}
// TimestampedValue defines model for TimestampedValue.
type TimestampedValue struct {
Time *time.Time `json:"time,omitempty"`
Value *float64 `json:"value,omitempty"`
}
// User defines model for User.
type User struct {
Authenticated *bool `json:"authenticated,omitempty"`
CreatedAt *string `json:"createdAt,omitempty"`
DisabledAt *string `json:"disabledAt,omitempty"`
DisplayColor *int `json:"displayColor,omitempty"`
DisplayName *string `json:"displayName,omitempty"`
Id *string `json:"id,omitempty"`
IsBot *bool `json:"isBot,omitempty"`
NameChangedAt *string `json:"nameChangedAt,omitempty"`
PreviousNames *[]string `json:"previousNames,omitempty"`
Scopes *[]string `json:"scopes,omitempty"`
}
// UserEvent defines model for UserEvent.
type UserEvent struct {
ClientId *int `json:"clientId,omitempty"`
HiddenAt *string `json:"hiddenAt,omitempty"`
User *User `json:"user,omitempty"`
}
// UserMessage defines model for UserMessage.
type UserMessage struct {
Body *string `json:"body,omitempty"`
ClientId *int `json:"clientId,omitempty"`
HiddenAt *string `json:"hiddenAt,omitempty"`
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
Type *string `json:"type,omitempty"`
User *User `json:"user,omitempty"`
}
// Users defines model for Users.
type Users = []User
// VideoVariant defines model for VideoVariant.
type VideoVariant struct {
Index *int `json:"index,omitempty"`
Name *string `json:"name,omitempty"`
}
// Viewer defines model for Viewer.
type Viewer struct {
ClientID *string `json:"clientID,omitempty"`
FirstSeen *time.Time `json:"firstSeen,omitempty"`
Geo *GeoDetails `json:"geo,omitempty"`
IpAddress *string `json:"ipAddress,omitempty"`
UserAgent *string `json:"userAgent,omitempty"`
}
// WebConfig defines model for WebConfig.
type WebConfig struct {
AppearanceVariables *map[string]string `json:"appearanceVariables,omitempty"`
Authentication *AuthenticationConfig `json:"authentication,omitempty"`
ChatDisabled *bool `json:"chatDisabled,omitempty"`
CustomStyles *string `json:"customStyles,omitempty"`
ExternalActions *[]ExternalAction `json:"externalActions,omitempty"`
ExtraPageContent *string `json:"extraPageContent,omitempty"`
Federation *FederationConfig `json:"federation,omitempty"`
HideViewerCount *bool `json:"hideViewerCount,omitempty"`
Logo *string `json:"logo,omitempty"`
MaxSocketPayloadSize *int `json:"maxSocketPayloadSize,omitempty"`
Name *string `json:"name,omitempty"`
Notifications *NotificationConfig `json:"notifications,omitempty"`
Nsfw *bool `json:"nsfw,omitempty"`
OfflineMessage *string `json:"offlineMessage,omitempty"`
SocialHandles *[]SocialHandle `json:"socialHandles,omitempty"`
SocketHostOverride *string `json:"socketHostOverride,omitempty"`
StreamTitle *string `json:"streamTitle,omitempty"`
Summary *string `json:"summary,omitempty"`
Tags *[]string `json:"tags,omitempty"`
Version *string `json:"version,omitempty"`
}
// Webhook defines model for Webhook.
type Webhook struct {
Events *[]WebhookEventType `json:"events,omitempty"`
Id *int `json:"id,omitempty"`
LastUsed *time.Time `json:"lastUsed,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty"`
Url *string `json:"url,omitempty"`
}
// WebhookEventType defines model for WebhookEventType.
type WebhookEventType string
// YPDetails defines model for YPDetails.
type YPDetails struct {
Description *string `json:"description,omitempty"`
LastConnectTime *string `json:"lastConnectTime,omitempty"`
Logo *string `json:"logo,omitempty"`
Name *string `json:"name,omitempty"`
Nsfw *bool `json:"nsfw,omitempty"`
Online *bool `json:"online,omitempty"`
OverallMaxViewerCount *int `json:"overallMaxViewerCount,omitempty"`
SessionMaxViewerCount *int `json:"sessionMaxViewerCount,omitempty"`
Social *[]SocialHandle `json:"social,omitempty"`
StreamTitle *string `json:"streamTitle,omitempty"`
Tags *[]string `json:"tags,omitempty"`
ViewerCount *int `json:"viewerCount,omitempty"`
}
// AccessToken defines model for AccessToken.
type AccessToken = string
// IndieAuthClientId defines model for IndieAuthClientId.
type IndieAuthClientId = string
// IndieAuthCode defines model for IndieAuthCode.
type IndieAuthCode = string
// IndieAuthCodeChallenge defines model for IndieAuthCodeChallenge.
type IndieAuthCodeChallenge = string
// IndieAuthRedirectURI defines model for IndieAuthRedirectURI.
type IndieAuthRedirectURI = string
// IndieAuthState defines model for IndieAuthState.
type IndieAuthState = string
// Limit The numbers of items to return
type Limit = int
// Offset The number of items to skip before starting to collect the result set
type Offset = int
// N400 Simple API response
type N400 = BaseAPIResponse
// N500 Structure for an error response
type N500 = Error
// N501 Structure for an error response
type N501 = Error
// Default Simple API response
type Default = BaseAPIResponse
// CreateExternalAPIUserJSONBody defines parameters for CreateExternalAPIUser.
type CreateExternalAPIUserJSONBody struct {
Name *string `json:"name,omitempty"`
Scopes *[]string `json:"scopes,omitempty"`
}
// DeleteExternalAPIUserJSONBody defines parameters for DeleteExternalAPIUser.
type DeleteExternalAPIUserJSONBody struct {
Token *string `json:"token,omitempty"`
}
// UpdateUserEnabledAdminJSONBody defines parameters for UpdateUserEnabledAdmin.
type UpdateUserEnabledAdminJSONBody struct {
Enabled *bool `json:"enabled,omitempty"`
UserId *string `json:"userId,omitempty"`
}
// UpdateUserModeratorJSONBody defines parameters for UpdateUserModerator.
type UpdateUserModeratorJSONBody struct {
IsModerator *bool `json:"isModerator,omitempty"`
UserId *string `json:"userId,omitempty"`
}
// SetCustomColorVariableValuesJSONBody defines parameters for SetCustomColorVariableValues.
type SetCustomColorVariableValuesJSONBody struct {
Value *map[string]string `json:"value,omitempty"`
}
// SetForbiddenUsernameListJSONBody defines parameters for SetForbiddenUsernameList.
type SetForbiddenUsernameListJSONBody struct {
Value *[]string `json:"value,omitempty"`
}
// SetSuggestedUsernameListJSONBody defines parameters for SetSuggestedUsernameList.
type SetSuggestedUsernameListJSONBody struct {
Value *[]string `json:"value,omitempty"`
}
// SetExternalActionsJSONBody defines parameters for SetExternalActions.
type SetExternalActionsJSONBody struct {
Value *[]ExternalAction `json:"value,omitempty"`
}
// SetBrowserNotificationConfigurationJSONBody defines parameters for SetBrowserNotificationConfiguration.
type SetBrowserNotificationConfigurationJSONBody struct {
Value *BrowserNotificationConfiguration `json:"value,omitempty"`
}
// SetDiscordNotificationConfigurationJSONBody defines parameters for SetDiscordNotificationConfiguration.
type SetDiscordNotificationConfigurationJSONBody struct {
Value *DiscordNotificationConfiguration `json:"value,omitempty"`
}
// SetS3ConfigurationJSONBody defines parameters for SetS3Configuration.
type SetS3ConfigurationJSONBody struct {
Value *S3Info `json:"value,omitempty"`
}
// SetSocialHandlesJSONBody defines parameters for SetSocialHandles.
type SetSocialHandlesJSONBody struct {
Value *[]SocialHandle `json:"value,omitempty"`
}
// SetStreamKeysJSONBody defines parameters for SetStreamKeys.
type SetStreamKeysJSONBody struct {
Value *[]StreamKey `json:"value,omitempty"`
}
// SetStreamOutputVariantsJSONBody defines parameters for SetStreamOutputVariants.
type SetStreamOutputVariantsJSONBody struct {
Value *[]StreamOutputVariant `json:"value,omitempty"`
}
// DeleteCustomEmojiJSONBody defines parameters for DeleteCustomEmoji.
type DeleteCustomEmojiJSONBody struct {
Name *string `json:"name,omitempty"`
}
// UploadCustomEmojiJSONBody defines parameters for UploadCustomEmoji.
type UploadCustomEmojiJSONBody struct {
// Data Base 64 encoded image data
Data *string `json:"data,omitempty"`
Name *string `json:"name,omitempty"`
}
// GetFederatedActionsParams defines parameters for GetFederatedActions.
type GetFederatedActionsParams struct {
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}
// GetFollowersAdminParams defines parameters for GetFollowersAdmin.
type GetFollowersAdminParams struct {
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}
// ApproveFollowerJSONBody defines parameters for ApproveFollower.
type ApproveFollowerJSONBody struct {
ActorIRI *string `json:"actorIRI,omitempty"`
Approved *bool `json:"approved,omitempty"`
}
// GetViewersOverTimeParams defines parameters for GetViewersOverTime.
type GetViewersOverTimeParams struct {
// WindowStart Start date in unix time
WindowStart *string `form:"windowStart,omitempty" json:"windowStart,omitempty"`
}
// CreateWebhookJSONBody defines parameters for CreateWebhook.
type CreateWebhookJSONBody struct {
Events *[]WebhookEventType `json:"events,omitempty"`
Url *string `json:"url,omitempty"`
}
// DeleteWebhookJSONBody defines parameters for DeleteWebhook.
type DeleteWebhookJSONBody struct {
Id *int `json:"id,omitempty"`
}
// RegisterFediverseOTPRequestJSONBody defines parameters for RegisterFediverseOTPRequest.
type RegisterFediverseOTPRequestJSONBody struct {
Account *string `json:"account,omitempty"`
}
// RegisterFediverseOTPRequestParams defines parameters for RegisterFediverseOTPRequest.
type RegisterFediverseOTPRequestParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// VerifyFediverseOTPRequestJSONBody defines parameters for VerifyFediverseOTPRequest.
type VerifyFediverseOTPRequestJSONBody struct {
Code *string `json:"code,omitempty"`
}
// StartIndieAuthFlowJSONBody defines parameters for StartIndieAuthFlow.
type StartIndieAuthFlowJSONBody struct {
AuthHost *string `json:"authHost,omitempty"`
}
// StartIndieAuthFlowParams defines parameters for StartIndieAuthFlow.
type StartIndieAuthFlowParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// HandleIndieAuthRedirectParams defines parameters for HandleIndieAuthRedirect.
type HandleIndieAuthRedirectParams struct {
State IndieAuthState `form:"state" json:"state"`
Code IndieAuthCode `form:"code" json:"code"`
}
// HandleIndieAuthEndpointGetParams defines parameters for HandleIndieAuthEndpointGet.
type HandleIndieAuthEndpointGetParams struct {
ClientId IndieAuthClientId `form:"client_id" json:"client_id"`
RedirectUri IndieAuthRedirectURI `form:"redirect_uri" json:"redirect_uri"`
CodeChallenge IndieAuthCodeChallenge `form:"code_challenge" json:"code_challenge"`
State IndieAuthState `form:"state" json:"state"`
Code IndieAuthCode `form:"code" json:"code"`
}
// HandleIndieAuthEndpointPostFormdataBody defines parameters for HandleIndieAuthEndpointPost.
type HandleIndieAuthEndpointPostFormdataBody struct {
ClientId *string `form:"client_id,omitempty" json:"client_id,omitempty"`
Code *string `form:"code,omitempty" json:"code,omitempty"`
CodeVerifier *string `form:"codeVerifier,omitempty" json:"codeVerifier,omitempty"`
RedirectUri *string `form:"redirect_uri,omitempty" json:"redirect_uri,omitempty"`
}
// GetChatMessagesParams defines parameters for GetChatMessages.
type GetChatMessagesParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// UpdateMessageVisibilityParams defines parameters for UpdateMessageVisibility.
type UpdateMessageVisibilityParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// RegisterAnonymousChatUserJSONBody defines parameters for RegisterAnonymousChatUser.
type RegisterAnonymousChatUserJSONBody struct {
DisplayName *string `json:"displayName,omitempty"`
}
// RegisterAnonymousChatUserParams defines parameters for RegisterAnonymousChatUser.
type RegisterAnonymousChatUserParams struct {
XForwardedUser *string `json:"X-Forwarded-User,omitempty"`
}
// UpdateUserEnabledJSONBody defines parameters for UpdateUserEnabled.
type UpdateUserEnabledJSONBody struct {
Enabled *bool `json:"enabled,omitempty"`
UserId *string `json:"userId,omitempty"`
}
// UpdateUserEnabledParams defines parameters for UpdateUserEnabled.
type UpdateUserEnabledParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// GetFollowersParams defines parameters for GetFollowers.
type GetFollowersParams struct {
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}
// GetUserDetailsParams defines parameters for GetUserDetails.
type GetUserDetailsParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// RegisterForLiveNotificationsJSONBody defines parameters for RegisterForLiveNotifications.
type RegisterForLiveNotificationsJSONBody struct {
// Channel Name of notification channel
Channel *string `json:"channel,omitempty"`
// Destination Target of the notification in the channel
Destination *string `json:"destination,omitempty"`
}
// RegisterForLiveNotificationsParams defines parameters for RegisterForLiveNotifications.
type RegisterForLiveNotificationsParams struct {
AccessToken AccessToken `form:"accessToken" json:"accessToken"`
}
// RemoteFollowJSONBody defines parameters for RemoteFollow.
type RemoteFollowJSONBody struct {
Account *string `json:"account,omitempty"`
}
// CreateExternalAPIUserJSONRequestBody defines body for CreateExternalAPIUser for application/json ContentType.
type CreateExternalAPIUserJSONRequestBody CreateExternalAPIUserJSONBody
// DeleteExternalAPIUserJSONRequestBody defines body for DeleteExternalAPIUser for application/json ContentType.
type DeleteExternalAPIUserJSONRequestBody DeleteExternalAPIUserJSONBody
// UpdateMessageVisibilityAdminJSONRequestBody defines body for UpdateMessageVisibilityAdmin for application/json ContentType.
type UpdateMessageVisibilityAdminJSONRequestBody = MessageVisibilityUpdate
// BanIPAddressJSONRequestBody defines body for BanIPAddress for application/json ContentType.
type BanIPAddressJSONRequestBody = AdminConfigValue
// UnbanIPAddressJSONRequestBody defines body for UnbanIPAddress for application/json ContentType.
type UnbanIPAddressJSONRequestBody = AdminConfigValue
// UpdateUserEnabledAdminJSONRequestBody defines body for UpdateUserEnabledAdmin for application/json ContentType.
type UpdateUserEnabledAdminJSONRequestBody UpdateUserEnabledAdminJSONBody
// UpdateUserModeratorJSONRequestBody defines body for UpdateUserModerator for application/json ContentType.
type UpdateUserModeratorJSONRequestBody UpdateUserModeratorJSONBody
// SetAdminPasswordJSONRequestBody defines body for SetAdminPassword for application/json ContentType.
type SetAdminPasswordJSONRequestBody = AdminConfigValue
// SetCustomColorVariableValuesJSONRequestBody defines body for SetCustomColorVariableValues for application/json ContentType.
type SetCustomColorVariableValuesJSONRequestBody SetCustomColorVariableValuesJSONBody
// SetChatDisabledJSONRequestBody defines body for SetChatDisabled for application/json ContentType.
type SetChatDisabledJSONRequestBody = AdminConfigValue
// SetEnableEstablishedChatUserModeJSONRequestBody defines body for SetEnableEstablishedChatUserMode for application/json ContentType.
type SetEnableEstablishedChatUserModeJSONRequestBody = AdminConfigValue
// SetForbiddenUsernameListJSONRequestBody defines body for SetForbiddenUsernameList for application/json ContentType.
type SetForbiddenUsernameListJSONRequestBody SetForbiddenUsernameListJSONBody
// SetChatJoinMessagesEnabledJSONRequestBody defines body for SetChatJoinMessagesEnabled for application/json ContentType.
type SetChatJoinMessagesEnabledJSONRequestBody = AdminConfigValue
// SetChatSlurFilterEnabledJSONRequestBody defines body for SetChatSlurFilterEnabled for application/json ContentType.
type SetChatSlurFilterEnabledJSONRequestBody = AdminConfigValue
// SetChatSpamProtectionEnabledJSONRequestBody defines body for SetChatSpamProtectionEnabled for application/json ContentType.
type SetChatSpamProtectionEnabledJSONRequestBody = AdminConfigValue
// SetSuggestedUsernameListJSONRequestBody defines body for SetSuggestedUsernameList for application/json ContentType.
type SetSuggestedUsernameListJSONRequestBody SetSuggestedUsernameListJSONBody
// SetCustomJavascriptJSONRequestBody defines body for SetCustomJavascript for application/json ContentType.
type SetCustomJavascriptJSONRequestBody = AdminConfigValue
// SetCustomStylesJSONRequestBody defines body for SetCustomStyles for application/json ContentType.
type SetCustomStylesJSONRequestBody = AdminConfigValue
// SetDirectoryEnabledJSONRequestBody defines body for SetDirectoryEnabled for application/json ContentType.
type SetDirectoryEnabledJSONRequestBody = AdminConfigValue
// SetDisableSearchIndexingJSONRequestBody defines body for SetDisableSearchIndexing for application/json ContentType.
type SetDisableSearchIndexingJSONRequestBody = AdminConfigValue
// SetExternalActionsJSONRequestBody defines body for SetExternalActions for application/json ContentType.
type SetExternalActionsJSONRequestBody SetExternalActionsJSONBody
// SetFederationBlockDomainsJSONRequestBody defines body for SetFederationBlockDomains for application/json ContentType.
type SetFederationBlockDomainsJSONRequestBody = AdminConfigValue
// SetFederationEnabledJSONRequestBody defines body for SetFederationEnabled for application/json ContentType.
type SetFederationEnabledJSONRequestBody = AdminConfigValue
// SetFederationGoLiveMessageJSONRequestBody defines body for SetFederationGoLiveMessage for application/json ContentType.
type SetFederationGoLiveMessageJSONRequestBody = AdminConfigValue
// SetFederationActivityPrivateJSONRequestBody defines body for SetFederationActivityPrivate for application/json ContentType.
type SetFederationActivityPrivateJSONRequestBody = AdminConfigValue
// SetFederationShowEngagementJSONRequestBody defines body for SetFederationShowEngagement for application/json ContentType.
type SetFederationShowEngagementJSONRequestBody = AdminConfigValue
// SetFederationUsernameJSONRequestBody defines body for SetFederationUsername for application/json ContentType.
type SetFederationUsernameJSONRequestBody = AdminConfigValue
// SetFfmpegPathJSONRequestBody defines body for SetFfmpegPath for application/json ContentType.
type SetFfmpegPathJSONRequestBody = AdminConfigValue
// SetHideViewerCountJSONRequestBody defines body for SetHideViewerCount for application/json ContentType.
type SetHideViewerCountJSONRequestBody = AdminConfigValue
// SetLogoJSONRequestBody defines body for SetLogo for application/json ContentType.
type SetLogoJSONRequestBody = AdminConfigValue
// SetServerNameJSONRequestBody defines body for SetServerName for application/json ContentType.
type SetServerNameJSONRequestBody = AdminConfigValue
// SetBrowserNotificationConfigurationJSONRequestBody defines body for SetBrowserNotificationConfiguration for application/json ContentType.
type SetBrowserNotificationConfigurationJSONRequestBody SetBrowserNotificationConfigurationJSONBody
// SetDiscordNotificationConfigurationJSONRequestBody defines body for SetDiscordNotificationConfiguration for application/json ContentType.
type SetDiscordNotificationConfigurationJSONRequestBody SetDiscordNotificationConfigurationJSONBody
// SetNSFWJSONRequestBody defines body for SetNSFW for application/json ContentType.
type SetNSFWJSONRequestBody = AdminConfigValue
// SetCustomOfflineMessageJSONRequestBody defines body for SetCustomOfflineMessage for application/json ContentType.
type SetCustomOfflineMessageJSONRequestBody = AdminConfigValue
// SetExtraPageContentJSONRequestBody defines body for SetExtraPageContent for application/json ContentType.
type SetExtraPageContentJSONRequestBody = AdminConfigValue
// SetRTMPServerPortJSONRequestBody defines body for SetRTMPServerPort for application/json ContentType.
type SetRTMPServerPortJSONRequestBody = AdminConfigValue
// SetS3ConfigurationJSONRequestBody defines body for SetS3Configuration for application/json ContentType.
type SetS3ConfigurationJSONRequestBody SetS3ConfigurationJSONBody
// SetServerSummaryJSONRequestBody defines body for SetServerSummary for application/json ContentType.
type SetServerSummaryJSONRequestBody = AdminConfigValue
// SetServerURLJSONRequestBody defines body for SetServerURL for application/json ContentType.
type SetServerURLJSONRequestBody = AdminConfigValue
// SetSocialHandlesJSONRequestBody defines body for SetSocialHandles for application/json ContentType.
type SetSocialHandlesJSONRequestBody SetSocialHandlesJSONBody
// SetSocketHostOverrideJSONRequestBody defines body for SetSocketHostOverride for application/json ContentType.
type SetSocketHostOverrideJSONRequestBody = AdminConfigValue
// SetStreamKeysJSONRequestBody defines body for SetStreamKeys for application/json ContentType.
type SetStreamKeysJSONRequestBody SetStreamKeysJSONBody
// SetStreamTitleJSONRequestBody defines body for SetStreamTitle for application/json ContentType.
type SetStreamTitleJSONRequestBody = AdminConfigValue
// SetTagsJSONRequestBody defines body for SetTags for application/json ContentType.
type SetTagsJSONRequestBody = AdminConfigValue
// SetVideoCodecJSONRequestBody defines body for SetVideoCodec for application/json ContentType.
type SetVideoCodecJSONRequestBody = AdminConfigValue
// SetStreamLatencyLevelJSONRequestBody defines body for SetStreamLatencyLevel for application/json ContentType.
type SetStreamLatencyLevelJSONRequestBody = AdminConfigValue
// SetStreamOutputVariantsJSONRequestBody defines body for SetStreamOutputVariants for application/json ContentType.
type SetStreamOutputVariantsJSONRequestBody SetStreamOutputVariantsJSONBody
// SetVideoServingEndpointJSONRequestBody defines body for SetVideoServingEndpoint for application/json ContentType.
type SetVideoServingEndpointJSONRequestBody = AdminConfigValue
// SetWebServerIPJSONRequestBody defines body for SetWebServerIP for application/json ContentType.
type SetWebServerIPJSONRequestBody = AdminConfigValue
// SetWebServerPortJSONRequestBody defines body for SetWebServerPort for application/json ContentType.
type SetWebServerPortJSONRequestBody = AdminConfigValue
// SetServerWelcomeMessageJSONRequestBody defines body for SetServerWelcomeMessage for application/json ContentType.
type SetServerWelcomeMessageJSONRequestBody = AdminConfigValue
// DeleteCustomEmojiJSONRequestBody defines body for DeleteCustomEmoji for application/json ContentType.
type DeleteCustomEmojiJSONRequestBody DeleteCustomEmojiJSONBody
// UploadCustomEmojiJSONRequestBody defines body for UploadCustomEmoji for application/json ContentType.
type UploadCustomEmojiJSONRequestBody UploadCustomEmojiJSONBody
// SendFederatedMessageJSONRequestBody defines body for SendFederatedMessage for application/json ContentType.
type SendFederatedMessageJSONRequestBody = AdminConfigValue
// ApproveFollowerJSONRequestBody defines body for ApproveFollower for application/json ContentType.
type ApproveFollowerJSONRequestBody ApproveFollowerJSONBody
// CreateWebhookJSONRequestBody defines body for CreateWebhook for application/json ContentType.
type CreateWebhookJSONRequestBody CreateWebhookJSONBody
// DeleteWebhookJSONRequestBody defines body for DeleteWebhook for application/json ContentType.
type DeleteWebhookJSONRequestBody DeleteWebhookJSONBody
// RegisterFediverseOTPRequestJSONRequestBody defines body for RegisterFediverseOTPRequest for application/json ContentType.
type RegisterFediverseOTPRequestJSONRequestBody RegisterFediverseOTPRequestJSONBody
// VerifyFediverseOTPRequestJSONRequestBody defines body for VerifyFediverseOTPRequest for application/json ContentType.
type VerifyFediverseOTPRequestJSONRequestBody VerifyFediverseOTPRequestJSONBody
// StartIndieAuthFlowJSONRequestBody defines body for StartIndieAuthFlow for application/json ContentType.
type StartIndieAuthFlowJSONRequestBody StartIndieAuthFlowJSONBody
// HandleIndieAuthEndpointPostFormdataRequestBody defines body for HandleIndieAuthEndpointPost for application/x-www-form-urlencoded ContentType.
type HandleIndieAuthEndpointPostFormdataRequestBody HandleIndieAuthEndpointPostFormdataBody
// UpdateMessageVisibilityJSONRequestBody defines body for UpdateMessageVisibility for application/json ContentType.
type UpdateMessageVisibilityJSONRequestBody = MessageVisibilityUpdate
// RegisterAnonymousChatUserJSONRequestBody defines body for RegisterAnonymousChatUser for application/json ContentType.
type RegisterAnonymousChatUserJSONRequestBody RegisterAnonymousChatUserJSONBody
// UpdateUserEnabledJSONRequestBody defines body for UpdateUserEnabled for application/json ContentType.
type UpdateUserEnabledJSONRequestBody UpdateUserEnabledJSONBody
// SendChatActionJSONRequestBody defines body for SendChatAction for application/json ContentType.
type SendChatActionJSONRequestBody = SystemActionEvent
// ExternalUpdateMessageVisibilityJSONRequestBody defines body for ExternalUpdateMessageVisibility for application/json ContentType.
type ExternalUpdateMessageVisibilityJSONRequestBody = MessageVisibilityUpdate
// SendIntegrationChatMessageJSONRequestBody defines body for SendIntegrationChatMessage for application/json ContentType.
type SendIntegrationChatMessageJSONRequestBody = UserMessage
// SendSystemMessageJSONRequestBody defines body for SendSystemMessage for application/json ContentType.
type SendSystemMessageJSONRequestBody = SystemMessage
// SendSystemMessageToConnectedClientJSONRequestBody defines body for SendSystemMessageToConnectedClient for application/json ContentType.
type SendSystemMessageToConnectedClientJSONRequestBody = SystemMessage
// ExternalSetStreamTitleJSONRequestBody defines body for ExternalSetStreamTitle for application/json ContentType.
type ExternalSetStreamTitleJSONRequestBody = AdminConfigValue
// ReportPlaybackMetricsJSONRequestBody defines body for ReportPlaybackMetrics for application/json ContentType.
type ReportPlaybackMetricsJSONRequestBody = PlaybackMetrics
// RegisterForLiveNotificationsJSONRequestBody defines body for RegisterForLiveNotifications for application/json ContentType.
type RegisterForLiveNotificationsJSONRequestBody RegisterForLiveNotificationsJSONBody
// RemoteFollowJSONRequestBody defines body for RemoteFollow for application/json ContentType.
type RemoteFollowJSONRequestBody RemoteFollowJSONBody
// AsAdminConfigValueValue0 returns the union data inside the AdminConfigValue_Value as a AdminConfigValueValue0
func (t AdminConfigValue_Value) AsAdminConfigValueValue0() (AdminConfigValueValue0, error) {
var body AdminConfigValueValue0
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromAdminConfigValueValue0 overwrites any union data inside the AdminConfigValue_Value as the provided AdminConfigValueValue0
func (t *AdminConfigValue_Value) FromAdminConfigValueValue0(v AdminConfigValueValue0) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeAdminConfigValueValue0 performs a merge with any union data inside the AdminConfigValue_Value, using the provided AdminConfigValueValue0
func (t *AdminConfigValue_Value) MergeAdminConfigValueValue0(v AdminConfigValueValue0) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsAdminConfigValueValue1 returns the union data inside the AdminConfigValue_Value as a AdminConfigValueValue1
func (t AdminConfigValue_Value) AsAdminConfigValueValue1() (AdminConfigValueValue1, error) {
var body AdminConfigValueValue1
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromAdminConfigValueValue1 overwrites any union data inside the AdminConfigValue_Value as the provided AdminConfigValueValue1
func (t *AdminConfigValue_Value) FromAdminConfigValueValue1(v AdminConfigValueValue1) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeAdminConfigValueValue1 performs a merge with any union data inside the AdminConfigValue_Value, using the provided AdminConfigValueValue1
func (t *AdminConfigValue_Value) MergeAdminConfigValueValue1(v AdminConfigValueValue1) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsAdminConfigValueValue2 returns the union data inside the AdminConfigValue_Value as a AdminConfigValueValue2
func (t AdminConfigValue_Value) AsAdminConfigValueValue2() (AdminConfigValueValue2, error) {
var body AdminConfigValueValue2
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromAdminConfigValueValue2 overwrites any union data inside the AdminConfigValue_Value as the provided AdminConfigValueValue2
func (t *AdminConfigValue_Value) FromAdminConfigValueValue2(v AdminConfigValueValue2) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeAdminConfigValueValue2 performs a merge with any union data inside the AdminConfigValue_Value, using the provided AdminConfigValueValue2
func (t *AdminConfigValue_Value) MergeAdminConfigValueValue2(v AdminConfigValueValue2) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsAdminConfigValueValue3 returns the union data inside the AdminConfigValue_Value as a AdminConfigValueValue3
func (t AdminConfigValue_Value) AsAdminConfigValueValue3() (AdminConfigValueValue3, error) {
var body AdminConfigValueValue3
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromAdminConfigValueValue3 overwrites any union data inside the AdminConfigValue_Value as the provided AdminConfigValueValue3
func (t *AdminConfigValue_Value) FromAdminConfigValueValue3(v AdminConfigValueValue3) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeAdminConfigValueValue3 performs a merge with any union data inside the AdminConfigValue_Value, using the provided AdminConfigValueValue3
func (t *AdminConfigValue_Value) MergeAdminConfigValueValue3(v AdminConfigValueValue3) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
func (t AdminConfigValue_Value) MarshalJSON() ([]byte, error) {
b, err := t.union.MarshalJSON()
return b, err
}
func (t *AdminConfigValue_Value) UnmarshalJSON(b []byte) error {
err := t.union.UnmarshalJSON(b)
return err
}
// AsUserMessage returns the union data inside the ChatMessages_Item as a UserMessage
func (t ChatMessages_Item) AsUserMessage() (UserMessage, error) {
var body UserMessage
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromUserMessage overwrites any union data inside the ChatMessages_Item as the provided UserMessage
func (t *ChatMessages_Item) FromUserMessage(v UserMessage) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeUserMessage performs a merge with any union data inside the ChatMessages_Item, using the provided UserMessage
func (t *ChatMessages_Item) MergeUserMessage(v UserMessage) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsSystemMessage returns the union data inside the ChatMessages_Item as a SystemMessage
func (t ChatMessages_Item) AsSystemMessage() (SystemMessage, error) {
var body SystemMessage
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromSystemMessage overwrites any union data inside the ChatMessages_Item as the provided SystemMessage
func (t *ChatMessages_Item) FromSystemMessage(v SystemMessage) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeSystemMessage performs a merge with any union data inside the ChatMessages_Item, using the provided SystemMessage
func (t *ChatMessages_Item) MergeSystemMessage(v SystemMessage) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsActionMessage returns the union data inside the ChatMessages_Item as a ActionMessage
func (t ChatMessages_Item) AsActionMessage() (ActionMessage, error) {
var body ActionMessage
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromActionMessage overwrites any union data inside the ChatMessages_Item as the provided ActionMessage
func (t *ChatMessages_Item) FromActionMessage(v ActionMessage) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeActionMessage performs a merge with any union data inside the ChatMessages_Item, using the provided ActionMessage
func (t *ChatMessages_Item) MergeActionMessage(v ActionMessage) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsFederatedAction returns the union data inside the ChatMessages_Item as a FederatedAction
func (t ChatMessages_Item) AsFederatedAction() (FederatedAction, error) {
var body FederatedAction
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromFederatedAction overwrites any union data inside the ChatMessages_Item as the provided FederatedAction
func (t *ChatMessages_Item) FromFederatedAction(v FederatedAction) error {
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeFederatedAction performs a merge with any union data inside the ChatMessages_Item, using the provided FederatedAction
func (t *ChatMessages_Item) MergeFederatedAction(v FederatedAction) error {
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
func (t ChatMessages_Item) MarshalJSON() ([]byte, error) {
b, err := t.union.MarshalJSON()
return b, err
}
func (t *ChatMessages_Item) UnmarshalJSON(b []byte) error {
err := t.union.UnmarshalJSON(b)
return err
}