All checks were successful
Build and Release / release (push) Successful in 2m13s
4468 lines
153 KiB
Go
4468 lines
153 KiB
Go
// 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}}",
|
|
"termsOfService": "http://swagger.io/terms/",
|
|
"contact": {
|
|
"name": "API Support",
|
|
"url": "http://www.swagger.io/support",
|
|
"email": "support@swagger.io"
|
|
},
|
|
"license": {
|
|
"name": "Apache 2.0",
|
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
|
},
|
|
"version": "{{.Version}}"
|
|
},
|
|
"host": "{{.Host}}",
|
|
"basePath": "{{.BasePath}}",
|
|
"paths": {
|
|
"/auth/forgot-password": {
|
|
"post": {
|
|
"description": "Initiate password recovery process for a user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Handle forgotten password",
|
|
"parameters": [
|
|
{
|
|
"description": "Forgot Password request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.ForgotPasswordDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/google/callback": {
|
|
"get": {
|
|
"description": "Receives the auth code from Google, exchanges it for tokens, creates/logs in the user, and redirects back to the frontend with application tokens.",
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Handle Google OAuth2 callback",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Security state string",
|
|
"name": "state",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Authorization code from Google",
|
|
"name": "code",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirect to Frontend with JWTs",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Invalid state",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/google/login": {
|
|
"get": {
|
|
"description": "Generates a state string, sets it in a cookie, and redirects the user to Google's consent page.",
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Initiate Google OAuth2 login",
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirect to Google",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Logout current user and revoke tokens",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Logout user",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/refresh": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Generate a new access token using a valid refresh token from context",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Refresh session tokens",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized or expired refresh token",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/signin": {
|
|
"post": {
|
|
"description": "Authenticate user credentials and return access/refresh tokens",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Sign in a user",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign In credentials",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.SignInDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Invalid credentials",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/signup": {
|
|
"post": {
|
|
"description": "Create a new user account in the system",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Register a new user",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign Up details",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.SignUpDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/token/create": {
|
|
"post": {
|
|
"description": "Request a new token for specific actions like email confirmation",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Generate a new verification token",
|
|
"parameters": [
|
|
{
|
|
"description": "Token creation request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateTokenDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/token/verify": {
|
|
"post": {
|
|
"description": "Validate an OTP or email verification token",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "Verify a security token",
|
|
"parameters": [
|
|
{
|
|
"description": "Token verification data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.VerifyTokenDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/chatbot/chat": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Ask a history question based on project context or global knowledge using RAG",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Chatbot"
|
|
],
|
|
"summary": "Ask the AI chatbot",
|
|
"parameters": [
|
|
{
|
|
"description": "Chatbot query",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.ChatbotDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful response with AI answer",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/entities": {
|
|
"get": {
|
|
"description": "Search entities with cursor pagination",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Entities"
|
|
],
|
|
"summary": "Search entities",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "cursor",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string",
|
|
"name": "name",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "project_id",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/entities/{id}": {
|
|
"get": {
|
|
"description": "Get detailed information about a specific entity",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Entities"
|
|
],
|
|
"summary": "Get entity by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Entity ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/geometries": {
|
|
"get": {
|
|
"description": "Search geometries with cursor pagination and spatial filtering",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Geometries"
|
|
],
|
|
"summary": "Search geometries",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "entity_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 90,
|
|
"minimum": -90,
|
|
"type": "number",
|
|
"name": "max_lat",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"maximum": 180,
|
|
"minimum": -180,
|
|
"type": "number",
|
|
"name": "max_lng",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"maximum": 90,
|
|
"minimum": -90,
|
|
"type": "number",
|
|
"name": "min_lat",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"maximum": 180,
|
|
"minimum": -180,
|
|
"type": "number",
|
|
"name": "min_lng",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "project_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"name": "time",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/geometries/{id}": {
|
|
"get": {
|
|
"description": "Get detailed information about a specific geometry",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Geometries"
|
|
],
|
|
"summary": "Get geometry by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Geometry ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/historian/application": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get list of historian applications with filters",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Historian Application"
|
|
],
|
|
"summary": "Search historian applications",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "created_from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "created_to",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string",
|
|
"name": "order",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "page",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "reviewed_by",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 200,
|
|
"minLength": 2,
|
|
"type": "string",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"id",
|
|
"created_at",
|
|
"reviewed_at",
|
|
"status"
|
|
],
|
|
"type": "string",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "statuses",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "user_ids",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "verify_types",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Submit application to become historian",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Historian Application"
|
|
],
|
|
"summary": "Create historian application",
|
|
"parameters": [
|
|
{
|
|
"description": "Application data",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateUserVerificationDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/historian/application/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get historian application detail",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Historian Application"
|
|
],
|
|
"summary": "Get application by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Verification ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete historian application",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Historian Application"
|
|
],
|
|
"summary": "Delete application",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Verification ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/historian/application/{id}/status": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Approve or reject historian application",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Historian Application"
|
|
],
|
|
"summary": "Update application status",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Verification ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Status update",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.UpdateVerificationStatusDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/media": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Search media with filters, pagination",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Search media",
|
|
"parameters": [
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"name": "max_size",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 100,
|
|
"type": "string",
|
|
"name": "mime_type",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"name": "min_size",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string",
|
|
"name": "order",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "page",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 200,
|
|
"minLength": 2,
|
|
"type": "string",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"id",
|
|
"created_at",
|
|
"updated_at",
|
|
"size",
|
|
"original_name",
|
|
"storage_key",
|
|
"mime_type"
|
|
],
|
|
"type": "string",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "user_ids",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete multiple media files by IDs",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Delete media",
|
|
"parameters": [
|
|
{
|
|
"description": "Media IDs to delete",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.MediaBulkDeleteDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/media/presigned": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Generate a presigned URL for direct upload to storage",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Generate presigned URL",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "content_type",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "fileName",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"name": "size",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/media/presigned/complete": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Confirm that upload via presigned URL is completed",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Confirm presigned upload",
|
|
"parameters": [
|
|
{
|
|
"description": "Request body",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.PreSignedCompleteDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/media/upload": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Upload media file through server",
|
|
"consumes": [
|
|
"multipart/form-data"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Upload media (server-side)",
|
|
"parameters": [
|
|
{
|
|
"type": "file",
|
|
"description": "Upload file",
|
|
"name": "file",
|
|
"in": "formData",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/media/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve a media file by its ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Get media by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Media ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete a media file by ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Media"
|
|
],
|
|
"summary": "Delete media",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Media ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Search and filter projects with pagination",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Search projects",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "created_from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "created_to",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string",
|
|
"name": "order",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "page",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 200,
|
|
"type": "string",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"created_at",
|
|
"updated_at",
|
|
"title"
|
|
],
|
|
"type": "string",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "statuses",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "user_ids",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Create a project for the current authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Create a new project",
|
|
"parameters": [
|
|
{
|
|
"description": "Project Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateProjectDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve project details by specific ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Get project by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update project properties (Title, Description, Status)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Update a project",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Project Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.UpdateProjectDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete project by ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Delete a project",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}/change-owner": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Transfer project ownership to an existing member. Only the current owner can do this.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Transfer project ownership",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "New Owner Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.ChangeOwnerDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}/commits": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve all commits for a specific project",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Commits"
|
|
],
|
|
"summary": "Get project commits",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Create a new commit and update project's latest commit ID. Only owner/editor allowed.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Commits"
|
|
],
|
|
"summary": "Create a new commit",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Commit Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateCommitDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}/commits/restore": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update project's latest commit ID to an older commit. Only owner/editor allowed.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Commits"
|
|
],
|
|
"summary": "Restore project to a commit",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Restore Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.RestoreCommitDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}/members": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Invite a user to the project with a specific role (EDITOR or VIEWER). Only project owner can do this.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Add a member to project",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Member Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.AddProjectMemberDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/projects/{id}/members/{userId}": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Change a member's role in the project. Only project owner can do this.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Update member role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Member User ID",
|
|
"name": "userId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Role Data",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.UpdateProjectMemberDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Remove a user from the project. Only project owner can do this.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Remove a member from project",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Project ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Member User ID",
|
|
"name": "userId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/raster-tiles/metadata": {
|
|
"get": {
|
|
"description": "Retrieve map metadata",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get raster tile metadata",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/raster-tiles/{z}/{x}/{y}": {
|
|
"get": {
|
|
"description": "Fetch vector or raster map tile data by Z, X, Y coordinates",
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get a map raster tile",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Zoom level (0-22)",
|
|
"name": "z",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "X coordinate",
|
|
"name": "x",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Y coordinate",
|
|
"name": "y",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/roles": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get a list of all roles in the system",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"summary": "Get all roles",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/roles/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get detailed information about a specific role",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"summary": "Get role by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/submissions": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get a list of submissions with filters",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Submission"
|
|
],
|
|
"summary": "Search submissions",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "created_from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "created_to",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string",
|
|
"name": "order",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "page",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "project_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "reviewed_by",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 200,
|
|
"minLength": 2,
|
|
"type": "string",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"id",
|
|
"created_at",
|
|
"reviewed_at",
|
|
"status"
|
|
],
|
|
"type": "string",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "statuses",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "user_ids",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Submit a new submission for a project commit",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Submission"
|
|
],
|
|
"summary": "Create submission",
|
|
"parameters": [
|
|
{
|
|
"description": "Submission data",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateSubmissionDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/submissions/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get detailed information of a submission",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Submission"
|
|
],
|
|
"summary": "Get submission by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Submission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete a submission by ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Submission"
|
|
],
|
|
"summary": "Delete submission",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Submission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/submissions/{id}/status": {
|
|
"patch": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Approve or reject a submission",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Submission"
|
|
],
|
|
"summary": "Update submission status",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Submission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Status update data",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.UpdateSubmissionStatusDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tiles/metadata": {
|
|
"get": {
|
|
"description": "Retrieve map metadata",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get tile metadata",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tiles/{z}/{x}/{y}": {
|
|
"get": {
|
|
"description": "Fetch vector or raster map tile data by Z, X, Y coordinates",
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"Tile"
|
|
],
|
|
"summary": "Get a map tile",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Zoom level (0-22)",
|
|
"name": "z",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "X coordinate",
|
|
"name": "x",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Y coordinate",
|
|
"name": "y",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Search and filter users with pagination (Admin/Mod only)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Search users",
|
|
"parameters": [
|
|
{
|
|
"enum": [
|
|
"local",
|
|
"google",
|
|
"facebook",
|
|
"github"
|
|
],
|
|
"type": "string",
|
|
"name": "auth_provider",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "created_from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "created_to",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"name": "is_deleted",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string",
|
|
"name": "order",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "page",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"name": "role_ids",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 200,
|
|
"minLength": 2,
|
|
"type": "string",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"id",
|
|
"created_at",
|
|
"updated_at",
|
|
"email",
|
|
"is_deleted",
|
|
"auth_provider"
|
|
],
|
|
"type": "string",
|
|
"name": "sort",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Create a new user account with specified roles",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Create a new user (Admin only)",
|
|
"parameters": [
|
|
{
|
|
"description": "Create User request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CreateUserDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/current": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve the profile information of the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get current user profile",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update the profile details of the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Update user profile",
|
|
"parameters": [
|
|
{
|
|
"description": "Update Profile request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.UpdateProfileDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/current/application": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve application list of the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get current user's application",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/current/media": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve media list of the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get current user's media",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/current/password": {
|
|
"patch": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update the password for the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Change user password",
|
|
"parameters": [
|
|
{
|
|
"description": "Change Password request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.ChangePasswordDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/current/project": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve project list of the currently authenticated user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get current user's projects",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "cursor_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve details of a specific user (Admin/Mod only)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get user by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Soft delete a user account (Admin/Mod only)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Delete a user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}/application": {
|
|
"get": {
|
|
"description": "Retrieve application list by specific user ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get user's application by user ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}/media": {
|
|
"get": {
|
|
"description": "Retrieve media list by specific user ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get user's media by user ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}/project": {
|
|
"get": {
|
|
"description": "Retrieve project list by specific user ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Get user's projects by user ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "cursor_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}/restore": {
|
|
"patch": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Restore a soft-deleted user account (Admin/Mod only)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Restore a deleted user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}/role": {
|
|
"patch": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update the role of a user (Admin only)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"summary": "Change user role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "User ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Change Role request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.ChangeRoleDto"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/wikis": {
|
|
"get": {
|
|
"description": "Search wikis with cursor pagination",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Wikis"
|
|
],
|
|
"summary": "Search wikis",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "cursor",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "entity_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "project_id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"maxLength": 1000,
|
|
"type": "string",
|
|
"name": "title",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/wikis/{id}": {
|
|
"get": {
|
|
"description": "Get detailed information about a specific wiki",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Wikis"
|
|
],
|
|
"summary": "Get wiki by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Wiki ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"history-api_internal_dtos_request.AddProjectMemberDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"role",
|
|
"user_id"
|
|
],
|
|
"properties": {
|
|
"role": {
|
|
"type": "string",
|
|
"enum": [
|
|
"EDITOR",
|
|
"VIEWER"
|
|
]
|
|
},
|
|
"user_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.BBox": {
|
|
"type": "object",
|
|
"required": [
|
|
"max_lat",
|
|
"max_lng",
|
|
"min_lat",
|
|
"min_lng"
|
|
],
|
|
"properties": {
|
|
"max_lat": {
|
|
"type": "number"
|
|
},
|
|
"max_lng": {
|
|
"type": "number"
|
|
},
|
|
"min_lat": {
|
|
"type": "number"
|
|
},
|
|
"min_lng": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.ChangeOwnerDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"new_owner_id"
|
|
],
|
|
"properties": {
|
|
"new_owner_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.ChangePasswordDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"new_password"
|
|
],
|
|
"properties": {
|
|
"new_password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
},
|
|
"old_password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.ChangeRoleDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"role_ids"
|
|
],
|
|
"properties": {
|
|
"role_ids": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.ChatbotDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"question"
|
|
],
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"question": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CommitSnapshot": {
|
|
"type": "object",
|
|
"properties": {
|
|
"editor_feature_collection": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.FeatureCollection"
|
|
},
|
|
"entities": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.EntitySnapshot"
|
|
}
|
|
},
|
|
"entity_wiki": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.EntityWikiLinkSnapshot"
|
|
}
|
|
},
|
|
"entity_wikis": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.EntityWikiLinkSnapshot"
|
|
}
|
|
},
|
|
"geometries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.GeometrySnapshot"
|
|
}
|
|
},
|
|
"geometry_entity": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.GeometryEntitySnapshot"
|
|
}
|
|
},
|
|
"wikis": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.WikiSnapshot"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateCommitDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"edit_summary",
|
|
"snapshot_json"
|
|
],
|
|
"properties": {
|
|
"edit_summary": {
|
|
"type": "string",
|
|
"maxLength": 500
|
|
},
|
|
"snapshot_json": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.CommitSnapshot"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateProjectDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"title"
|
|
],
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"PRIVATE",
|
|
"PUBLIC",
|
|
"ARCHIVE"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateSubmissionDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"commit_id",
|
|
"project_id"
|
|
],
|
|
"properties": {
|
|
"commit_id": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": "string"
|
|
},
|
|
"project_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateTokenDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"email",
|
|
"token_type"
|
|
],
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"token_type": {
|
|
"enum": [
|
|
1,
|
|
2,
|
|
3,
|
|
4
|
|
],
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/history-api_pkg_constants.TokenType"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateUserDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"display_name",
|
|
"email",
|
|
"password",
|
|
"role_ids"
|
|
],
|
|
"properties": {
|
|
"display_name": {
|
|
"type": "string",
|
|
"maxLength": 50,
|
|
"minLength": 2
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
},
|
|
"role_ids": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.CreateUserVerificationDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"content",
|
|
"verify_type"
|
|
],
|
|
"properties": {
|
|
"content": {
|
|
"type": "string",
|
|
"minLength": 10
|
|
},
|
|
"media_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"verify_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ID_CARD",
|
|
"EDUCATION",
|
|
"EXPERT",
|
|
"OTHER"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.EntitySnapshot": {
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"base_hash": {
|
|
"type": "string"
|
|
},
|
|
"base_updated_at": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"delete",
|
|
"reference"
|
|
]
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "string",
|
|
"enum": [
|
|
"inline",
|
|
"ref"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "integer",
|
|
"enum": [
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"time_end": {
|
|
"type": "number"
|
|
},
|
|
"time_start": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.EntityWikiLinkSnapshot": {
|
|
"type": "object",
|
|
"required": [
|
|
"entity_id",
|
|
"wiki_id"
|
|
],
|
|
"properties": {
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"is_deleted": {
|
|
"type": "integer",
|
|
"enum": [
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"reference",
|
|
"delete"
|
|
]
|
|
},
|
|
"wiki_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.Feature": {
|
|
"type": "object",
|
|
"required": [
|
|
"geometry",
|
|
"properties",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"geometry": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"properties": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.FeatureProperties"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.FeatureCollection": {
|
|
"type": "object",
|
|
"required": [
|
|
"features",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"features": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.Feature"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.FeatureProperties": {
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"binding": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"entity_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"entity_name": {
|
|
"type": "string"
|
|
},
|
|
"entity_names": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"entity_type_id": {
|
|
"type": "string"
|
|
},
|
|
"geometry_preset": {
|
|
"type": "string"
|
|
},
|
|
"id": {},
|
|
"time_end": {
|
|
"type": "number"
|
|
},
|
|
"time_start": {
|
|
"type": "number"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.ForgotPasswordDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"email",
|
|
"new_password",
|
|
"token_id"
|
|
],
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 5
|
|
},
|
|
"new_password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
},
|
|
"token_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.GeometryEntitySnapshot": {
|
|
"type": "object",
|
|
"required": [
|
|
"entity_id",
|
|
"geometry_id"
|
|
],
|
|
"properties": {
|
|
"base_links_hash": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"geometry_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.GeometrySnapshot": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"base_hash": {
|
|
"type": "string"
|
|
},
|
|
"base_updated_at": {
|
|
"type": "string"
|
|
},
|
|
"bbox": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_request.BBox"
|
|
},
|
|
"binding": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"draw_geometry": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"delete",
|
|
"reference"
|
|
]
|
|
},
|
|
"source": {
|
|
"type": "string",
|
|
"enum": [
|
|
"inline",
|
|
"ref"
|
|
]
|
|
},
|
|
"time_end": {
|
|
"type": "number"
|
|
},
|
|
"time_start": {
|
|
"type": "number"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.MediaBulkDeleteDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"media_ids"
|
|
],
|
|
"properties": {
|
|
"media_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.PreSignedCompleteDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"token_id"
|
|
],
|
|
"properties": {
|
|
"token_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.RestoreCommitDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"commit_id"
|
|
],
|
|
"properties": {
|
|
"commit_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.SignInDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
],
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 5
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.SignUpDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"display_name",
|
|
"email",
|
|
"password",
|
|
"token_id"
|
|
],
|
|
"properties": {
|
|
"display_name": {
|
|
"type": "string",
|
|
"maxLength": 50,
|
|
"minLength": 2
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 5
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"minLength": 8
|
|
},
|
|
"token_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.UpdateProfileDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avatar_url": {
|
|
"type": "string"
|
|
},
|
|
"bio": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
},
|
|
"country_code": {
|
|
"type": "string"
|
|
},
|
|
"display_name": {
|
|
"type": "string",
|
|
"maxLength": 50,
|
|
"minLength": 2
|
|
},
|
|
"full_name": {
|
|
"type": "string",
|
|
"maxLength": 100,
|
|
"minLength": 2
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 100
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"maxLength": 20,
|
|
"minLength": 8
|
|
},
|
|
"website": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.UpdateProjectDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"PRIVATE",
|
|
"PUBLIC",
|
|
"ARCHIVE"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.UpdateProjectMemberDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"role"
|
|
],
|
|
"properties": {
|
|
"role": {
|
|
"type": "string",
|
|
"enum": [
|
|
"EDITOR",
|
|
"VIEWER"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.UpdateSubmissionStatusDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"review_note",
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"review_note": {
|
|
"type": "string",
|
|
"minLength": 10
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.UpdateVerificationStatusDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"review_note",
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"review_note": {
|
|
"type": "string",
|
|
"maxLength": 3000,
|
|
"minLength": 5
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"PENDING",
|
|
"APPROVED",
|
|
"REJECTED"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.VerifyTokenDto": {
|
|
"type": "object",
|
|
"required": [
|
|
"email",
|
|
"token",
|
|
"token_type"
|
|
],
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"token_type": {
|
|
"enum": [
|
|
1,
|
|
2,
|
|
3,
|
|
4
|
|
],
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/history-api_pkg_constants.TokenType"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_request.WikiSnapshot": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"title"
|
|
],
|
|
"properties": {
|
|
"doc": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"create",
|
|
"update",
|
|
"delete",
|
|
"reference"
|
|
]
|
|
},
|
|
"source": {
|
|
"type": "string",
|
|
"enum": [
|
|
"inline",
|
|
"ref"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_response.CommonResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {},
|
|
"errors": {},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_response.PaginatedResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {},
|
|
"errors": {},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/definitions/history-api_internal_dtos_response.PaginationMeta"
|
|
},
|
|
"status": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"history-api_internal_dtos_response.PaginationMeta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer"
|
|
},
|
|
"page_size": {
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"type": "integer"
|
|
},
|
|
"total_records": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"history-api_pkg_constants.TokenType": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"enum": [
|
|
1,
|
|
2,
|
|
3,
|
|
4
|
|
],
|
|
"x-enum-varnames": [
|
|
"TokenTypePasswordReset",
|
|
"TokenTypeEmailVerify",
|
|
"TokenTypeMagicLink",
|
|
"TokenTypeUpload"
|
|
]
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"BearerAuth": {
|
|
"description": "Type \"Bearer \" followed by a space and JWT token.",
|
|
"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: "/",
|
|
Schemes: []string{},
|
|
Title: "History API",
|
|
Description: "This is a sample server for History API.",
|
|
InfoInstanceName: "swagger",
|
|
SwaggerTemplate: docTemplate,
|
|
LeftDelim: "{{",
|
|
RightDelim: "}}",
|
|
}
|
|
|
|
func init() {
|
|
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
|
}
|