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-02 04:50:20 +03:00
|
|
|
// Package generated provides primitives to interact with the openapi HTTP API.
|
|
|
|
//
|
2024-07-02 06:12:08 +03:00
|
|
|
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.
|
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-02 04:50:20 +03:00
|
|
|
package generated
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
|
|
|
"net/http"
|
|
|
|
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
|
|
"github.com/oapi-codegen/runtime"
|
|
|
|
)
|
|
|
|
|
|
|
|
// ServerInterface represents all server handlers.
|
|
|
|
type ServerInterface interface {
|
|
|
|
// Get all access tokens
|
|
|
|
// (GET /admin/accesstokens)
|
|
|
|
GetExternalAPIUsers(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens)
|
|
|
|
GetExternalAPIUsersOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens/create)
|
|
|
|
CreateExternalAPIUserOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Create a single access token
|
|
|
|
// (POST /admin/accesstokens/create)
|
|
|
|
CreateExternalAPIUser(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens/delete)
|
|
|
|
DeleteExternalAPIUserOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Delete a single external API user
|
|
|
|
// (POST /admin/accesstokens/delete)
|
|
|
|
DeleteExternalAPIUser(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a detailed list of currently connected chat clients
|
|
|
|
// (GET /admin/chat/clients)
|
|
|
|
GetConnectedChatClients(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/clients)
|
|
|
|
GetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get all chat messages for the admin, unfiltered
|
|
|
|
// (GET /admin/chat/messages)
|
|
|
|
GetChatMessagesAdmin(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/messages)
|
|
|
|
GetChatMessagesAdminOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/messagevisibility)
|
|
|
|
UpdateMessageVisibilityAdminOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update visibility of chat messages
|
|
|
|
// (POST /admin/chat/messagevisibility)
|
|
|
|
UpdateMessageVisibilityAdmin(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a list of disabled users
|
|
|
|
// (GET /admin/chat/users/disabled)
|
|
|
|
GetDisabledUsers(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/disabled)
|
|
|
|
GetDisabledUsersOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get all banned IP addresses
|
|
|
|
// (GET /admin/chat/users/ipbans)
|
|
|
|
GetIPAddressBans(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans)
|
|
|
|
GetIPAddressBansOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans/create)
|
|
|
|
BanIPAddressOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Ban an IP address
|
|
|
|
// (POST /admin/chat/users/ipbans/create)
|
|
|
|
BanIPAddress(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans/remove)
|
|
|
|
UnbanIPAddressOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Remove an IP ban
|
|
|
|
// (POST /admin/chat/users/ipbans/remove)
|
|
|
|
UnbanIPAddress(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a list of moderator users
|
|
|
|
// (GET /admin/chat/users/moderators)
|
|
|
|
GetModerators(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/moderators)
|
|
|
|
GetModeratorsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/setenabled)
|
|
|
|
UpdateUserEnabledAdminOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Enable or disable a user
|
|
|
|
// (POST /admin/chat/users/setenabled)
|
|
|
|
UpdateUserEnabledAdmin(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/setmoderator)
|
|
|
|
UpdateUserModeratorOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set moderator status for a user
|
|
|
|
// (POST /admin/chat/users/setmoderator)
|
|
|
|
UpdateUserModerator(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/adminpass)
|
|
|
|
SetAdminPasswordOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the current admin password
|
|
|
|
// (POST /admin/config/adminpass)
|
|
|
|
SetAdminPassword(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/appearance)
|
|
|
|
SetCustomColorVariableValuesOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set style/color/css values
|
|
|
|
// (POST /admin/config/appearance)
|
|
|
|
SetCustomColorVariableValues(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/disable)
|
|
|
|
SetChatDisabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Disable chat
|
|
|
|
// (POST /admin/config/chat/disable)
|
|
|
|
SetChatDisabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/establishedusermode)
|
|
|
|
SetEnableEstablishedChatUserModeOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Enable/disable chat established user mode
|
|
|
|
// (POST /admin/config/chat/establishedusermode)
|
|
|
|
SetEnableEstablishedChatUserMode(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/forbiddenusernames)
|
|
|
|
SetForbiddenUsernameListOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set chat usernames that are not allowed
|
|
|
|
// (POST /admin/config/chat/forbiddenusernames)
|
|
|
|
SetForbiddenUsernameList(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/joinmessagesenabled)
|
|
|
|
SetChatJoinMessagesEnabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Enable chat for user join messages
|
|
|
|
// (POST /admin/config/chat/joinmessagesenabled)
|
|
|
|
SetChatJoinMessagesEnabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/slurfilterenabled)
|
|
|
|
SetChatSlurFilterEnabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set slur filter enabled
|
|
|
|
// (POST /admin/config/chat/slurfilterenabled)
|
|
|
|
SetChatSlurFilterEnabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/spamprotectionenabled)
|
|
|
|
SetChatSpamProtectionEnabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set spam protection enabled
|
|
|
|
// (POST /admin/config/chat/spamprotectionenabled)
|
|
|
|
SetChatSpamProtectionEnabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/suggestedusernames)
|
|
|
|
SetSuggestedUsernameListOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set the suggested chat usernames that will be assigned automatically
|
|
|
|
// (POST /admin/config/chat/suggestedusernames)
|
|
|
|
SetSuggestedUsernameList(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/customjavascript)
|
|
|
|
SetCustomJavascriptOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update custom JavaScript
|
|
|
|
// (POST /admin/config/customjavascript)
|
|
|
|
SetCustomJavascript(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/customstyles)
|
|
|
|
SetCustomStylesOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update custom styles
|
|
|
|
// (POST /admin/config/customstyles)
|
|
|
|
SetCustomStyles(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/directoryenabled)
|
|
|
|
SetDirectoryEnabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update directory enabled
|
|
|
|
// (POST /admin/config/directoryenabled)
|
|
|
|
SetDirectoryEnabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/disablesearchindexing)
|
|
|
|
SetDisableSearchIndexingOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update search indexing
|
|
|
|
// (POST /admin/config/disablesearchindexing)
|
|
|
|
SetDisableSearchIndexing(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/externalactions)
|
|
|
|
SetExternalActionsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update external action links
|
|
|
|
// (POST /admin/config/externalactions)
|
|
|
|
SetExternalActions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/blockdomains)
|
|
|
|
SetFederationBlockDomainsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set Federation blocked domains
|
|
|
|
// (POST /admin/config/federation/blockdomains)
|
|
|
|
SetFederationBlockDomains(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/enable)
|
|
|
|
SetFederationEnabledOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Enable/disable federation features
|
|
|
|
// (POST /admin/config/federation/enable)
|
|
|
|
SetFederationEnabled(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/livemessage)
|
|
|
|
SetFederationGoLiveMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set federated go live message
|
|
|
|
// (POST /admin/config/federation/livemessage)
|
|
|
|
SetFederationGoLiveMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/private)
|
|
|
|
SetFederationActivityPrivateOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set if federation activities are private
|
|
|
|
// (POST /admin/config/federation/private)
|
|
|
|
SetFederationActivityPrivate(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/showengagement)
|
|
|
|
SetFederationShowEngagementOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set if fediverse engagement appears in chat
|
|
|
|
// (POST /admin/config/federation/showengagement)
|
|
|
|
SetFederationShowEngagement(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/username)
|
|
|
|
SetFederationUsernameOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set local federated username
|
|
|
|
// (POST /admin/config/federation/username)
|
|
|
|
SetFederationUsername(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/ffmpegpath)
|
|
|
|
SetFfmpegPathOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update FFMPEG path
|
|
|
|
// (POST /admin/config/ffmpegpath)
|
|
|
|
SetFfmpegPath(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/hideviewercount)
|
|
|
|
SetHideViewerCountOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update hide viewer count
|
|
|
|
// (POST /admin/config/hideviewercount)
|
|
|
|
SetHideViewerCount(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/logo)
|
|
|
|
SetLogoOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update logo
|
|
|
|
// (POST /admin/config/logo)
|
|
|
|
SetLogo(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/name)
|
|
|
|
SetServerNameOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the server name
|
|
|
|
// (POST /admin/config/name)
|
|
|
|
SetServerName(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/notifications/browser)
|
|
|
|
SetBrowserNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Configure Browser notifications
|
|
|
|
// (POST /admin/config/notifications/browser)
|
|
|
|
SetBrowserNotificationConfiguration(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/notifications/discord)
|
|
|
|
SetDiscordNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Configure Discord notifications
|
|
|
|
// (POST /admin/config/notifications/discord)
|
|
|
|
SetDiscordNotificationConfiguration(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/nsfw)
|
|
|
|
SetNSFWOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update NSFW marking
|
|
|
|
// (POST /admin/config/nsfw)
|
|
|
|
SetNSFW(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/offlinemessage)
|
|
|
|
SetCustomOfflineMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the offline message
|
|
|
|
// (POST /admin/config/offlinemessage)
|
|
|
|
SetCustomOfflineMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/pagecontent)
|
|
|
|
SetExtraPageContentOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the extra page content in memory
|
|
|
|
// (POST /admin/config/pagecontent)
|
|
|
|
SetExtraPageContent(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/rtmpserverport)
|
|
|
|
SetRTMPServerPortOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update RTMP post
|
|
|
|
// (POST /admin/config/rtmpserverport)
|
|
|
|
SetRTMPServerPort(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/s3)
|
|
|
|
SetS3ConfigurationOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update S3 configuration
|
|
|
|
// (POST /admin/config/s3)
|
|
|
|
SetS3Configuration(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/serversummary)
|
|
|
|
SetServerSummaryOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the server summary
|
|
|
|
// (POST /admin/config/serversummary)
|
|
|
|
SetServerSummary(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/serverurl)
|
|
|
|
SetServerURLOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update server url
|
|
|
|
// (POST /admin/config/serverurl)
|
|
|
|
SetServerURL(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/socialhandles)
|
|
|
|
SetSocialHandlesOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update social handles
|
|
|
|
// (POST /admin/config/socialhandles)
|
|
|
|
SetSocialHandles(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/sockethostoverride)
|
|
|
|
SetSocketHostOverrideOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update websocket host override
|
|
|
|
// (POST /admin/config/sockethostoverride)
|
|
|
|
SetSocketHostOverride(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/streamkeys)
|
|
|
|
SetStreamKeysOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set an array of valid stream keys
|
|
|
|
// (POST /admin/config/streamkeys)
|
|
|
|
SetStreamKeys(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/streamtitle)
|
|
|
|
SetStreamTitleOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the stream title
|
|
|
|
// (POST /admin/config/streamtitle)
|
|
|
|
SetStreamTitle(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/tags)
|
|
|
|
SetTagsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update server tags
|
|
|
|
// (POST /admin/config/tags)
|
|
|
|
SetTags(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/codec)
|
|
|
|
SetVideoCodecOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set video codec
|
|
|
|
// (POST /admin/config/video/codec)
|
|
|
|
SetVideoCodec(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/streamlatencylevel)
|
|
|
|
SetStreamLatencyLevelOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set the number of video segments and duration per segment in a playlist
|
|
|
|
// (POST /admin/config/video/streamlatencylevel)
|
|
|
|
SetStreamLatencyLevel(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/streamoutputvariants)
|
|
|
|
SetStreamOutputVariantsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set an array of video output configurations
|
|
|
|
// (POST /admin/config/video/streamoutputvariants)
|
|
|
|
SetStreamOutputVariants(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/videoservingendpoint)
|
|
|
|
SetVideoServingEndpointOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update custom video serving endpoint
|
|
|
|
// (POST /admin/config/videoservingendpoint)
|
|
|
|
SetVideoServingEndpoint(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/webserverip)
|
|
|
|
SetWebServerIPOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update server IP address
|
|
|
|
// (POST /admin/config/webserverip)
|
|
|
|
SetWebServerIP(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/webserverport)
|
|
|
|
SetWebServerPortOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Update server port
|
|
|
|
// (POST /admin/config/webserverport)
|
|
|
|
SetWebServerPort(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/welcomemessage)
|
|
|
|
SetServerWelcomeMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Change the welcome message
|
|
|
|
// (POST /admin/config/welcomemessage)
|
|
|
|
SetServerWelcomeMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Disconnect inbound stream
|
|
|
|
// (GET /admin/disconnect)
|
|
|
|
DisconnectInboundConnection(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/disconnect)
|
|
|
|
DisconnectInboundConnectionOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/emoji/delete)
|
|
|
|
DeleteCustomEmojiOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Delete custom emoji
|
|
|
|
// (POST /admin/emoji/delete)
|
|
|
|
DeleteCustomEmoji(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/emoji/upload)
|
|
|
|
UploadCustomEmojiOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Upload custom emoji
|
|
|
|
// (POST /admin/emoji/upload)
|
|
|
|
UploadCustomEmoji(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a paginated list of federated activities
|
|
|
|
// (GET /admin/federation/actions)
|
|
|
|
GetFederatedActions(w http.ResponseWriter, r *http.Request, params GetFederatedActionsParams)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/federation/actions)
|
|
|
|
GetFederatedActionsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/federation/send)
|
|
|
|
SendFederatedMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Send a public message to the Fediverse from the server's user
|
|
|
|
// (POST /admin/federation/send)
|
|
|
|
SendFederatedMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get followers
|
|
|
|
// (GET /admin/followers)
|
|
|
|
GetFollowersAdmin(w http.ResponseWriter, r *http.Request, params GetFollowersAdminParams)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers)
|
|
|
|
GetFollowersAdminOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/approve)
|
|
|
|
ApproveFollowerOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Set the following state of a follower or follow request
|
|
|
|
// (POST /admin/followers/approve)
|
|
|
|
ApproveFollower(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a list of rejected or blocked follows
|
|
|
|
// (GET /admin/followers/blocked)
|
|
|
|
GetBlockedAndRejectedFollowers(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/blocked)
|
|
|
|
GetBlockedAndRejectedFollowersOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a list of pending follow requests
|
|
|
|
// (GET /admin/followers/pending)
|
|
|
|
GetPendingFollowRequests(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/pending)
|
|
|
|
GetPendingFollowRequestsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get the current hardware stats
|
|
|
|
// (GET /admin/hardwarestats)
|
|
|
|
GetHardwareStats(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/hardwarestats)
|
|
|
|
GetHardwareStatsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get all logs
|
|
|
|
// (GET /admin/logs)
|
|
|
|
GetLogs(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/logs)
|
|
|
|
GetLogsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get warning/error logs
|
|
|
|
// (GET /admin/logs/warnings)
|
|
|
|
GetWarnings(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/logs/warnings)
|
|
|
|
GetWarningsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get video playback metrics
|
|
|
|
// (GET /admin/metrics/video)
|
|
|
|
GetVideoPlaybackMetrics(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/metrics/video)
|
|
|
|
GetVideoPlaybackMetricsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (DELETE /admin/prometheus)
|
|
|
|
DeletePrometheusAPI(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (GET /admin/prometheus)
|
|
|
|
GetPrometheusAPI(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (OPTIONS /admin/prometheus)
|
|
|
|
OptionsPrometheusAPI(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (POST /admin/prometheus)
|
|
|
|
PostPrometheusAPI(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (PUT /admin/prometheus)
|
|
|
|
PutPrometheusAPI(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get the current server config
|
|
|
|
// (GET /admin/serverconfig)
|
|
|
|
GetServerConfig(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/serverconfig)
|
|
|
|
GetServerConfigOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get current inboard broadcaster
|
|
|
|
// (GET /admin/status)
|
|
|
|
StatusAdmin(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/status)
|
|
|
|
StatusAdminOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Force quit the server and restart it
|
|
|
|
// (GET /admin/update/forcequit)
|
|
|
|
AutoUpdateForceQuit(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/forcequit)
|
|
|
|
AutoUpdateForceQuitOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Return the auto-update features that are supported for this instance
|
|
|
|
// (GET /admin/update/options)
|
|
|
|
AutoUpdateOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/options)
|
|
|
|
AutoUpdateOptionsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Begin the auto-update
|
|
|
|
// (GET /admin/update/start)
|
|
|
|
AutoUpdateStart(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/start)
|
|
|
|
AutoUpdateStartOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get active viewers
|
|
|
|
// (GET /admin/viewers)
|
|
|
|
GetActiveViewers(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/viewers)
|
|
|
|
GetActiveViewersOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get viewer count over time
|
|
|
|
// (GET /admin/viewersOverTime)
|
|
|
|
GetViewersOverTime(w http.ResponseWriter, r *http.Request, params GetViewersOverTimeParams)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/viewersOverTime)
|
|
|
|
GetViewersOverTimeOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get all the webhooks
|
|
|
|
// (GET /admin/webhooks)
|
|
|
|
GetWebhooks(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks)
|
|
|
|
GetWebhooksOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks/create)
|
|
|
|
CreateWebhookOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Create a single webhook
|
|
|
|
// (POST /admin/webhooks/create)
|
|
|
|
CreateWebhook(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks/delete)
|
|
|
|
DeleteWebhookOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Delete a single webhook
|
|
|
|
// (POST /admin/webhooks/delete)
|
|
|
|
DeleteWebhook(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Reset YP configuration
|
|
|
|
// (GET /admin/yp/reset)
|
|
|
|
ResetYPRegistration(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /admin/yp/reset)
|
|
|
|
ResetYPRegistrationOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Register a Fediverse OTP request
|
|
|
|
// (POST /auth/fediverse)
|
|
|
|
RegisterFediverseOTPRequest(w http.ResponseWriter, r *http.Request, params RegisterFediverseOTPRequestParams)
|
|
|
|
// Verify Fediverse OTP code
|
|
|
|
// (POST /auth/fediverse/verify)
|
|
|
|
VerifyFediverseOTPRequest(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Begins auth flow
|
|
|
|
// (POST /auth/indieauth)
|
|
|
|
StartIndieAuthFlow(w http.ResponseWriter, r *http.Request, params StartIndieAuthFlowParams)
|
|
|
|
// Handle the redirect from an IndieAuth server to continue the auth flow
|
|
|
|
// (GET /auth/indieauth/callback)
|
|
|
|
HandleIndieAuthRedirect(w http.ResponseWriter, r *http.Request, params HandleIndieAuthRedirectParams)
|
|
|
|
// Handles the IndieAuth auth endpoint
|
|
|
|
// (GET /auth/provider/indieauth)
|
|
|
|
HandleIndieAuthEndpointGet(w http.ResponseWriter, r *http.Request, params HandleIndieAuthEndpointGetParams)
|
|
|
|
// Handles IndieAuth from form submission
|
|
|
|
// (POST /auth/provider/indieauth)
|
|
|
|
HandleIndieAuthEndpointPost(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Gets a list of chat messages
|
|
|
|
// (GET /chat)
|
|
|
|
GetChatMessages(w http.ResponseWriter, r *http.Request, params GetChatMessagesParams)
|
|
|
|
// Update chat message visibility
|
|
|
|
// (POST /chat/messagevisibility)
|
|
|
|
UpdateMessageVisibility(w http.ResponseWriter, r *http.Request, params UpdateMessageVisibilityParams)
|
|
|
|
|
|
|
|
// (OPTIONS /chat/register)
|
|
|
|
RegisterAnonymousChatUserOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Registers an anonymous chat user
|
|
|
|
// (POST /chat/register)
|
|
|
|
RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request, params RegisterAnonymousChatUserParams)
|
|
|
|
// Enable/disable a user
|
|
|
|
// (POST /chat/users/setenabled)
|
|
|
|
UpdateUserEnabled(w http.ResponseWriter, r *http.Request, params UpdateUserEnabledParams)
|
|
|
|
// Get the web config
|
|
|
|
// (GET /config)
|
|
|
|
GetWebConfig(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get list of custom emojis supported in the chat
|
|
|
|
// (GET /emoji)
|
|
|
|
GetCustomEmojiList(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Gets the list of followers
|
|
|
|
// (GET /followers)
|
|
|
|
GetFollowers(w http.ResponseWriter, r *http.Request, params GetFollowersParams)
|
|
|
|
// Get chat history
|
|
|
|
// (GET /integrations/chat)
|
|
|
|
ExternalGetChatMessages(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat)
|
|
|
|
ExternalGetChatMessagesOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/action)
|
|
|
|
SendChatActionOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Send a user action to chat
|
|
|
|
// (POST /integrations/chat/action)
|
|
|
|
SendChatAction(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/messagevisibility)
|
|
|
|
ExternalUpdateMessageVisibilityOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Hide chat message
|
|
|
|
// (POST /integrations/chat/messagevisibility)
|
|
|
|
ExternalUpdateMessageVisibility(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/send)
|
|
|
|
SendIntegrationChatMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Send a message to chat as a specific 3rd party bot/integration based on its access token
|
|
|
|
// (POST /integrations/chat/send)
|
|
|
|
SendIntegrationChatMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/system)
|
|
|
|
SendSystemMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Send a system message to the chat
|
|
|
|
// (POST /integrations/chat/system)
|
|
|
|
SendSystemMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/system/client/{clientId})
|
|
|
|
SendSystemMessageToConnectedClientOptions(w http.ResponseWriter, r *http.Request, clientId int)
|
|
|
|
// Send a system message to a single client
|
|
|
|
// (POST /integrations/chat/system/client/{clientId})
|
|
|
|
SendSystemMessageToConnectedClient(w http.ResponseWriter, r *http.Request, clientId int)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/user)
|
|
|
|
SendUserMessageOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Send a user message to chat
|
|
|
|
// (POST /integrations/chat/user)
|
|
|
|
SendUserMessage(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Connected clients
|
|
|
|
// (GET /integrations/clients)
|
|
|
|
ExternalGetConnectedChatClients(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/clients)
|
|
|
|
ExternalGetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/streamtitle)
|
|
|
|
ExternalSetStreamTitleOptions(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Stream title
|
|
|
|
// (POST /integrations/streamtitle)
|
|
|
|
ExternalSetStreamTitle(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Save video playback metrics for future video health recording
|
|
|
|
// (POST /metrics/playback)
|
|
|
|
ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a user's details
|
|
|
|
// (GET /moderation/chat/user/{userId})
|
|
|
|
GetUserDetails(w http.ResponseWriter, r *http.Request, userId string, params GetUserDetailsParams)
|
|
|
|
// Register for notifications
|
|
|
|
// (POST /notifications/register)
|
|
|
|
RegisterForLiveNotifications(w http.ResponseWriter, r *http.Request, params RegisterForLiveNotificationsParams)
|
|
|
|
// Tell the backend you're an active viewer
|
|
|
|
// (GET /ping)
|
|
|
|
Ping(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Request remote follow
|
|
|
|
// (POST /remotefollow)
|
|
|
|
RemoteFollow(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get all social platforms
|
|
|
|
// (GET /socialplatforms)
|
|
|
|
GetAllSocialPlatforms(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get the status of the server
|
|
|
|
// (GET /status)
|
|
|
|
GetStatus(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get a list of video variants available
|
|
|
|
// (GET /video/variants)
|
|
|
|
GetVideoStreamOutputVariants(w http.ResponseWriter, r *http.Request)
|
|
|
|
// Get the YP protocol data
|
|
|
|
// (GET /yp)
|
|
|
|
GetYPResponse(w http.ResponseWriter, r *http.Request)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Unimplemented server implementation that returns http.StatusNotImplemented for each endpoint.
|
|
|
|
|
|
|
|
type Unimplemented struct{}
|
|
|
|
|
|
|
|
// Get all access tokens
|
|
|
|
// (GET /admin/accesstokens)
|
|
|
|
func (_ Unimplemented) GetExternalAPIUsers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens)
|
|
|
|
func (_ Unimplemented) GetExternalAPIUsersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens/create)
|
|
|
|
func (_ Unimplemented) CreateExternalAPIUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Create a single access token
|
|
|
|
// (POST /admin/accesstokens/create)
|
|
|
|
func (_ Unimplemented) CreateExternalAPIUser(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/accesstokens/delete)
|
|
|
|
func (_ Unimplemented) DeleteExternalAPIUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Delete a single external API user
|
|
|
|
// (POST /admin/accesstokens/delete)
|
|
|
|
func (_ Unimplemented) DeleteExternalAPIUser(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a detailed list of currently connected chat clients
|
|
|
|
// (GET /admin/chat/clients)
|
|
|
|
func (_ Unimplemented) GetConnectedChatClients(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/clients)
|
|
|
|
func (_ Unimplemented) GetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get all chat messages for the admin, unfiltered
|
|
|
|
// (GET /admin/chat/messages)
|
|
|
|
func (_ Unimplemented) GetChatMessagesAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/messages)
|
|
|
|
func (_ Unimplemented) GetChatMessagesAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/messagevisibility)
|
|
|
|
func (_ Unimplemented) UpdateMessageVisibilityAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update visibility of chat messages
|
|
|
|
// (POST /admin/chat/messagevisibility)
|
|
|
|
func (_ Unimplemented) UpdateMessageVisibilityAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a list of disabled users
|
|
|
|
// (GET /admin/chat/users/disabled)
|
|
|
|
func (_ Unimplemented) GetDisabledUsers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/disabled)
|
|
|
|
func (_ Unimplemented) GetDisabledUsersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get all banned IP addresses
|
|
|
|
// (GET /admin/chat/users/ipbans)
|
|
|
|
func (_ Unimplemented) GetIPAddressBans(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans)
|
|
|
|
func (_ Unimplemented) GetIPAddressBansOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans/create)
|
|
|
|
func (_ Unimplemented) BanIPAddressOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Ban an IP address
|
|
|
|
// (POST /admin/chat/users/ipbans/create)
|
|
|
|
func (_ Unimplemented) BanIPAddress(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/ipbans/remove)
|
|
|
|
func (_ Unimplemented) UnbanIPAddressOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Remove an IP ban
|
|
|
|
// (POST /admin/chat/users/ipbans/remove)
|
|
|
|
func (_ Unimplemented) UnbanIPAddress(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a list of moderator users
|
|
|
|
// (GET /admin/chat/users/moderators)
|
|
|
|
func (_ Unimplemented) GetModerators(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/moderators)
|
|
|
|
func (_ Unimplemented) GetModeratorsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/setenabled)
|
|
|
|
func (_ Unimplemented) UpdateUserEnabledAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable or disable a user
|
|
|
|
// (POST /admin/chat/users/setenabled)
|
|
|
|
func (_ Unimplemented) UpdateUserEnabledAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/chat/users/setmoderator)
|
|
|
|
func (_ Unimplemented) UpdateUserModeratorOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set moderator status for a user
|
|
|
|
// (POST /admin/chat/users/setmoderator)
|
|
|
|
func (_ Unimplemented) UpdateUserModerator(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/adminpass)
|
|
|
|
func (_ Unimplemented) SetAdminPasswordOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the current admin password
|
|
|
|
// (POST /admin/config/adminpass)
|
|
|
|
func (_ Unimplemented) SetAdminPassword(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/appearance)
|
|
|
|
func (_ Unimplemented) SetCustomColorVariableValuesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set style/color/css values
|
|
|
|
// (POST /admin/config/appearance)
|
|
|
|
func (_ Unimplemented) SetCustomColorVariableValues(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/disable)
|
|
|
|
func (_ Unimplemented) SetChatDisabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Disable chat
|
|
|
|
// (POST /admin/config/chat/disable)
|
|
|
|
func (_ Unimplemented) SetChatDisabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/establishedusermode)
|
|
|
|
func (_ Unimplemented) SetEnableEstablishedChatUserModeOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable/disable chat established user mode
|
|
|
|
// (POST /admin/config/chat/establishedusermode)
|
|
|
|
func (_ Unimplemented) SetEnableEstablishedChatUserMode(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/forbiddenusernames)
|
|
|
|
func (_ Unimplemented) SetForbiddenUsernameListOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set chat usernames that are not allowed
|
|
|
|
// (POST /admin/config/chat/forbiddenusernames)
|
|
|
|
func (_ Unimplemented) SetForbiddenUsernameList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/joinmessagesenabled)
|
|
|
|
func (_ Unimplemented) SetChatJoinMessagesEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable chat for user join messages
|
|
|
|
// (POST /admin/config/chat/joinmessagesenabled)
|
|
|
|
func (_ Unimplemented) SetChatJoinMessagesEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/slurfilterenabled)
|
|
|
|
func (_ Unimplemented) SetChatSlurFilterEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set slur filter enabled
|
|
|
|
// (POST /admin/config/chat/slurfilterenabled)
|
|
|
|
func (_ Unimplemented) SetChatSlurFilterEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/spamprotectionenabled)
|
|
|
|
func (_ Unimplemented) SetChatSpamProtectionEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set spam protection enabled
|
|
|
|
// (POST /admin/config/chat/spamprotectionenabled)
|
|
|
|
func (_ Unimplemented) SetChatSpamProtectionEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/chat/suggestedusernames)
|
|
|
|
func (_ Unimplemented) SetSuggestedUsernameListOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set the suggested chat usernames that will be assigned automatically
|
|
|
|
// (POST /admin/config/chat/suggestedusernames)
|
|
|
|
func (_ Unimplemented) SetSuggestedUsernameList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/customjavascript)
|
|
|
|
func (_ Unimplemented) SetCustomJavascriptOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update custom JavaScript
|
|
|
|
// (POST /admin/config/customjavascript)
|
|
|
|
func (_ Unimplemented) SetCustomJavascript(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/customstyles)
|
|
|
|
func (_ Unimplemented) SetCustomStylesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update custom styles
|
|
|
|
// (POST /admin/config/customstyles)
|
|
|
|
func (_ Unimplemented) SetCustomStyles(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/directoryenabled)
|
|
|
|
func (_ Unimplemented) SetDirectoryEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update directory enabled
|
|
|
|
// (POST /admin/config/directoryenabled)
|
|
|
|
func (_ Unimplemented) SetDirectoryEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/disablesearchindexing)
|
|
|
|
func (_ Unimplemented) SetDisableSearchIndexingOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update search indexing
|
|
|
|
// (POST /admin/config/disablesearchindexing)
|
|
|
|
func (_ Unimplemented) SetDisableSearchIndexing(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/externalactions)
|
|
|
|
func (_ Unimplemented) SetExternalActionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update external action links
|
|
|
|
// (POST /admin/config/externalactions)
|
|
|
|
func (_ Unimplemented) SetExternalActions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/blockdomains)
|
|
|
|
func (_ Unimplemented) SetFederationBlockDomainsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set Federation blocked domains
|
|
|
|
// (POST /admin/config/federation/blockdomains)
|
|
|
|
func (_ Unimplemented) SetFederationBlockDomains(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/enable)
|
|
|
|
func (_ Unimplemented) SetFederationEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable/disable federation features
|
|
|
|
// (POST /admin/config/federation/enable)
|
|
|
|
func (_ Unimplemented) SetFederationEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/livemessage)
|
|
|
|
func (_ Unimplemented) SetFederationGoLiveMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set federated go live message
|
|
|
|
// (POST /admin/config/federation/livemessage)
|
|
|
|
func (_ Unimplemented) SetFederationGoLiveMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/private)
|
|
|
|
func (_ Unimplemented) SetFederationActivityPrivateOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set if federation activities are private
|
|
|
|
// (POST /admin/config/federation/private)
|
|
|
|
func (_ Unimplemented) SetFederationActivityPrivate(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/showengagement)
|
|
|
|
func (_ Unimplemented) SetFederationShowEngagementOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set if fediverse engagement appears in chat
|
|
|
|
// (POST /admin/config/federation/showengagement)
|
|
|
|
func (_ Unimplemented) SetFederationShowEngagement(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/federation/username)
|
|
|
|
func (_ Unimplemented) SetFederationUsernameOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set local federated username
|
|
|
|
// (POST /admin/config/federation/username)
|
|
|
|
func (_ Unimplemented) SetFederationUsername(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/ffmpegpath)
|
|
|
|
func (_ Unimplemented) SetFfmpegPathOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update FFMPEG path
|
|
|
|
// (POST /admin/config/ffmpegpath)
|
|
|
|
func (_ Unimplemented) SetFfmpegPath(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/hideviewercount)
|
|
|
|
func (_ Unimplemented) SetHideViewerCountOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update hide viewer count
|
|
|
|
// (POST /admin/config/hideviewercount)
|
|
|
|
func (_ Unimplemented) SetHideViewerCount(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/logo)
|
|
|
|
func (_ Unimplemented) SetLogoOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update logo
|
|
|
|
// (POST /admin/config/logo)
|
|
|
|
func (_ Unimplemented) SetLogo(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/name)
|
|
|
|
func (_ Unimplemented) SetServerNameOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the server name
|
|
|
|
// (POST /admin/config/name)
|
|
|
|
func (_ Unimplemented) SetServerName(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/notifications/browser)
|
|
|
|
func (_ Unimplemented) SetBrowserNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Configure Browser notifications
|
|
|
|
// (POST /admin/config/notifications/browser)
|
|
|
|
func (_ Unimplemented) SetBrowserNotificationConfiguration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/notifications/discord)
|
|
|
|
func (_ Unimplemented) SetDiscordNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Configure Discord notifications
|
|
|
|
// (POST /admin/config/notifications/discord)
|
|
|
|
func (_ Unimplemented) SetDiscordNotificationConfiguration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/nsfw)
|
|
|
|
func (_ Unimplemented) SetNSFWOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update NSFW marking
|
|
|
|
// (POST /admin/config/nsfw)
|
|
|
|
func (_ Unimplemented) SetNSFW(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/offlinemessage)
|
|
|
|
func (_ Unimplemented) SetCustomOfflineMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the offline message
|
|
|
|
// (POST /admin/config/offlinemessage)
|
|
|
|
func (_ Unimplemented) SetCustomOfflineMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/pagecontent)
|
|
|
|
func (_ Unimplemented) SetExtraPageContentOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the extra page content in memory
|
|
|
|
// (POST /admin/config/pagecontent)
|
|
|
|
func (_ Unimplemented) SetExtraPageContent(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/rtmpserverport)
|
|
|
|
func (_ Unimplemented) SetRTMPServerPortOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update RTMP post
|
|
|
|
// (POST /admin/config/rtmpserverport)
|
|
|
|
func (_ Unimplemented) SetRTMPServerPort(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/s3)
|
|
|
|
func (_ Unimplemented) SetS3ConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update S3 configuration
|
|
|
|
// (POST /admin/config/s3)
|
|
|
|
func (_ Unimplemented) SetS3Configuration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/serversummary)
|
|
|
|
func (_ Unimplemented) SetServerSummaryOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the server summary
|
|
|
|
// (POST /admin/config/serversummary)
|
|
|
|
func (_ Unimplemented) SetServerSummary(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/serverurl)
|
|
|
|
func (_ Unimplemented) SetServerURLOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update server url
|
|
|
|
// (POST /admin/config/serverurl)
|
|
|
|
func (_ Unimplemented) SetServerURL(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/socialhandles)
|
|
|
|
func (_ Unimplemented) SetSocialHandlesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update social handles
|
|
|
|
// (POST /admin/config/socialhandles)
|
|
|
|
func (_ Unimplemented) SetSocialHandles(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/sockethostoverride)
|
|
|
|
func (_ Unimplemented) SetSocketHostOverrideOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update websocket host override
|
|
|
|
// (POST /admin/config/sockethostoverride)
|
|
|
|
func (_ Unimplemented) SetSocketHostOverride(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/streamkeys)
|
|
|
|
func (_ Unimplemented) SetStreamKeysOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set an array of valid stream keys
|
|
|
|
// (POST /admin/config/streamkeys)
|
|
|
|
func (_ Unimplemented) SetStreamKeys(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/streamtitle)
|
|
|
|
func (_ Unimplemented) SetStreamTitleOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the stream title
|
|
|
|
// (POST /admin/config/streamtitle)
|
|
|
|
func (_ Unimplemented) SetStreamTitle(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/tags)
|
|
|
|
func (_ Unimplemented) SetTagsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update server tags
|
|
|
|
// (POST /admin/config/tags)
|
|
|
|
func (_ Unimplemented) SetTags(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/codec)
|
|
|
|
func (_ Unimplemented) SetVideoCodecOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set video codec
|
|
|
|
// (POST /admin/config/video/codec)
|
|
|
|
func (_ Unimplemented) SetVideoCodec(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/streamlatencylevel)
|
|
|
|
func (_ Unimplemented) SetStreamLatencyLevelOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set the number of video segments and duration per segment in a playlist
|
|
|
|
// (POST /admin/config/video/streamlatencylevel)
|
|
|
|
func (_ Unimplemented) SetStreamLatencyLevel(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/video/streamoutputvariants)
|
|
|
|
func (_ Unimplemented) SetStreamOutputVariantsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set an array of video output configurations
|
|
|
|
// (POST /admin/config/video/streamoutputvariants)
|
|
|
|
func (_ Unimplemented) SetStreamOutputVariants(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/videoservingendpoint)
|
|
|
|
func (_ Unimplemented) SetVideoServingEndpointOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update custom video serving endpoint
|
|
|
|
// (POST /admin/config/videoservingendpoint)
|
|
|
|
func (_ Unimplemented) SetVideoServingEndpoint(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/webserverip)
|
|
|
|
func (_ Unimplemented) SetWebServerIPOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update server IP address
|
|
|
|
// (POST /admin/config/webserverip)
|
|
|
|
func (_ Unimplemented) SetWebServerIP(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/webserverport)
|
|
|
|
func (_ Unimplemented) SetWebServerPortOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update server port
|
|
|
|
// (POST /admin/config/webserverport)
|
|
|
|
func (_ Unimplemented) SetWebServerPort(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/config/welcomemessage)
|
|
|
|
func (_ Unimplemented) SetServerWelcomeMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Change the welcome message
|
|
|
|
// (POST /admin/config/welcomemessage)
|
|
|
|
func (_ Unimplemented) SetServerWelcomeMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Disconnect inbound stream
|
|
|
|
// (GET /admin/disconnect)
|
|
|
|
func (_ Unimplemented) DisconnectInboundConnection(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/disconnect)
|
|
|
|
func (_ Unimplemented) DisconnectInboundConnectionOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/emoji/delete)
|
|
|
|
func (_ Unimplemented) DeleteCustomEmojiOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Delete custom emoji
|
|
|
|
// (POST /admin/emoji/delete)
|
|
|
|
func (_ Unimplemented) DeleteCustomEmoji(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/emoji/upload)
|
|
|
|
func (_ Unimplemented) UploadCustomEmojiOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Upload custom emoji
|
|
|
|
// (POST /admin/emoji/upload)
|
|
|
|
func (_ Unimplemented) UploadCustomEmoji(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a paginated list of federated activities
|
|
|
|
// (GET /admin/federation/actions)
|
|
|
|
func (_ Unimplemented) GetFederatedActions(w http.ResponseWriter, r *http.Request, params GetFederatedActionsParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/federation/actions)
|
|
|
|
func (_ Unimplemented) GetFederatedActionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/federation/send)
|
|
|
|
func (_ Unimplemented) SendFederatedMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a public message to the Fediverse from the server's user
|
|
|
|
// (POST /admin/federation/send)
|
|
|
|
func (_ Unimplemented) SendFederatedMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get followers
|
|
|
|
// (GET /admin/followers)
|
|
|
|
func (_ Unimplemented) GetFollowersAdmin(w http.ResponseWriter, r *http.Request, params GetFollowersAdminParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers)
|
|
|
|
func (_ Unimplemented) GetFollowersAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/approve)
|
|
|
|
func (_ Unimplemented) ApproveFollowerOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set the following state of a follower or follow request
|
|
|
|
// (POST /admin/followers/approve)
|
|
|
|
func (_ Unimplemented) ApproveFollower(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a list of rejected or blocked follows
|
|
|
|
// (GET /admin/followers/blocked)
|
|
|
|
func (_ Unimplemented) GetBlockedAndRejectedFollowers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/blocked)
|
|
|
|
func (_ Unimplemented) GetBlockedAndRejectedFollowersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a list of pending follow requests
|
|
|
|
// (GET /admin/followers/pending)
|
|
|
|
func (_ Unimplemented) GetPendingFollowRequests(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/followers/pending)
|
|
|
|
func (_ Unimplemented) GetPendingFollowRequestsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the current hardware stats
|
|
|
|
// (GET /admin/hardwarestats)
|
|
|
|
func (_ Unimplemented) GetHardwareStats(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/hardwarestats)
|
|
|
|
func (_ Unimplemented) GetHardwareStatsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get all logs
|
|
|
|
// (GET /admin/logs)
|
|
|
|
func (_ Unimplemented) GetLogs(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/logs)
|
|
|
|
func (_ Unimplemented) GetLogsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get warning/error logs
|
|
|
|
// (GET /admin/logs/warnings)
|
|
|
|
func (_ Unimplemented) GetWarnings(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/logs/warnings)
|
|
|
|
func (_ Unimplemented) GetWarningsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get video playback metrics
|
|
|
|
// (GET /admin/metrics/video)
|
|
|
|
func (_ Unimplemented) GetVideoPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/metrics/video)
|
|
|
|
func (_ Unimplemented) GetVideoPlaybackMetricsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (DELETE /admin/prometheus)
|
|
|
|
func (_ Unimplemented) DeletePrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (GET /admin/prometheus)
|
|
|
|
func (_ Unimplemented) GetPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (OPTIONS /admin/prometheus)
|
|
|
|
func (_ Unimplemented) OptionsPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (POST /admin/prometheus)
|
|
|
|
func (_ Unimplemented) PostPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Endpoint to interface with Prometheus
|
|
|
|
// (PUT /admin/prometheus)
|
|
|
|
func (_ Unimplemented) PutPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the current server config
|
|
|
|
// (GET /admin/serverconfig)
|
|
|
|
func (_ Unimplemented) GetServerConfig(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/serverconfig)
|
|
|
|
func (_ Unimplemented) GetServerConfigOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get current inboard broadcaster
|
|
|
|
// (GET /admin/status)
|
|
|
|
func (_ Unimplemented) StatusAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/status)
|
|
|
|
func (_ Unimplemented) StatusAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Force quit the server and restart it
|
|
|
|
// (GET /admin/update/forcequit)
|
|
|
|
func (_ Unimplemented) AutoUpdateForceQuit(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/forcequit)
|
|
|
|
func (_ Unimplemented) AutoUpdateForceQuitOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Return the auto-update features that are supported for this instance
|
|
|
|
// (GET /admin/update/options)
|
|
|
|
func (_ Unimplemented) AutoUpdateOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/options)
|
|
|
|
func (_ Unimplemented) AutoUpdateOptionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Begin the auto-update
|
|
|
|
// (GET /admin/update/start)
|
|
|
|
func (_ Unimplemented) AutoUpdateStart(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/update/start)
|
|
|
|
func (_ Unimplemented) AutoUpdateStartOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get active viewers
|
|
|
|
// (GET /admin/viewers)
|
|
|
|
func (_ Unimplemented) GetActiveViewers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/viewers)
|
|
|
|
func (_ Unimplemented) GetActiveViewersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get viewer count over time
|
|
|
|
// (GET /admin/viewersOverTime)
|
|
|
|
func (_ Unimplemented) GetViewersOverTime(w http.ResponseWriter, r *http.Request, params GetViewersOverTimeParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/viewersOverTime)
|
|
|
|
func (_ Unimplemented) GetViewersOverTimeOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get all the webhooks
|
|
|
|
// (GET /admin/webhooks)
|
|
|
|
func (_ Unimplemented) GetWebhooks(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks)
|
|
|
|
func (_ Unimplemented) GetWebhooksOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks/create)
|
|
|
|
func (_ Unimplemented) CreateWebhookOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Create a single webhook
|
|
|
|
// (POST /admin/webhooks/create)
|
|
|
|
func (_ Unimplemented) CreateWebhook(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/webhooks/delete)
|
|
|
|
func (_ Unimplemented) DeleteWebhookOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Delete a single webhook
|
|
|
|
// (POST /admin/webhooks/delete)
|
|
|
|
func (_ Unimplemented) DeleteWebhook(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Reset YP configuration
|
|
|
|
// (GET /admin/yp/reset)
|
|
|
|
func (_ Unimplemented) ResetYPRegistration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /admin/yp/reset)
|
|
|
|
func (_ Unimplemented) ResetYPRegistrationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Register a Fediverse OTP request
|
|
|
|
// (POST /auth/fediverse)
|
|
|
|
func (_ Unimplemented) RegisterFediverseOTPRequest(w http.ResponseWriter, r *http.Request, params RegisterFediverseOTPRequestParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Verify Fediverse OTP code
|
|
|
|
// (POST /auth/fediverse/verify)
|
|
|
|
func (_ Unimplemented) VerifyFediverseOTPRequest(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Begins auth flow
|
|
|
|
// (POST /auth/indieauth)
|
|
|
|
func (_ Unimplemented) StartIndieAuthFlow(w http.ResponseWriter, r *http.Request, params StartIndieAuthFlowParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handle the redirect from an IndieAuth server to continue the auth flow
|
|
|
|
// (GET /auth/indieauth/callback)
|
|
|
|
func (_ Unimplemented) HandleIndieAuthRedirect(w http.ResponseWriter, r *http.Request, params HandleIndieAuthRedirectParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handles the IndieAuth auth endpoint
|
|
|
|
// (GET /auth/provider/indieauth)
|
|
|
|
func (_ Unimplemented) HandleIndieAuthEndpointGet(w http.ResponseWriter, r *http.Request, params HandleIndieAuthEndpointGetParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handles IndieAuth from form submission
|
|
|
|
// (POST /auth/provider/indieauth)
|
|
|
|
func (_ Unimplemented) HandleIndieAuthEndpointPost(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Gets a list of chat messages
|
|
|
|
// (GET /chat)
|
|
|
|
func (_ Unimplemented) GetChatMessages(w http.ResponseWriter, r *http.Request, params GetChatMessagesParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update chat message visibility
|
|
|
|
// (POST /chat/messagevisibility)
|
|
|
|
func (_ Unimplemented) UpdateMessageVisibility(w http.ResponseWriter, r *http.Request, params UpdateMessageVisibilityParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /chat/register)
|
|
|
|
func (_ Unimplemented) RegisterAnonymousChatUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Registers an anonymous chat user
|
|
|
|
// (POST /chat/register)
|
|
|
|
func (_ Unimplemented) RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request, params RegisterAnonymousChatUserParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Enable/disable a user
|
|
|
|
// (POST /chat/users/setenabled)
|
|
|
|
func (_ Unimplemented) UpdateUserEnabled(w http.ResponseWriter, r *http.Request, params UpdateUserEnabledParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the web config
|
|
|
|
// (GET /config)
|
|
|
|
func (_ Unimplemented) GetWebConfig(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get list of custom emojis supported in the chat
|
|
|
|
// (GET /emoji)
|
|
|
|
func (_ Unimplemented) GetCustomEmojiList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Gets the list of followers
|
|
|
|
// (GET /followers)
|
|
|
|
func (_ Unimplemented) GetFollowers(w http.ResponseWriter, r *http.Request, params GetFollowersParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get chat history
|
|
|
|
// (GET /integrations/chat)
|
|
|
|
func (_ Unimplemented) ExternalGetChatMessages(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat)
|
|
|
|
func (_ Unimplemented) ExternalGetChatMessagesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/action)
|
|
|
|
func (_ Unimplemented) SendChatActionOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a user action to chat
|
|
|
|
// (POST /integrations/chat/action)
|
|
|
|
func (_ Unimplemented) SendChatAction(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/messagevisibility)
|
|
|
|
func (_ Unimplemented) ExternalUpdateMessageVisibilityOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Hide chat message
|
|
|
|
// (POST /integrations/chat/messagevisibility)
|
|
|
|
func (_ Unimplemented) ExternalUpdateMessageVisibility(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/send)
|
|
|
|
func (_ Unimplemented) SendIntegrationChatMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a message to chat as a specific 3rd party bot/integration based on its access token
|
|
|
|
// (POST /integrations/chat/send)
|
|
|
|
func (_ Unimplemented) SendIntegrationChatMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/system)
|
|
|
|
func (_ Unimplemented) SendSystemMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a system message to the chat
|
|
|
|
// (POST /integrations/chat/system)
|
|
|
|
func (_ Unimplemented) SendSystemMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/system/client/{clientId})
|
|
|
|
func (_ Unimplemented) SendSystemMessageToConnectedClientOptions(w http.ResponseWriter, r *http.Request, clientId int) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a system message to a single client
|
|
|
|
// (POST /integrations/chat/system/client/{clientId})
|
|
|
|
func (_ Unimplemented) SendSystemMessageToConnectedClient(w http.ResponseWriter, r *http.Request, clientId int) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/chat/user)
|
|
|
|
func (_ Unimplemented) SendUserMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Send a user message to chat
|
|
|
|
// (POST /integrations/chat/user)
|
|
|
|
func (_ Unimplemented) SendUserMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Connected clients
|
|
|
|
// (GET /integrations/clients)
|
|
|
|
func (_ Unimplemented) ExternalGetConnectedChatClients(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/clients)
|
|
|
|
func (_ Unimplemented) ExternalGetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// (OPTIONS /integrations/streamtitle)
|
|
|
|
func (_ Unimplemented) ExternalSetStreamTitleOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Stream title
|
|
|
|
// (POST /integrations/streamtitle)
|
|
|
|
func (_ Unimplemented) ExternalSetStreamTitle(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Save video playback metrics for future video health recording
|
|
|
|
// (POST /metrics/playback)
|
|
|
|
func (_ Unimplemented) ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a user's details
|
|
|
|
// (GET /moderation/chat/user/{userId})
|
|
|
|
func (_ Unimplemented) GetUserDetails(w http.ResponseWriter, r *http.Request, userId string, params GetUserDetailsParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Register for notifications
|
|
|
|
// (POST /notifications/register)
|
|
|
|
func (_ Unimplemented) RegisterForLiveNotifications(w http.ResponseWriter, r *http.Request, params RegisterForLiveNotificationsParams) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Tell the backend you're an active viewer
|
|
|
|
// (GET /ping)
|
|
|
|
func (_ Unimplemented) Ping(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Request remote follow
|
|
|
|
// (POST /remotefollow)
|
|
|
|
func (_ Unimplemented) RemoteFollow(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get all social platforms
|
|
|
|
// (GET /socialplatforms)
|
|
|
|
func (_ Unimplemented) GetAllSocialPlatforms(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the status of the server
|
|
|
|
// (GET /status)
|
|
|
|
func (_ Unimplemented) GetStatus(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get a list of video variants available
|
|
|
|
// (GET /video/variants)
|
|
|
|
func (_ Unimplemented) GetVideoStreamOutputVariants(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the YP protocol data
|
|
|
|
// (GET /yp)
|
|
|
|
func (_ Unimplemented) GetYPResponse(w http.ResponseWriter, r *http.Request) {
|
|
|
|
w.WriteHeader(http.StatusNotImplemented)
|
|
|
|
}
|
|
|
|
|
|
|
|
// ServerInterfaceWrapper converts contexts to parameters.
|
|
|
|
type ServerInterfaceWrapper struct {
|
|
|
|
Handler ServerInterface
|
|
|
|
HandlerMiddlewares []MiddlewareFunc
|
|
|
|
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
|
|
|
}
|
|
|
|
|
|
|
|
type MiddlewareFunc func(http.Handler) http.Handler
|
|
|
|
|
|
|
|
// GetExternalAPIUsers operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetExternalAPIUsers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetExternalAPIUsers(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetExternalAPIUsersOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetExternalAPIUsersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetExternalAPIUsersOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateExternalAPIUserOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) CreateExternalAPIUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.CreateExternalAPIUserOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateExternalAPIUser operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) CreateExternalAPIUser(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.CreateExternalAPIUser(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteExternalAPIUserOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteExternalAPIUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteExternalAPIUserOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteExternalAPIUser operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteExternalAPIUser(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteExternalAPIUser(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetConnectedChatClients operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetConnectedChatClients(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetConnectedChatClients(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetConnectedChatClientsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetConnectedChatClientsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetChatMessagesAdmin operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetChatMessagesAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetChatMessagesAdmin(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetChatMessagesAdminOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetChatMessagesAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetChatMessagesAdminOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateMessageVisibilityAdminOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateMessageVisibilityAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateMessageVisibilityAdminOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateMessageVisibilityAdmin operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateMessageVisibilityAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateMessageVisibilityAdmin(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetDisabledUsers operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetDisabledUsers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetDisabledUsers(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetDisabledUsersOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetDisabledUsersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetDisabledUsersOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetIPAddressBans operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetIPAddressBans(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetIPAddressBans(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetIPAddressBansOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetIPAddressBansOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetIPAddressBansOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// BanIPAddressOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) BanIPAddressOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.BanIPAddressOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// BanIPAddress operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) BanIPAddress(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.BanIPAddress(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UnbanIPAddressOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UnbanIPAddressOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UnbanIPAddressOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UnbanIPAddress operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UnbanIPAddress(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UnbanIPAddress(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetModerators operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetModerators(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetModerators(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetModeratorsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetModeratorsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetModeratorsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateUserEnabledAdminOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateUserEnabledAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateUserEnabledAdminOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateUserEnabledAdmin operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateUserEnabledAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateUserEnabledAdmin(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateUserModeratorOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateUserModeratorOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateUserModeratorOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateUserModerator operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateUserModerator(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateUserModerator(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminPasswordOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetAdminPasswordOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetAdminPasswordOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminPassword operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetAdminPassword(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetAdminPassword(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomColorVariableValuesOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomColorVariableValuesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomColorVariableValuesOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomColorVariableValues operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomColorVariableValues(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomColorVariableValues(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatDisabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatDisabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatDisabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatDisabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatDisabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatDisabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetEnableEstablishedChatUserModeOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetEnableEstablishedChatUserModeOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetEnableEstablishedChatUserModeOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetEnableEstablishedChatUserMode operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetEnableEstablishedChatUserMode(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetEnableEstablishedChatUserMode(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetForbiddenUsernameListOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetForbiddenUsernameListOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetForbiddenUsernameListOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetForbiddenUsernameList operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetForbiddenUsernameList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetForbiddenUsernameList(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatJoinMessagesEnabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatJoinMessagesEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatJoinMessagesEnabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatJoinMessagesEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatJoinMessagesEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatJoinMessagesEnabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatSlurFilterEnabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatSlurFilterEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatSlurFilterEnabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatSlurFilterEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatSlurFilterEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatSlurFilterEnabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatSpamProtectionEnabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatSpamProtectionEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatSpamProtectionEnabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetChatSpamProtectionEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetChatSpamProtectionEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetChatSpamProtectionEnabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSuggestedUsernameListOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSuggestedUsernameListOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSuggestedUsernameListOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSuggestedUsernameList operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSuggestedUsernameList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSuggestedUsernameList(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomJavascriptOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomJavascriptOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomJavascriptOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomJavascript operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomJavascript(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomJavascript(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomStylesOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomStylesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomStylesOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomStyles operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomStyles(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomStyles(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDirectoryEnabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDirectoryEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDirectoryEnabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDirectoryEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDirectoryEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDirectoryEnabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDisableSearchIndexingOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDisableSearchIndexingOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDisableSearchIndexingOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDisableSearchIndexing operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDisableSearchIndexing(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDisableSearchIndexing(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetExternalActionsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetExternalActionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetExternalActionsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetExternalActions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetExternalActions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetExternalActions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationBlockDomainsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationBlockDomainsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationBlockDomainsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationBlockDomains operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationBlockDomains(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationBlockDomains(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationEnabledOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationEnabledOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationEnabledOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationEnabled(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationGoLiveMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationGoLiveMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationGoLiveMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationGoLiveMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationGoLiveMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationGoLiveMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationActivityPrivateOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationActivityPrivateOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationActivityPrivateOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationActivityPrivate operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationActivityPrivate(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationActivityPrivate(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationShowEngagementOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationShowEngagementOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationShowEngagementOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationShowEngagement operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationShowEngagement(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationShowEngagement(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationUsernameOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationUsernameOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationUsernameOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFederationUsername operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFederationUsername(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFederationUsername(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFfmpegPathOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFfmpegPathOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFfmpegPathOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetFfmpegPath operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetFfmpegPath(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetFfmpegPath(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHideViewerCountOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetHideViewerCountOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetHideViewerCountOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHideViewerCount operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetHideViewerCount(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetHideViewerCount(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLogoOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetLogoOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetLogoOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLogo operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetLogo(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetLogo(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerNameOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerNameOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerNameOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerName operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerName(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerName(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetBrowserNotificationConfigurationOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetBrowserNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetBrowserNotificationConfigurationOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetBrowserNotificationConfiguration operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetBrowserNotificationConfiguration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetBrowserNotificationConfiguration(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDiscordNotificationConfigurationOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDiscordNotificationConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDiscordNotificationConfigurationOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDiscordNotificationConfiguration operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetDiscordNotificationConfiguration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetDiscordNotificationConfiguration(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetNSFWOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetNSFWOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetNSFWOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetNSFW operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetNSFW(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetNSFW(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomOfflineMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomOfflineMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomOfflineMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCustomOfflineMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetCustomOfflineMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetCustomOfflineMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetExtraPageContentOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetExtraPageContentOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetExtraPageContentOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetExtraPageContent operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetExtraPageContent(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetExtraPageContent(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetRTMPServerPortOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetRTMPServerPortOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetRTMPServerPortOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetRTMPServerPort operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetRTMPServerPort(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetRTMPServerPort(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetS3ConfigurationOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetS3ConfigurationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetS3ConfigurationOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetS3Configuration operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetS3Configuration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetS3Configuration(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerSummaryOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerSummaryOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerSummaryOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerSummary operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerSummary(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerSummary(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerURLOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerURLOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerURLOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerURL operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerURL(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerURL(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSocialHandlesOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSocialHandlesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSocialHandlesOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSocialHandles operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSocialHandles(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSocialHandles(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSocketHostOverrideOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSocketHostOverrideOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSocketHostOverrideOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSocketHostOverride operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetSocketHostOverride(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetSocketHostOverride(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamKeysOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamKeysOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamKeysOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamKeys operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamKeys(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamKeys(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamTitleOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamTitleOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamTitleOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamTitle operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamTitle(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamTitle(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTagsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetTagsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetTagsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTags operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetTags(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetTags(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetVideoCodecOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetVideoCodecOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetVideoCodecOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetVideoCodec operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetVideoCodec(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetVideoCodec(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamLatencyLevelOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamLatencyLevelOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamLatencyLevelOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamLatencyLevel operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamLatencyLevel(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamLatencyLevel(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamOutputVariantsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamOutputVariantsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamOutputVariantsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStreamOutputVariants operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetStreamOutputVariants(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetStreamOutputVariants(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetVideoServingEndpointOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetVideoServingEndpointOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetVideoServingEndpointOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetVideoServingEndpoint operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetVideoServingEndpoint(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetVideoServingEndpoint(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebServerIPOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetWebServerIPOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetWebServerIPOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebServerIP operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetWebServerIP(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetWebServerIP(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebServerPortOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetWebServerPortOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetWebServerPortOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebServerPort operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetWebServerPort(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetWebServerPort(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerWelcomeMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerWelcomeMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerWelcomeMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetServerWelcomeMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SetServerWelcomeMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SetServerWelcomeMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DisconnectInboundConnection operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DisconnectInboundConnection(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DisconnectInboundConnection(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DisconnectInboundConnectionOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DisconnectInboundConnectionOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DisconnectInboundConnectionOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteCustomEmojiOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteCustomEmojiOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteCustomEmojiOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteCustomEmoji operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteCustomEmoji(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteCustomEmoji(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UploadCustomEmojiOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UploadCustomEmojiOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UploadCustomEmojiOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UploadCustomEmoji operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UploadCustomEmoji(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UploadCustomEmoji(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetFederatedActions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetFederatedActions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetFederatedActionsParams
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "offset" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetFederatedActions(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetFederatedActionsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetFederatedActionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetFederatedActionsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendFederatedMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendFederatedMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendFederatedMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendFederatedMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendFederatedMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendFederatedMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetFollowersAdmin operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetFollowersAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetFollowersAdminParams
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "offset" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetFollowersAdmin(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetFollowersAdminOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetFollowersAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetFollowersAdminOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ApproveFollowerOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ApproveFollowerOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ApproveFollowerOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ApproveFollower operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ApproveFollower(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ApproveFollower(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetBlockedAndRejectedFollowers operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetBlockedAndRejectedFollowers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetBlockedAndRejectedFollowers(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetBlockedAndRejectedFollowersOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetBlockedAndRejectedFollowersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetBlockedAndRejectedFollowersOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetPendingFollowRequests operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetPendingFollowRequests(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetPendingFollowRequests(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetPendingFollowRequestsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetPendingFollowRequestsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetPendingFollowRequestsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetHardwareStats operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetHardwareStats(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetHardwareStats(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetHardwareStatsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetHardwareStatsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetHardwareStatsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetLogs operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetLogs(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetLogs(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetLogsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetLogsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetLogsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetWarnings operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetWarnings(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetWarnings(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetWarningsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetWarningsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetWarningsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetVideoPlaybackMetrics operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetVideoPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetVideoPlaybackMetrics(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetVideoPlaybackMetricsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetVideoPlaybackMetricsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetVideoPlaybackMetricsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeletePrometheusAPI operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeletePrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeletePrometheusAPI(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetPrometheusAPI operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetPrometheusAPI(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// OptionsPrometheusAPI operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) OptionsPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.OptionsPrometheusAPI(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// PostPrometheusAPI operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) PostPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.PostPrometheusAPI(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// PutPrometheusAPI operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) PutPrometheusAPI(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.PutPrometheusAPI(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetServerConfig operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetServerConfig(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetServerConfig(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetServerConfigOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetServerConfigOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetServerConfigOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusAdmin operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) StatusAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.StatusAdmin(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusAdminOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) StatusAdminOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.StatusAdminOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateForceQuit operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateForceQuit(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateForceQuit(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateForceQuitOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateForceQuitOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateForceQuitOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateOptionsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateOptionsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateOptionsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateStart operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateStart(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateStart(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// AutoUpdateStartOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) AutoUpdateStartOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.AutoUpdateStartOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetActiveViewers operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetActiveViewers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetActiveViewers(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetActiveViewersOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetActiveViewersOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetActiveViewersOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetViewersOverTime operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetViewersOverTime(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetViewersOverTimeParams
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "windowStart" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "windowStart", r.URL.Query(), ¶ms.WindowStart)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowStart", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetViewersOverTime(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetViewersOverTimeOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetViewersOverTimeOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetViewersOverTimeOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetWebhooks operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetWebhooks(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetWebhooks(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetWebhooksOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetWebhooksOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetWebhooksOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateWebhookOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) CreateWebhookOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.CreateWebhookOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateWebhook operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) CreateWebhook(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.CreateWebhook(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteWebhookOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteWebhookOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteWebhookOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteWebhook operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) DeleteWebhook(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.DeleteWebhook(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ResetYPRegistration operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ResetYPRegistration(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ResetYPRegistration(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ResetYPRegistrationOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ResetYPRegistrationOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ResetYPRegistrationOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// RegisterFediverseOTPRequest operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) RegisterFediverseOTPRequest(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params RegisterFediverseOTPRequestParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.RegisterFediverseOTPRequest(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// VerifyFediverseOTPRequest operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) VerifyFediverseOTPRequest(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.VerifyFediverseOTPRequest(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// StartIndieAuthFlow operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) StartIndieAuthFlow(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params StartIndieAuthFlowParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.StartIndieAuthFlow(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandleIndieAuthRedirect operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) HandleIndieAuthRedirect(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params HandleIndieAuthRedirectParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "state" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("state"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "state"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "state", r.URL.Query(), ¶ms.State)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Required query parameter "code" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("code"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "code"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "code", r.URL.Query(), ¶ms.Code)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "code", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.HandleIndieAuthRedirect(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandleIndieAuthEndpointGet operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) HandleIndieAuthEndpointGet(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BasicAuthScopes, []string{})
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params HandleIndieAuthEndpointGetParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "client_id" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("client_id"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "client_id"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "client_id", r.URL.Query(), ¶ms.ClientId)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "client_id", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Required query parameter "redirect_uri" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("redirect_uri"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "redirect_uri"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "redirect_uri", r.URL.Query(), ¶ms.RedirectUri)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "redirect_uri", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Required query parameter "code_challenge" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("code_challenge"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "code_challenge"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "code_challenge", r.URL.Query(), ¶ms.CodeChallenge)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "code_challenge", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Required query parameter "state" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("state"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "state"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "state", r.URL.Query(), ¶ms.State)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Required query parameter "code" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("code"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "code"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "code", r.URL.Query(), ¶ms.Code)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "code", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.HandleIndieAuthEndpointGet(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandleIndieAuthEndpointPost operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) HandleIndieAuthEndpointPost(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.HandleIndieAuthEndpointPost(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetChatMessages operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetChatMessages(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetChatMessagesParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetChatMessages(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateMessageVisibility operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateMessageVisibility(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params UpdateMessageVisibilityParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateMessageVisibility(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// RegisterAnonymousChatUserOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) RegisterAnonymousChatUserOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.RegisterAnonymousChatUserOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// RegisterAnonymousChatUser operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params RegisterAnonymousChatUserParams
|
|
|
|
|
|
|
|
headers := r.Header
|
|
|
|
|
|
|
|
// ------------- Optional header parameter "X-Forwarded-User" -------------
|
|
|
|
if valueList, found := headers[http.CanonicalHeaderKey("X-Forwarded-User")]; found {
|
|
|
|
var XForwardedUser string
|
|
|
|
n := len(valueList)
|
|
|
|
if n != 1 {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Forwarded-User", Count: n})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "X-Forwarded-User", valueList[0], &XForwardedUser, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false})
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Forwarded-User", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
params.XForwardedUser = &XForwardedUser
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.RegisterAnonymousChatUser(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateUserEnabled operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) UpdateUserEnabled(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params UpdateUserEnabledParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.UpdateUserEnabled(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetWebConfig operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetWebConfig(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetWebConfig(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetCustomEmojiList operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetCustomEmojiList(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetCustomEmojiList(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetFollowers operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetFollowers(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetFollowersParams
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "offset" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// ------------- Optional query parameter "limit" -------------
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetFollowers(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalGetChatMessages operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalGetChatMessages(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalGetChatMessages(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalGetChatMessagesOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalGetChatMessagesOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalGetChatMessagesOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendChatActionOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendChatActionOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendChatActionOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendChatAction operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendChatAction(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendChatAction(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalUpdateMessageVisibilityOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalUpdateMessageVisibilityOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalUpdateMessageVisibilityOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalUpdateMessageVisibility operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalUpdateMessageVisibility(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalUpdateMessageVisibility(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendIntegrationChatMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendIntegrationChatMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendIntegrationChatMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendIntegrationChatMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendIntegrationChatMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendIntegrationChatMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendSystemMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendSystemMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendSystemMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendSystemMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendSystemMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendSystemMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendSystemMessageToConnectedClientOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendSystemMessageToConnectedClientOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// ------------- Path parameter "clientId" -------------
|
|
|
|
var clientId int
|
|
|
|
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "clientId", chi.URLParam(r, "clientId"), &clientId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendSystemMessageToConnectedClientOptions(w, r, clientId)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendSystemMessageToConnectedClient operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendSystemMessageToConnectedClient(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// ------------- Path parameter "clientId" -------------
|
|
|
|
var clientId int
|
|
|
|
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "clientId", chi.URLParam(r, "clientId"), &clientId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendSystemMessageToConnectedClient(w, r, clientId)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendUserMessageOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendUserMessageOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendUserMessageOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// SendUserMessage operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) SendUserMessage(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.SendUserMessage(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalGetConnectedChatClients operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalGetConnectedChatClients(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalGetConnectedChatClients(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalGetConnectedChatClientsOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalGetConnectedChatClientsOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalGetConnectedChatClientsOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalSetStreamTitleOptions operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalSetStreamTitleOptions(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalSetStreamTitleOptions(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExternalSetStreamTitle operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ExternalSetStreamTitle(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
ctx = context.WithValue(ctx, BearerAuthScopes, []string{})
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ExternalSetStreamTitle(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// ReportPlaybackMetrics operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.ReportPlaybackMetrics(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetUserDetails operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetUserDetails(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// ------------- Path parameter "userId" -------------
|
|
|
|
var userId string
|
|
|
|
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params GetUserDetailsParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetUserDetails(w, r, userId, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// RegisterForLiveNotifications operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) RegisterForLiveNotifications(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
// Parameter object where we will unmarshal all parameters from the context
|
|
|
|
var params RegisterForLiveNotificationsParams
|
|
|
|
|
|
|
|
// ------------- Required query parameter "accessToken" -------------
|
|
|
|
|
|
|
|
if paramValue := r.URL.Query().Get("accessToken"); paramValue != "" {
|
2024-10-28 01:36:31 +03:00
|
|
|
|
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-02 04:50:20 +03:00
|
|
|
} else {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "accessToken"})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
err = runtime.BindQueryParameter("form", true, true, "accessToken", r.URL.Query(), ¶ms.AccessToken)
|
|
|
|
if err != nil {
|
|
|
|
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "accessToken", Err: err})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.RegisterForLiveNotifications(w, r, params)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// Ping operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) Ping(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.Ping(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// RemoteFollow operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) RemoteFollow(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.RemoteFollow(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetAllSocialPlatforms operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetAllSocialPlatforms(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetAllSocialPlatforms(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetStatus operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetStatus(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetStatus(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetVideoStreamOutputVariants operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetVideoStreamOutputVariants(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetVideoStreamOutputVariants(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetYPResponse operation middleware
|
|
|
|
func (siw *ServerInterfaceWrapper) GetYPResponse(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ctx := r.Context()
|
|
|
|
|
|
|
|
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
siw.Handler.GetYPResponse(w, r)
|
|
|
|
}))
|
|
|
|
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
|
|
handler = middleware(handler)
|
|
|
|
}
|
|
|
|
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
|
|
}
|
|
|
|
|
|
|
|
type UnescapedCookieParamError struct {
|
|
|
|
ParamName string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *UnescapedCookieParamError) Error() string {
|
|
|
|
return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *UnescapedCookieParamError) Unwrap() error {
|
|
|
|
return e.Err
|
|
|
|
}
|
|
|
|
|
|
|
|
type UnmarshalingParamError struct {
|
|
|
|
ParamName string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *UnmarshalingParamError) Error() string {
|
|
|
|
return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *UnmarshalingParamError) Unwrap() error {
|
|
|
|
return e.Err
|
|
|
|
}
|
|
|
|
|
|
|
|
type RequiredParamError struct {
|
|
|
|
ParamName string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *RequiredParamError) Error() string {
|
|
|
|
return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)
|
|
|
|
}
|
|
|
|
|
|
|
|
type RequiredHeaderError struct {
|
|
|
|
ParamName string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *RequiredHeaderError) Error() string {
|
|
|
|
return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *RequiredHeaderError) Unwrap() error {
|
|
|
|
return e.Err
|
|
|
|
}
|
|
|
|
|
|
|
|
type InvalidParamFormatError struct {
|
|
|
|
ParamName string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *InvalidParamFormatError) Error() string {
|
|
|
|
return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *InvalidParamFormatError) Unwrap() error {
|
|
|
|
return e.Err
|
|
|
|
}
|
|
|
|
|
|
|
|
type TooManyValuesForParamError struct {
|
|
|
|
ParamName string
|
|
|
|
Count int
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *TooManyValuesForParamError) Error() string {
|
|
|
|
return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handler creates http.Handler with routing matching OpenAPI spec.
|
|
|
|
func Handler(si ServerInterface) http.Handler {
|
|
|
|
return HandlerWithOptions(si, ChiServerOptions{})
|
|
|
|
}
|
|
|
|
|
|
|
|
type ChiServerOptions struct {
|
|
|
|
BaseURL string
|
|
|
|
BaseRouter chi.Router
|
|
|
|
Middlewares []MiddlewareFunc
|
|
|
|
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
|
|
|
|
func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler {
|
|
|
|
return HandlerWithOptions(si, ChiServerOptions{
|
|
|
|
BaseRouter: r,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler {
|
|
|
|
return HandlerWithOptions(si, ChiServerOptions{
|
|
|
|
BaseURL: baseURL,
|
|
|
|
BaseRouter: r,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// HandlerWithOptions creates http.Handler with additional options
|
|
|
|
func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler {
|
|
|
|
r := options.BaseRouter
|
|
|
|
|
|
|
|
if r == nil {
|
|
|
|
r = chi.NewRouter()
|
|
|
|
}
|
|
|
|
if options.ErrorHandlerFunc == nil {
|
|
|
|
options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) {
|
|
|
|
http.Error(w, err.Error(), http.StatusBadRequest)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
wrapper := ServerInterfaceWrapper{
|
|
|
|
Handler: si,
|
|
|
|
HandlerMiddlewares: options.Middlewares,
|
|
|
|
ErrorHandlerFunc: options.ErrorHandlerFunc,
|
|
|
|
}
|
|
|
|
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/accesstokens", wrapper.GetExternalAPIUsers)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/accesstokens", wrapper.GetExternalAPIUsersOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/accesstokens/create", wrapper.CreateExternalAPIUserOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/accesstokens/create", wrapper.CreateExternalAPIUser)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/accesstokens/delete", wrapper.DeleteExternalAPIUserOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/accesstokens/delete", wrapper.DeleteExternalAPIUser)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/chat/clients", wrapper.GetConnectedChatClients)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/clients", wrapper.GetConnectedChatClientsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/chat/messages", wrapper.GetChatMessagesAdmin)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/messages", wrapper.GetChatMessagesAdminOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/messagevisibility", wrapper.UpdateMessageVisibilityAdminOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/chat/messagevisibility", wrapper.UpdateMessageVisibilityAdmin)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/chat/users/disabled", wrapper.GetDisabledUsers)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/disabled", wrapper.GetDisabledUsersOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/chat/users/ipbans", wrapper.GetIPAddressBans)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/ipbans", wrapper.GetIPAddressBansOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/ipbans/create", wrapper.BanIPAddressOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/chat/users/ipbans/create", wrapper.BanIPAddress)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/ipbans/remove", wrapper.UnbanIPAddressOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/chat/users/ipbans/remove", wrapper.UnbanIPAddress)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/chat/users/moderators", wrapper.GetModerators)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/moderators", wrapper.GetModeratorsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/setenabled", wrapper.UpdateUserEnabledAdminOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/chat/users/setenabled", wrapper.UpdateUserEnabledAdmin)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/chat/users/setmoderator", wrapper.UpdateUserModeratorOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/chat/users/setmoderator", wrapper.UpdateUserModerator)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/adminpass", wrapper.SetAdminPasswordOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/adminpass", wrapper.SetAdminPassword)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/appearance", wrapper.SetCustomColorVariableValuesOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/appearance", wrapper.SetCustomColorVariableValues)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/disable", wrapper.SetChatDisabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/disable", wrapper.SetChatDisabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/establishedusermode", wrapper.SetEnableEstablishedChatUserModeOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/establishedusermode", wrapper.SetEnableEstablishedChatUserMode)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/forbiddenusernames", wrapper.SetForbiddenUsernameListOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/forbiddenusernames", wrapper.SetForbiddenUsernameList)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/joinmessagesenabled", wrapper.SetChatJoinMessagesEnabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/joinmessagesenabled", wrapper.SetChatJoinMessagesEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/slurfilterenabled", wrapper.SetChatSlurFilterEnabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/slurfilterenabled", wrapper.SetChatSlurFilterEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/spamprotectionenabled", wrapper.SetChatSpamProtectionEnabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/spamprotectionenabled", wrapper.SetChatSpamProtectionEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/chat/suggestedusernames", wrapper.SetSuggestedUsernameListOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/chat/suggestedusernames", wrapper.SetSuggestedUsernameList)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/customjavascript", wrapper.SetCustomJavascriptOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/customjavascript", wrapper.SetCustomJavascript)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/customstyles", wrapper.SetCustomStylesOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/customstyles", wrapper.SetCustomStyles)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/directoryenabled", wrapper.SetDirectoryEnabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/directoryenabled", wrapper.SetDirectoryEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/disablesearchindexing", wrapper.SetDisableSearchIndexingOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/disablesearchindexing", wrapper.SetDisableSearchIndexing)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/externalactions", wrapper.SetExternalActionsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/externalactions", wrapper.SetExternalActions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/blockdomains", wrapper.SetFederationBlockDomainsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/blockdomains", wrapper.SetFederationBlockDomains)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/enable", wrapper.SetFederationEnabledOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/enable", wrapper.SetFederationEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/livemessage", wrapper.SetFederationGoLiveMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/livemessage", wrapper.SetFederationGoLiveMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/private", wrapper.SetFederationActivityPrivateOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/private", wrapper.SetFederationActivityPrivate)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/showengagement", wrapper.SetFederationShowEngagementOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/showengagement", wrapper.SetFederationShowEngagement)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/federation/username", wrapper.SetFederationUsernameOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/federation/username", wrapper.SetFederationUsername)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/ffmpegpath", wrapper.SetFfmpegPathOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/ffmpegpath", wrapper.SetFfmpegPath)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/hideviewercount", wrapper.SetHideViewerCountOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/hideviewercount", wrapper.SetHideViewerCount)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/logo", wrapper.SetLogoOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/logo", wrapper.SetLogo)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/name", wrapper.SetServerNameOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/name", wrapper.SetServerName)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/notifications/browser", wrapper.SetBrowserNotificationConfigurationOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/notifications/browser", wrapper.SetBrowserNotificationConfiguration)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/notifications/discord", wrapper.SetDiscordNotificationConfigurationOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/notifications/discord", wrapper.SetDiscordNotificationConfiguration)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/nsfw", wrapper.SetNSFWOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/nsfw", wrapper.SetNSFW)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/offlinemessage", wrapper.SetCustomOfflineMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/offlinemessage", wrapper.SetCustomOfflineMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/pagecontent", wrapper.SetExtraPageContentOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/pagecontent", wrapper.SetExtraPageContent)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/rtmpserverport", wrapper.SetRTMPServerPortOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/rtmpserverport", wrapper.SetRTMPServerPort)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/s3", wrapper.SetS3ConfigurationOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/s3", wrapper.SetS3Configuration)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/serversummary", wrapper.SetServerSummaryOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/serversummary", wrapper.SetServerSummary)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/serverurl", wrapper.SetServerURLOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/serverurl", wrapper.SetServerURL)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/socialhandles", wrapper.SetSocialHandlesOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/socialhandles", wrapper.SetSocialHandles)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/sockethostoverride", wrapper.SetSocketHostOverrideOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/sockethostoverride", wrapper.SetSocketHostOverride)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/streamkeys", wrapper.SetStreamKeysOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/streamkeys", wrapper.SetStreamKeys)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/streamtitle", wrapper.SetStreamTitleOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/streamtitle", wrapper.SetStreamTitle)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/tags", wrapper.SetTagsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/tags", wrapper.SetTags)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/video/codec", wrapper.SetVideoCodecOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/video/codec", wrapper.SetVideoCodec)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/video/streamlatencylevel", wrapper.SetStreamLatencyLevelOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/video/streamlatencylevel", wrapper.SetStreamLatencyLevel)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/video/streamoutputvariants", wrapper.SetStreamOutputVariantsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/video/streamoutputvariants", wrapper.SetStreamOutputVariants)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/videoservingendpoint", wrapper.SetVideoServingEndpointOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/videoservingendpoint", wrapper.SetVideoServingEndpoint)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/webserverip", wrapper.SetWebServerIPOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/webserverip", wrapper.SetWebServerIP)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/webserverport", wrapper.SetWebServerPortOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/webserverport", wrapper.SetWebServerPort)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/config/welcomemessage", wrapper.SetServerWelcomeMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/config/welcomemessage", wrapper.SetServerWelcomeMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/disconnect", wrapper.DisconnectInboundConnection)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/disconnect", wrapper.DisconnectInboundConnectionOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/emoji/delete", wrapper.DeleteCustomEmojiOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/emoji/delete", wrapper.DeleteCustomEmoji)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/emoji/upload", wrapper.UploadCustomEmojiOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/emoji/upload", wrapper.UploadCustomEmoji)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/federation/actions", wrapper.GetFederatedActions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/federation/actions", wrapper.GetFederatedActionsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/federation/send", wrapper.SendFederatedMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/federation/send", wrapper.SendFederatedMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/followers", wrapper.GetFollowersAdmin)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/followers", wrapper.GetFollowersAdminOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/followers/approve", wrapper.ApproveFollowerOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/followers/approve", wrapper.ApproveFollower)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/followers/blocked", wrapper.GetBlockedAndRejectedFollowers)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/followers/blocked", wrapper.GetBlockedAndRejectedFollowersOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/followers/pending", wrapper.GetPendingFollowRequests)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/followers/pending", wrapper.GetPendingFollowRequestsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/hardwarestats", wrapper.GetHardwareStats)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/hardwarestats", wrapper.GetHardwareStatsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/logs", wrapper.GetLogs)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/logs", wrapper.GetLogsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/logs/warnings", wrapper.GetWarnings)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/logs/warnings", wrapper.GetWarningsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/metrics/video", wrapper.GetVideoPlaybackMetrics)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/metrics/video", wrapper.GetVideoPlaybackMetricsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Delete(options.BaseURL+"/admin/prometheus", wrapper.DeletePrometheusAPI)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/prometheus", wrapper.GetPrometheusAPI)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/prometheus", wrapper.OptionsPrometheusAPI)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/prometheus", wrapper.PostPrometheusAPI)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Put(options.BaseURL+"/admin/prometheus", wrapper.PutPrometheusAPI)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/serverconfig", wrapper.GetServerConfig)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/serverconfig", wrapper.GetServerConfigOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/status", wrapper.StatusAdmin)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/status", wrapper.StatusAdminOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/update/forcequit", wrapper.AutoUpdateForceQuit)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/update/forcequit", wrapper.AutoUpdateForceQuitOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/update/options", wrapper.AutoUpdateOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/update/options", wrapper.AutoUpdateOptionsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/update/start", wrapper.AutoUpdateStart)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/update/start", wrapper.AutoUpdateStartOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/viewers", wrapper.GetActiveViewers)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/viewers", wrapper.GetActiveViewersOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/viewersOverTime", wrapper.GetViewersOverTime)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/viewersOverTime", wrapper.GetViewersOverTimeOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/webhooks", wrapper.GetWebhooks)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/webhooks", wrapper.GetWebhooksOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/webhooks/create", wrapper.CreateWebhookOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/webhooks/create", wrapper.CreateWebhook)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/webhooks/delete", wrapper.DeleteWebhookOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/admin/webhooks/delete", wrapper.DeleteWebhook)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/admin/yp/reset", wrapper.ResetYPRegistration)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/admin/yp/reset", wrapper.ResetYPRegistrationOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/auth/fediverse", wrapper.RegisterFediverseOTPRequest)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/auth/fediverse/verify", wrapper.VerifyFediverseOTPRequest)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/auth/indieauth", wrapper.StartIndieAuthFlow)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/auth/indieauth/callback", wrapper.HandleIndieAuthRedirect)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/auth/provider/indieauth", wrapper.HandleIndieAuthEndpointGet)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/auth/provider/indieauth", wrapper.HandleIndieAuthEndpointPost)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/chat", wrapper.GetChatMessages)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/chat/messagevisibility", wrapper.UpdateMessageVisibility)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/chat/register", wrapper.RegisterAnonymousChatUserOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/chat/register", wrapper.RegisterAnonymousChatUser)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/chat/users/setenabled", wrapper.UpdateUserEnabled)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/config", wrapper.GetWebConfig)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/emoji", wrapper.GetCustomEmojiList)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/followers", wrapper.GetFollowers)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/integrations/chat", wrapper.ExternalGetChatMessages)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat", wrapper.ExternalGetChatMessagesOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/action", wrapper.SendChatActionOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/action", wrapper.SendChatAction)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/messagevisibility", wrapper.ExternalUpdateMessageVisibilityOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/messagevisibility", wrapper.ExternalUpdateMessageVisibility)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/send", wrapper.SendIntegrationChatMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/send", wrapper.SendIntegrationChatMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/system", wrapper.SendSystemMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/system", wrapper.SendSystemMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/system/client/{clientId}", wrapper.SendSystemMessageToConnectedClientOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/system/client/{clientId}", wrapper.SendSystemMessageToConnectedClient)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/chat/user", wrapper.SendUserMessageOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/chat/user", wrapper.SendUserMessage)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/integrations/clients", wrapper.ExternalGetConnectedChatClients)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/clients", wrapper.ExternalGetConnectedChatClientsOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Options(options.BaseURL+"/integrations/streamtitle", wrapper.ExternalSetStreamTitleOptions)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/integrations/streamtitle", wrapper.ExternalSetStreamTitle)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/metrics/playback", wrapper.ReportPlaybackMetrics)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/moderation/chat/user/{userId}", wrapper.GetUserDetails)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/notifications/register", wrapper.RegisterForLiveNotifications)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/ping", wrapper.Ping)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Post(options.BaseURL+"/remotefollow", wrapper.RemoteFollow)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/socialplatforms", wrapper.GetAllSocialPlatforms)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/status", wrapper.GetStatus)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/video/variants", wrapper.GetVideoStreamOutputVariants)
|
|
|
|
})
|
|
|
|
r.Group(func(r chi.Router) {
|
|
|
|
r.Get(options.BaseURL+"/yp", wrapper.GetYPResponse)
|
|
|
|
})
|
|
|
|
|
|
|
|
return r
|
|
|
|
}
|