mirror of https://github.com/hrfee/jfa-go
can be regenerated by running 'make swagger' before 'make compile'. depends on swaggo/swag.pull/20/head
parent
b6537cef65
commit
62543cd0be
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
module github.com/hrfee/jfa-go/docs
|
|
||||||
|
|
||||||
go 1.15
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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"
|
|
Loading…
Reference in new issue