remove generated documentation

can be regenerated by running 'make swagger' before 'make compile'.
depends on swaggo/swag.
This commit is contained in:
Harvey Tindall 2020-09-24 17:52:38 +01:00
parent b6537cef65
commit 62543cd0be
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
5 changed files with 1 additions and 2742 deletions

1
.gitignore vendored
View File

@ -20,3 +20,4 @@ pkg/
old/
version.go
notes
docs/

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
module github.com/hrfee/jfa-go/docs
go 1.15

View File

@ -1,999 +0,0 @@
{
"swagger": "2.0",
"info": {
"description": "API for the jfa-go frontend",
"title": "jfa-go internal API",
"contact": {
"name": "Harvey Tindall",
"email": "hrfee@protonmail.ch"
},
"license": {
"name": "MIT",
"url": "https://raw.githubusercontent.com/hrfee/jfa-go/main/LICENSE"
},
"version": "0.2.0"
},
"basePath": "/",
"paths": {
"/config": {
"get": {
"produces": [
"application/json"
],
"summary": "Get jfa-go configuration.",
"responses": {
"200": {
"description": "Uses the same format as config-base.json",
"schema": {
"$ref": "#/definitions/main.configDTO"
}
}
}
}
},
"/invites": {
"get": {
"produces": [
"application/json"
],
"summary": "Get invites.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.getInvitesDTO"
}
}
}
},
"post": {
"produces": [
"application/json"
],
"summary": "Create a new invite.",
"parameters": [
{
"description": "New invite request object",
"name": "generateInviteDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.generateInviteDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
}
}
},
"delete": {
"produces": [
"application/json"
],
"summary": "Delete an invite.",
"parameters": [
{
"description": "Delete invite object",
"name": "deleteInviteDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.deleteInviteDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/invites/notify": {
"post": {
"produces": [
"application/json"
],
"summary": "Set notification preferences for an invite.",
"parameters": [
{
"description": "Map of invite codes to notification settings objects",
"name": "setNotifyDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.setNotifyDTO"
}
}
],
"responses": {
"200": {},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/invites/profile": {
"post": {
"produces": [
"application/json"
],
"summary": "Set profile for an invite",
"parameters": [
{
"description": "Invite profile object",
"name": "inviteProfileDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.inviteProfileDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/logout": {
"post": {
"produces": [
"application/json"
],
"summary": "Logout by deleting refresh token from cookies.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/newUser": {
"post": {
"produces": [
"application/json"
],
"summary": "Creates a new Jellyfin user via invite code",
"parameters": [
{
"description": "New user request object",
"name": "newUserDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.newUserDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.PasswordValidation"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/main.PasswordValidation"
}
}
}
}
},
"/ombi/defaults": {
"post": {
"produces": [
"application/json"
],
"summary": "Set new user defaults for Ombi accounts.",
"parameters": [
{
"description": "User to source settings from",
"name": "ombiUser",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.ombiUser"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/ombi/users": {
"get": {
"produces": [
"application/json"
],
"summary": "Get a list of Ombi users.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.ombiUsersDTO"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/profiles": {
"get": {
"produces": [
"application/json"
],
"summary": "Get a list of profiles",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.getProfilesDTO"
}
}
}
},
"post": {
"produces": [
"application/json"
],
"summary": "Create a profile based on a Jellyfin user's settings.",
"parameters": [
{
"description": "New profile object",
"name": "newProfileDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.newProfileDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
},
"delete": {
"produces": [
"application/json"
],
"summary": "Delete an existing profile",
"parameters": [
{
"description": "Delete profile object",
"name": "profileChangeDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.profileChangeDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
}
}
}
},
"/profiles/default": {
"post": {
"produces": [
"application/json"
],
"summary": "Set the default profile to use.",
"parameters": [
{
"description": "Default profile object",
"name": "profileChangeDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.profileChangeDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/users": {
"get": {
"produces": [
"application/json"
],
"summary": "Get a list of Jellyfin users.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.getUsersDTO"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
},
"post": {
"produces": [
"application/json"
],
"summary": "Creates a new Jellyfin user without an invite.",
"parameters": [
{
"description": "New user request object",
"name": "newUserDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.newUserDTO"
}
}
],
"responses": {
"200": {}
}
},
"delete": {
"produces": [
"application/json"
],
"summary": "Delete a list of users, optionally notifying them why.",
"parameters": [
{
"description": "User deletion request object",
"name": "deleteUserDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.deleteUserDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
},
"500": {
"description": "List of errors",
"schema": {
"$ref": "#/definitions/main.errorListDTO"
}
}
}
}
},
"/users/emails": {
"post": {
"produces": [
"application/json"
],
"summary": "Modify user's email addresses.",
"parameters": [
{
"description": "Map of userIDs to email addresses",
"name": "modifyEmailsDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.modifyEmailsDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.boolResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/main.stringResponse"
}
}
}
}
},
"/users/settings": {
"post": {
"produces": [
"application/json"
],
"summary": "Apply settings to a list of users, either from a profile or from another user.",
"parameters": [
{
"description": "Parameters for applying settings",
"name": "userSettingsDTO",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/main.userSettingsDTO"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/main.errorListDTO"
}
},
"500": {
"description": "Lists of errors that occured while applying settings",
"schema": {
"$ref": "#/definitions/main.errorListDTO"
}
}
}
}
}
},
"definitions": {
"main.PasswordValidation": {
"type": "object",
"properties": {
"characters": {
"description": "Number of characters",
"type": "boolean"
},
"lowercase characters": {
"description": "Number of lowercase characters",
"type": "boolean"
},
"numbers": {
"description": "Number of numbers",
"type": "boolean"
},
"special characters": {
"description": "Number of special characters",
"type": "boolean"
},
"uppercase characters": {
"description": "Number of uppercase characters",
"type": "boolean"
}
}
},
"main.boolResponse": {
"type": "object",
"properties": {
"error": {
"type": "boolean",
"example": true
},
"success": {
"type": "boolean",
"example": false
}
}
},
"main.configDTO": {
"type": "object",
"additionalProperties": true
},
"main.deleteInviteDTO": {
"type": "object",
"properties": {
"code": {
"description": "Code of invite to delete",
"type": "string",
"example": "skjadajd43234s"
}
}
},
"main.deleteUserDTO": {
"type": "object",
"required": [
"users"
],
"properties": {
"notify": {
"description": "Whether to notify users of deletion",
"type": "boolean"
},
"reason": {
"description": "Account deletion reason (for notification)",
"type": "string"
},
"users": {
"description": "List of usernames to delete",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"main.errorListDTO": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"main.generateInviteDTO": {
"type": "object",
"properties": {
"days": {
"description": "Number of days",
"type": "integer",
"example": 1
},
"email": {
"description": "Send invite to this address",
"type": "string",
"example": "jeff@jellyf.in"
},
"hours": {
"description": "Number of hours",
"type": "integer",
"example": 2
},
"minutes": {
"description": "Number of minutes",
"type": "integer",
"example": 3
},
"multiple-uses": {
"description": "Allow multiple uses",
"type": "boolean",
"example": true
},
"no-limit": {
"description": "No invite use limit",
"type": "boolean",
"example": false
},
"profile": {
"description": "Name of profile to apply on this invite",
"type": "string",
"example": "DefaultProfile"
},
"remaining-uses": {
"description": "Remaining invite uses",
"type": "integer",
"example": 5
}
}
},
"main.getInvitesDTO": {
"type": "object",
"properties": {
"invites": {
"description": "List of invites",
"type": "array",
"items": {
"$ref": "#/definitions/main.inviteDTO"
}
},
"profiles": {
"description": "List of profiles (name only)",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"main.getProfilesDTO": {
"type": "object",
"properties": {
"default_profile": {
"type": "string"
},
"profiles": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/main.profileDTO"
}
}
}
},
"main.getUsersDTO": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/main.respUser"
}
}
}
},
"main.inviteDTO": {
"type": "object",
"properties": {
"code": {
"description": "Invite code",
"type": "string",
"example": "sajdlj23423j23"
},
"created": {
"description": "Date of creation",
"type": "string",
"example": "01/01/20 12:00"
},
"days": {
"description": "Number of days till expiry",
"type": "integer",
"example": 1
},
"email": {
"description": "Email the invite was sent to (if applicable)",
"type": "string"
},
"hours": {
"description": "Number of hours till expiry",
"type": "integer",
"example": 2
},
"minutes": {
"description": "Number of minutes till expiry",
"type": "integer",
"example": 3
},
"no-limit": {
"description": "If true, invite can be used any number of times",
"type": "boolean"
},
"notify-creation": {
"description": "Whether to notify the requesting user of account creation or not",
"type": "boolean"
},
"notify-expiry": {
"description": "Whether to notify the requesting user of expiry or not",
"type": "boolean"
},
"profile": {
"description": "Profile used on this invite",
"type": "string",
"example": "DefaultProfile"
},
"remaining-uses": {
"description": "Remaining number of uses (if applicable)",
"type": "integer"
},
"used-by": {
"description": "Users who have used this invite",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"main.inviteProfileDTO": {
"type": "object",
"properties": {
"invite": {
"description": "Invite to apply to",
"type": "string",
"example": "slakdaslkdl2342"
},
"profile": {
"description": "Profile to use",
"type": "string",
"example": "DefaultProfile"
}
}
},
"main.modifyEmailsDTO": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"main.newProfileDTO": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"homescreen": {
"description": "Whether to store homescreen layout or not",
"type": "boolean",
"example": true
},
"id": {
"description": "ID of user to source settings from",
"type": "string",
"example": "kasdjlaskjd342342"
},
"name": {
"description": "Name of the profile",
"type": "string",
"example": "DefaultProfile"
}
}
},
"main.newUserDTO": {
"type": "object",
"required": [
"password",
"username"
],
"properties": {
"code": {
"description": "Invite code (required on /newUser)",
"type": "string",
"example": "abc0933jncjkcjj"
},
"email": {
"description": "User's email address",
"type": "string",
"example": "jeff@jellyf.in"
},
"password": {
"description": "User's password",
"type": "string",
"example": "guest"
},
"username": {
"description": "User's username",
"type": "string",
"example": "jeff"
}
}
},
"main.ombiUser": {
"type": "object",
"properties": {
"id": {
"description": "userID of Ombi user",
"type": "string",
"example": "djgkjdg7dkjfsj8"
},
"name": {
"description": "Name of Ombi user",
"type": "string",
"example": "jeff"
}
}
},
"main.ombiUsersDTO": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/main.ombiUser"
}
}
}
},
"main.profileChangeDTO": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"description": "Name of the profile",
"type": "string",
"example": "DefaultProfile"
}
}
},
"main.profileDTO": {
"type": "object",
"properties": {
"admin": {
"description": "Whether profile has admin rights or not",
"type": "boolean",
"example": false
},
"fromUser": {
"description": "The user the profile is based on",
"type": "string",
"example": "jeff"
},
"libraries": {
"description": "Number of libraries profile has access to",
"type": "string",
"example": "all"
}
}
},
"main.respUser": {
"type": "object",
"properties": {
"admin": {
"description": "Whether or not the user is Administrator",
"type": "boolean",
"example": false
},
"email": {
"description": "Email address of user (if available)",
"type": "string",
"example": "jeff@jellyf.in"
},
"id": {
"description": "userID of user",
"type": "string",
"example": "fdgsdfg45534fa"
},
"last_active": {
"description": "Time of last activity on Jellyfin",
"type": "string"
},
"name": {
"description": "Username of user",
"type": "string",
"example": "jeff"
}
}
},
"main.setNotifyDTO": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/main.setNotifyValues"
}
},
"main.setNotifyValues": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"notify-creation": {
"description": "Whether to notify the requesting user of account creation or not",
"type": "boolean"
},
"notify-expiry": {
"description": "Whether to notify the requesting user of expiry or not",
"type": "boolean"
}
}
}
},
"main.stringResponse": {
"type": "object",
"properties": {
"error": {
"type": "string",
"example": "errorDescription"
},
"response": {
"type": "string",
"example": "message"
}
}
},
"main.userSettingsDTO": {
"type": "object",
"properties": {
"apply_to": {
"description": "Users to apply settings to",
"type": "array",
"items": {
"type": "string"
}
},
"from": {
"description": "Whether to apply from \"user\" or \"profile\"",
"type": "string"
},
"homescreen": {
"description": "Whether to apply homescreen layout or not",
"type": "boolean"
},
"id": {
"description": "ID of user (if from = \"user\")",
"type": "string"
},
"profile": {
"description": "Name of profile (if from = \"profile\")",
"type": "string"
}
}
}
}
}

View File

@ -1,678 +0,0 @@
basePath: /
definitions:
main.PasswordValidation:
properties:
characters:
description: Number of characters
type: boolean
lowercase characters:
description: Number of lowercase characters
type: boolean
numbers:
description: Number of numbers
type: boolean
special characters:
description: Number of special characters
type: boolean
uppercase characters:
description: Number of uppercase characters
type: boolean
type: object
main.boolResponse:
properties:
error:
example: true
type: boolean
success:
example: false
type: boolean
type: object
main.configDTO:
additionalProperties: true
type: object
main.deleteInviteDTO:
properties:
code:
description: Code of invite to delete
example: skjadajd43234s
type: string
type: object
main.deleteUserDTO:
properties:
notify:
description: Whether to notify users of deletion
type: boolean
reason:
description: Account deletion reason (for notification)
type: string
users:
description: List of usernames to delete
items:
type: string
type: array
required:
- users
type: object
main.errorListDTO:
additionalProperties:
additionalProperties:
type: string
type: object
type: object
main.generateInviteDTO:
properties:
days:
description: Number of days
example: 1
type: integer
email:
description: Send invite to this address
example: jeff@jellyf.in
type: string
hours:
description: Number of hours
example: 2
type: integer
minutes:
description: Number of minutes
example: 3
type: integer
multiple-uses:
description: Allow multiple uses
example: true
type: boolean
no-limit:
description: No invite use limit
example: false
type: boolean
profile:
description: Name of profile to apply on this invite
example: DefaultProfile
type: string
remaining-uses:
description: Remaining invite uses
example: 5
type: integer
type: object
main.getInvitesDTO:
properties:
invites:
description: List of invites
items:
$ref: '#/definitions/main.inviteDTO'
type: array
profiles:
description: List of profiles (name only)
items:
type: string
type: array
type: object
main.getProfilesDTO:
properties:
default_profile:
type: string
profiles:
additionalProperties:
$ref: '#/definitions/main.profileDTO'
type: object
type: object
main.getUsersDTO:
properties:
users:
items:
$ref: '#/definitions/main.respUser'
type: array
type: object
main.inviteDTO:
properties:
code:
description: Invite code
example: sajdlj23423j23
type: string
created:
description: Date of creation
example: 01/01/20 12:00
type: string
days:
description: Number of days till expiry
example: 1
type: integer
email:
description: Email the invite was sent to (if applicable)
type: string
hours:
description: Number of hours till expiry
example: 2
type: integer
minutes:
description: Number of minutes till expiry
example: 3
type: integer
no-limit:
description: If true, invite can be used any number of times
type: boolean
notify-creation:
description: Whether to notify the requesting user of account creation or not
type: boolean
notify-expiry:
description: Whether to notify the requesting user of expiry or not
type: boolean
profile:
description: Profile used on this invite
example: DefaultProfile
type: string
remaining-uses:
description: Remaining number of uses (if applicable)
type: integer
used-by:
description: Users who have used this invite
items:
items:
type: string
type: array
type: array
type: object
main.inviteProfileDTO:
properties:
invite:
description: Invite to apply to
example: slakdaslkdl2342
type: string
profile:
description: Profile to use
example: DefaultProfile
type: string
type: object
main.modifyEmailsDTO:
additionalProperties:
type: string
type: object
main.newProfileDTO:
properties:
homescreen:
description: Whether to store homescreen layout or not
example: true
type: boolean
id:
description: ID of user to source settings from
example: kasdjlaskjd342342
type: string
name:
description: Name of the profile
example: DefaultProfile
type: string
required:
- id
- name
type: object
main.newUserDTO:
properties:
code:
description: Invite code (required on /newUser)
example: abc0933jncjkcjj
type: string
email:
description: User's email address
example: jeff@jellyf.in
type: string
password:
description: User's password
example: guest
type: string
username:
description: User's username
example: jeff
type: string
required:
- password
- username
type: object
main.ombiUser:
properties:
id:
description: userID of Ombi user
example: djgkjdg7dkjfsj8
type: string
name:
description: Name of Ombi user
example: jeff
type: string
type: object
main.ombiUsersDTO:
properties:
users:
items:
$ref: '#/definitions/main.ombiUser'
type: array
type: object
main.profileChangeDTO:
properties:
name:
description: Name of the profile
example: DefaultProfile
type: string
required:
- name
type: object
main.profileDTO:
properties:
admin:
description: Whether profile has admin rights or not
example: false
type: boolean
fromUser:
description: The user the profile is based on
example: jeff
type: string
libraries:
description: Number of libraries profile has access to
example: all
type: string
type: object
main.respUser:
properties:
admin:
description: Whether or not the user is Administrator
example: false
type: boolean
email:
description: Email address of user (if available)
example: jeff@jellyf.in
type: string
id:
description: userID of user
example: fdgsdfg45534fa
type: string
last_active:
description: Time of last activity on Jellyfin
type: string
name:
description: Username of user
example: jeff
type: string
type: object
main.setNotifyDTO:
additionalProperties:
$ref: '#/definitions/main.setNotifyValues'
type: object
main.setNotifyValues:
additionalProperties:
properties:
notify-creation:
description: Whether to notify the requesting user of account creation or not
type: boolean
notify-expiry:
description: Whether to notify the requesting user of expiry or not
type: boolean
type: object
type: object
main.stringResponse:
properties:
error:
example: errorDescription
type: string
response:
example: message
type: string
type: object
main.userSettingsDTO:
properties:
apply_to:
description: Users to apply settings to
items:
type: string
type: array
from:
description: Whether to apply from "user" or "profile"
type: string
homescreen:
description: Whether to apply homescreen layout or not
type: boolean
id:
description: ID of user (if from = "user")
type: string
profile:
description: Name of profile (if from = "profile")
type: string
type: object
info:
contact:
email: hrfee@protonmail.ch
name: Harvey Tindall
description: API for the jfa-go frontend
license:
name: MIT
url: https://raw.githubusercontent.com/hrfee/jfa-go/main/LICENSE
title: jfa-go internal API
version: 0.2.0
paths:
/config:
get:
produces:
- application/json
responses:
"200":
description: Uses the same format as config-base.json
schema:
$ref: '#/definitions/main.configDTO'
summary: Get jfa-go configuration.
/invites:
delete:
parameters:
- description: Delete invite object
in: body
name: deleteInviteDTO
required: true
schema:
$ref: '#/definitions/main.deleteInviteDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/main.stringResponse'
summary: Delete an invite.
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.getInvitesDTO'
summary: Get invites.
post:
parameters:
- description: New invite request object
in: body
name: generateInviteDTO
required: true
schema:
$ref: '#/definitions/main.generateInviteDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
summary: Create a new invite.
/invites/notify:
post:
parameters:
- description: Map of invite codes to notification settings objects
in: body
name: setNotifyDTO
required: true
schema:
$ref: '#/definitions/main.setNotifyDTO'
produces:
- application/json
responses:
"200": {}
"400":
description: Bad Request
schema:
$ref: '#/definitions/main.stringResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Set notification preferences for an invite.
/invites/profile:
post:
parameters:
- description: Invite profile object
in: body
name: inviteProfileDTO
required: true
schema:
$ref: '#/definitions/main.inviteProfileDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Set profile for an invite
/logout:
post:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Logout by deleting refresh token from cookies.
/newUser:
post:
parameters:
- description: New user request object
in: body
name: newUserDTO
required: true
schema:
$ref: '#/definitions/main.newUserDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.PasswordValidation'
"400":
description: Bad Request
schema:
$ref: '#/definitions/main.PasswordValidation'
summary: Creates a new Jellyfin user via invite code
/ombi/defaults:
post:
parameters:
- description: User to source settings from
in: body
name: ombiUser
required: true
schema:
$ref: '#/definitions/main.ombiUser'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Set new user defaults for Ombi accounts.
/ombi/users:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.ombiUsersDTO'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Get a list of Ombi users.
/profiles:
delete:
parameters:
- description: Delete profile object
in: body
name: profileChangeDTO
required: true
schema:
$ref: '#/definitions/main.profileChangeDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
summary: Delete an existing profile
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.getProfilesDTO'
summary: Get a list of profiles
post:
parameters:
- description: New profile object
in: body
name: newProfileDTO
required: true
schema:
$ref: '#/definitions/main.newProfileDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Create a profile based on a Jellyfin user's settings.
/profiles/default:
post:
parameters:
- description: Default profile object
in: body
name: profileChangeDTO
required: true
schema:
$ref: '#/definitions/main.profileChangeDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Set the default profile to use.
/users:
delete:
parameters:
- description: User deletion request object
in: body
name: deleteUserDTO
required: true
schema:
$ref: '#/definitions/main.deleteUserDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/main.stringResponse'
"500":
description: List of errors
schema:
$ref: '#/definitions/main.errorListDTO'
summary: Delete a list of users, optionally notifying them why.
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.getUsersDTO'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Get a list of Jellyfin users.
post:
parameters:
- description: New user request object
in: body
name: newUserDTO
required: true
schema:
$ref: '#/definitions/main.newUserDTO'
produces:
- application/json
responses:
"200": {}
summary: Creates a new Jellyfin user without an invite.
/users/emails:
post:
parameters:
- description: Map of userIDs to email addresses
in: body
name: modifyEmailsDTO
required: true
schema:
$ref: '#/definitions/main.modifyEmailsDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.boolResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/main.stringResponse'
summary: Modify user's email addresses.
/users/settings:
post:
parameters:
- description: Parameters for applying settings
in: body
name: userSettingsDTO
required: true
schema:
$ref: '#/definitions/main.userSettingsDTO'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/main.errorListDTO'
"500":
description: Lists of errors that occured while applying settings
schema:
$ref: '#/definitions/main.errorListDTO'
summary: Apply settings to a list of users, either from a profile or from another user.
swagger: "2.0"