// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": {}, "license": { "name": "GPL-3.0" }, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/auth/changePassword": { "post": { "security": [ { "JWT": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Set new password using the old password", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.ChangePasswordRequest" } } ], "responses": { "200": { "description": "Password successfully changed" }, "403": { "description": "Invalid old password" } } } }, "/auth/login": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Acquire tokens via login credentials (and 2FA code if needed)", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.LoginRequest" } } ], "responses": { "200": { "description": " ", "schema": { "$ref": "#/definitions/models.LoginResponse" } }, "403": { "description": "Invalid login credentials" } } } }, "/auth/passwordResetBegin": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Request password reset email", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.PasswordResetBeginRequest" } } ], "responses": { "200": { "description": "Reset code sent to the email if it is attached to an account" }, "429": { "description": "Too many recent requests for this email" } } } }, "/auth/passwordResetComplete": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Complete password reset via email code", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.PasswordResetCompleteRequest" } } ], "responses": { "200": { "description": " ", "schema": { "$ref": "#/definitions/models.PasswordResetCompleteResponse" } }, "403": { "description": "Wrong verification code or username" } } } }, "/auth/refresh": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Receive new tokens via refresh token", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.RefreshRequest" } } ], "responses": { "200": { "description": " ", "schema": { "$ref": "#/definitions/models.RefreshResponse" } }, "401": { "description": "Invalid refresh token" } } } }, "/auth/registrationBegin": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Register an account", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.RegistrationBeginRequest" } } ], "responses": { "200": { "description": "Account is created and awaiting verification" }, "409": { "description": "Username or email is already taken" }, "429": { "description": "Too many recent registration attempts for this email" } } } }, "/auth/registrationComplete": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Confirm with code, finish creating the account", "parameters": [ { "description": " ", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/models.RegistrationCompleteRequest" } } ], "responses": { "200": { "description": " ", "schema": { "$ref": "#/definitions/models.RegistrationCompleteResponse" } }, "403": { "description": "Invalid email or verification code" } } } }, "/service/health": { "get": { "description": "Used internally for checking service health", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Service" ], "summary": "Get health status", "responses": { "200": { "description": "Says whether it's healthy or not", "schema": { "$ref": "#/definitions/models.HealthStatusResponse" } } } } } }, "definitions": { "models.ChangePasswordRequest": { "type": "object", "required": [ "old_password", "password" ], "properties": { "old_password": { "type": "string" }, "password": { "type": "string" }, "totp": { "type": "string" } } }, "models.HealthStatusResponse": { "type": "object", "properties": { "healthy": { "type": "boolean" } } }, "models.LoginRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "maxLength": 100 }, "totp": { "type": "string" }, "username": { "type": "string", "maxLength": 20, "minLength": 3 } } }, "models.LoginResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "models.PasswordResetBeginRequest": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string" } } }, "models.PasswordResetCompleteRequest": { "type": "object", "required": [ "email", "password", "verification_code" ], "properties": { "email": { "type": "string" }, "log_out_sessions": { "type": "boolean" }, "password": { "type": "string" }, "verification_code": { "type": "string" } } }, "models.PasswordResetCompleteResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "models.RefreshRequest": { "type": "object", "required": [ "refresh_token" ], "properties": { "refresh_token": { "type": "string", "maxLength": 2000 } } }, "models.RefreshResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "models.RegistrationBeginRequest": { "type": "object", "required": [ "email", "password", "username" ], "properties": { "email": { "type": "string" }, "password": { "type": "string" }, "username": { "type": "string" } } }, "models.RegistrationCompleteRequest": { "type": "object", "required": [ "name", "username", "verification_code" ], "properties": { "birthday": { "type": "string" }, "name": { "type": "string" }, "username": { "type": "string" }, "verification_code": { "type": "string" } } }, "models.RegistrationCompleteResponse": { "type": "object", "properties": { "access_token": { "type": "string" }, "refresh_token": { "type": "string" } } } }, "securityDefinitions": { "JWT": { "type": "apiKey", "name": "Authorization", "in": "header" } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", Host: "", BasePath: "/api/", Schemes: []string{"http"}, Title: "Easywish client API", Description: "Easy and feature-rich wishlist.", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }