// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by geeks-accelerator/swag at // 2019-08-07 20:20:04.308889 -0800 AKDT m=+439.591671736 package docs import ( "bytes" "encoding/json" "strings" "github.com/alecthomas/template" "github.com/geeks-accelerator/swag" ) var doc = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{.Description}}", "title": "{{.Title}}", "contact": {}, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/accounts": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Update updates the specified account in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "account" ], "summary": "Update account by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/account.AccountUpdateRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/accounts/{id}": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Read returns the specified account from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "account" ], "summary": "Get account by ID", "parameters": [ { "type": "string", "description": "Account ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/account.AccountResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/oauth/token": { "post": { "security": [ { "BasicAuth": [] } ], "description": "Token generates an oauth2 accessToken using Basic Auth with a user's email and password.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Token handles a request to authenticate a user.", "parameters": [ { "enum": [ "user", "admin" ], "type": "string", "description": "Scope", "name": "scope", "in": "query" } ], "responses": { "200": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/project": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Find returns the existing projects in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "List projects", "parameters": [ { "type": "string", "description": "Filter string, example: name = 'Moon Launch'", "name": "where", "in": "query" }, { "type": "string", "description": "Order columns separated by comma, example: created_at desc", "name": "order", "in": "query" }, { "type": "integer", "description": "Limit, example: 10", "name": "limit", "in": "query" }, { "type": "integer", "description": "Offset, example: 20", "name": "offset", "in": "query" }, { "type": "boolean", "description": "Included Archived, example: false", "name": "include-archived", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/project.ProjectResponse" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/projects": { "post": { "security": [ { "OAuth2Password": [] } ], "description": "Create inserts a new project into the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "Create new project.", "parameters": [ { "description": "Project details", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/project.ProjectCreateRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/project.ProjectResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Update updates the specified project in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "Update project by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/project.ProjectUpdateRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/projects/archive": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Archive soft-deletes the specified project from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "Archive project by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/project.ProjectArchiveRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/projects/{id}": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Read returns the specified project from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "Get project by ID.", "parameters": [ { "type": "string", "description": "Project ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/project.ProjectResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "delete": { "security": [ { "OAuth2Password": [] } ], "description": "Delete removes the specified project from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "project" ], "summary": "Delete project by ID", "parameters": [ { "type": "string", "description": "Project ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/signup": { "post": { "description": "Signup creates a new account and user in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "signup" ], "summary": "Signup handles new account creation.", "parameters": [ { "description": "Signup details", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/signup.SignupRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/signup.SignupResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/user_accounts": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Find returns the existing user accounts in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user_account" ], "summary": "List user accounts", "parameters": [ { "type": "string", "description": "Filter string, example: account_id = 'c4653bf9-5978-48b7-89c5-95704aebb7e2'", "name": "where", "in": "query" }, { "type": "string", "description": "Order columns separated by comma, example: created_at desc", "name": "order", "in": "query" }, { "type": "integer", "description": "Limit, example: 10", "name": "limit", "in": "query" }, { "type": "integer", "description": "Offset, example: 20", "name": "offset", "in": "query" }, { "type": "boolean", "description": "Included Archived, example: false", "name": "include-archived", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/user_account.UserAccountResponse" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "post": { "security": [ { "OAuth2Password": [] } ], "description": "Create inserts a new user account into the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user_account" ], "summary": "Create new user account.", "parameters": [ { "description": "User Account details", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user_account.UserAccountCreateRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/user_account.UserAccountResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "delete": { "security": [ { "OAuth2Password": [] } ], "description": "Delete removes the specified user account from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Delete user account by user ID and account ID", "parameters": [ { "type": "string", "description": "UserAccount ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Update updates the specified user account in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Update user account by user ID and account ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user_account.UserAccountUpdateRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/user_accounts/archive": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Archive soft-deletes the specified user account from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Archive user account by user ID and account ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user_account.UserAccountArchiveRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/user_accounts/{user_id}/{account_id}": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Read returns the specified user account from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user_account" ], "summary": "Get user account by ID", "parameters": [ { "type": "string", "description": "UserAccount ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/user_account.UserAccountResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/users": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Find returns the existing users in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "List users", "parameters": [ { "type": "string", "description": "Filter string, example: name = 'Company Name' and email = 'gabi.may@geeksinthewoods.com'", "name": "where", "in": "query" }, { "type": "string", "description": "Order columns separated by comma, example: created_at desc", "name": "order", "in": "query" }, { "type": "integer", "description": "Limit, example: 10", "name": "limit", "in": "query" }, { "type": "integer", "description": "Offset, example: 20", "name": "offset", "in": "query" }, { "type": "boolean", "description": "Included Archived, example: false", "name": "include-archived", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/user.UserResponse" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "post": { "security": [ { "OAuth2Password": [] } ], "description": "Create inserts a new user into the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Create new user.", "parameters": [ { "description": "User details", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user.UserCreateRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/user.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Update updates the specified user in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Update user by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user.UserUpdateRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/users/archive": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Archive soft-deletes the specified user from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Archive user by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user.UserArchiveRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/users/password": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "Update updates the password for a specified user in the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Update user password by ID", "parameters": [ { "description": "Update fields", "name": "data", "in": "body", "required": true, "schema": { "type": "object", "$ref": "#/definitions/user.UserUpdatePasswordRequest" } } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/users/switch-account/{account_id}": { "patch": { "security": [ { "OAuth2Password": [] } ], "description": "SwitchAccount updates the auth claims to a new account.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Switch account.", "parameters": [ { "type": "integer", "description": "Account ID", "name": "account_id", "in": "path", "required": true } ], "responses": { "200": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } }, "/users/{id}": { "get": { "security": [ { "OAuth2Password": [] } ], "description": "Read returns the specified user from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Get user by ID", "parameters": [ { "type": "string", "description": "User ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/user.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } }, "delete": { "security": [ { "OAuth2Password": [] } ], "description": "Delete removes the specified user from the system.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Delete user by ID", "parameters": [ { "type": "string", "description": "User ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": {}, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/weberror.ErrorResponse" } } } } } }, "definitions": { "account.AccountResponse": { "type": "object", "properties": { "address1": { "type": "string", "example": "221 Tatitlek Ave" }, "address2": { "type": "string", "example": "Box #1832" }, "archived_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "billing_user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "city": { "type": "string", "example": "Valdez" }, "country": { "type": "string", "example": "USA" }, "created_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "name": { "type": "string", "example": "Company Name" }, "region": { "type": "string", "example": "AK" }, "signup_user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "status": { "type": "object", "$ref": "#/definitions/web.EnumResponse" }, "timezone": { "type": "string", "example": "America/Anchorage" }, "updated_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "zipcode": { "type": "string", "example": "99686" } } }, "account.AccountUpdateRequest": { "type": "object", "required": [ "id" ], "properties": { "address1": { "type": "string", "example": "221 Tatitlek Ave" }, "address2": { "type": "string", "example": "Box #1832" }, "billing_user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "city": { "type": "string", "example": "Valdez" }, "country": { "type": "string", "example": "USA" }, "id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "name": { "type": "string", "example": "Company Name" }, "region": { "type": "string", "example": "AK" }, "signup_user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "timezone": { "type": "string", "example": "America/Anchorage" }, "zipcode": { "type": "string", "example": "99686" } } }, "project.ProjectArchiveRequest": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "example": "985f1746-1d9f-459f-a2d9-fc53ece5ae86" } } }, "project.ProjectCreateRequest": { "type": "object", "required": [ "account_id", "name" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "name": { "type": "string", "example": "Rocket Launch" } } }, "project.ProjectResponse": { "type": "object", "required": [ "account_id", "id", "name" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "archived_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "created_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "id": { "type": "string", "example": "985f1746-1d9f-459f-a2d9-fc53ece5ae86" }, "name": { "type": "string", "example": "Rocket Launch" }, "status": { "type": "object", "$ref": "#/definitions/web.EnumResponse" }, "updated_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" } } }, "project.ProjectUpdateRequest": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "example": "985f1746-1d9f-459f-a2d9-fc53ece5ae86" }, "name": { "type": "string", "example": "Rocket Launch to Moon" } } }, "signup.SignupAccount": { "type": "object", "required": [ "address1", "city", "country", "name", "region", "zipcode" ], "properties": { "address1": { "type": "string", "example": "221 Tatitlek Ave" }, "address2": { "type": "string", "example": "Box #1832" }, "city": { "type": "string", "example": "Valdez" }, "country": { "type": "string", "example": "USA" }, "name": { "type": "string", "example": "Company {RANDOM_UUID}" }, "region": { "type": "string", "example": "AK" }, "timezone": { "type": "string", "example": "America/Anchorage" }, "zipcode": { "type": "string", "example": "99686" } } }, "signup.SignupRequest": { "type": "object", "properties": { "account": { "type": "object", "$ref": "#/definitions/signup.SignupAccount" }, "user": { "type": "object", "$ref": "#/definitions/signup.SignupUser" } } }, "signup.SignupResponse": { "type": "object", "properties": { "account": { "type": "object", "$ref": "#/definitions/account.AccountResponse" }, "user": { "type": "object", "$ref": "#/definitions/user.UserResponse" } } }, "signup.SignupUser": { "type": "object", "required": [ "email", "first_name", "last_name", "password", "password_confirm" ], "properties": { "email": { "type": "string", "example": "{RANDOM_EMAIL}" }, "first_name": { "type": "string", "example": "Gabi" }, "last_name": { "type": "string", "example": "May" }, "password": { "type": "string", "example": "SecretString" }, "password_confirm": { "type": "string", "example": "SecretString" } } }, "user.UserArchiveRequest": { "type": "object", "required": [ "id" ], "properties": { "force": { "type": "boolean" }, "id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" } } }, "user.UserCreateRequest": { "type": "object", "required": [ "email", "first_name", "last_name", "password", "password_confirm" ], "properties": { "email": { "type": "string", "example": "gabi@geeksinthewoods.com" }, "first_name": { "type": "string", "example": "Gabi" }, "last_name": { "type": "string", "example": "May" }, "password": { "type": "string", "example": "SecretString" }, "password_confirm": { "type": "string", "example": "SecretString" }, "timezone": { "type": "string", "example": "America/Anchorage" } } }, "user.UserResponse": { "type": "object", "properties": { "archived_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "created_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "email": { "type": "string", "example": "gabi@geeksinthewoods.com" }, "first_name": { "type": "string", "example": "Gabi" }, "gravatar": { "type": "string" }, "id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "last_name": { "type": "string", "example": "May" }, "name": { "type": "string", "example": "Gabi" }, "timezone": { "type": "string", "example": "America/Anchorage" }, "updated_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" } } }, "user.UserUpdatePasswordRequest": { "type": "object", "required": [ "id", "password", "password_confirm" ], "properties": { "id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "password": { "type": "string", "example": "NeverTellSecret" }, "password_confirm": { "type": "string", "example": "NeverTellSecret" } } }, "user.UserUpdateRequest": { "type": "object", "required": [ "id" ], "properties": { "email": { "type": "string", "example": "gabi.may@geeksinthewoods.com" }, "first_name": { "type": "string", "example": "Gabi May Not" }, "id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" }, "last_name": { "type": "string", "example": "Gabi May Not" }, "timezone": { "type": "string", "example": "America/Anchorage" } } }, "user_account.UserAccountArchiveRequest": { "type": "object", "required": [ "account_id", "user_id" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" } } }, "user_account.UserAccountCreateRequest": { "type": "object", "required": [ "account_id", "roles", "user_id" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "roles": { "type": "array", "items": { "type": "string", "enum": [ "admin", "user" ] }, "example": [ "admin" ] }, "user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" } } }, "user_account.UserAccountResponse": { "type": "object", "required": [ "roles" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "archived_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "created_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "roles": { "type": "array", "items": { "type": "string", "enum": [ "admin", "user" ] }, "example": [ "admin" ] }, "status": { "type": "object", "$ref": "#/definitions/web.EnumResponse" }, "updated_at": { "type": "object", "$ref": "#/definitions/web.TimeResponse" }, "user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" } } }, "user_account.UserAccountUpdateRequest": { "type": "object", "required": [ "account_id", "user_id" ], "properties": { "account_id": { "type": "string", "example": "c4653bf9-5978-48b7-89c5-95704aebb7e2" }, "roles": { "type": "array", "items": { "type": "string", "enum": [ "admin", "user" ] }, "example": [ "user" ] }, "user_id": { "type": "string", "example": "d69bdef7-173f-4d29-b52c-3edc60baf6a2" } } }, "web.EnumMultiResponse": { "type": "object", "properties": { "options": { "type": "array", "items": { "$ref": "#/definitions/web.EnumOption" } }, "values": { "type": "array", "items": { "type": "string" }, "example": [ "active_etc" ] } } }, "web.EnumOption": { "type": "object", "properties": { "selected": { "type": "boolean", "example": true }, "title": { "type": "string", "example": "Active Etc" }, "value": { "type": "string", "example": "active_etc" } } }, "web.EnumResponse": { "type": "object", "properties": { "options": { "type": "array", "items": { "$ref": "#/definitions/web.EnumOption" } }, "title": { "type": "string", "example": "Active Etc" }, "value": { "type": "string", "example": "active_etc" } } }, "web.TimeResponse": { "type": "object", "properties": { "date": { "type": "string", "example": "2019-06-25" }, "kitchen": { "type": "string", "example": "3:00AM" }, "local": { "type": "string", "example": "Tue Jun 25 3:00AM" }, "local_date": { "type": "string", "example": "Tue Jun 25" }, "local_time": { "type": "string", "example": "3:00AM" }, "now_rel_time": { "type": "string", "example": "15 hours from now" }, "now_time": { "type": "string", "example": "5 hours ago" }, "rfc1123": { "type": "string", "example": "Tue, 25 Jun 2019 03:00:53 AKDT" }, "time": { "type": "string", "example": "03:00:53" }, "timezone": { "type": "string", "example": "America/Anchorage" }, "value": { "type": "string", "example": "2019-06-25T03:00:53.284-08:00" }, "value_utc": { "type": "string", "example": "2019-06-25T11:00:53.284Z" } } }, "weberror.ErrorResponse": { "type": "object", "properties": { "details": { "type": "string" }, "error": { "type": "string" }, "fields": { "type": "array", "items": { "$ref": "#/definitions/weberror.FieldError" } }, "stack_trace": { "type": "string" }, "status_code": { "type": "integer" } } }, "weberror.FieldError": { "type": "object", "properties": { "display": { "type": "string" }, "error": { "type": "string" }, "field": { "type": "string" }, "tag": { "type": "string" }, "value": { "type": "object" } } } }, "securityDefinitions": { "BasicAuth": { "type": "basic" }, "OAuth2Password": { "type": "oauth2", "flow": "password", "tokenUrl": "/v1/oauth/token", "scopes": { "admin": " Grants administrative privileges with role of admin.", "user": " Grants basic privileges with role of user." } } } }` type swaggerInfo struct { Version string Host string BasePath string Schemes []string Title string Description string } // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = swaggerInfo{ Version: "", Host: "", BasePath: "", Schemes: []string{}, Title: "SaaS Example API", Description: "", } type s struct{} func (s *s) ReadDoc() string { sInfo := SwaggerInfo sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1) t, err := template.New("swagger_info").Funcs(template.FuncMap{ "marshal": func(v interface{}) string { a, _ := json.Marshal(v) return string(a) }, }).Parse(doc) if err != nil { return doc } var tpl bytes.Buffer if err := t.Execute(&tpl, sInfo); err != nil { return doc } return tpl.String() } func init() { swag.Register(swag.Name, &s{}) }