From c1b6ad426ccf7608583765c117848b23d349faa0 Mon Sep 17 00:00:00 2001 From: raghavyuva Date: Mon, 30 Jun 2025 20:42:21 +0530 Subject: [PATCH 1/3] fix: remove fallback to access denied component when something is not passed to rbac related guard as props --- api/api/versions.json | 8 +++++--- view/components/rbac/PermissionGuard.tsx | 9 ++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/api/api/versions.json b/api/api/versions.json index ace413bb1..295a453a4 100644 --- a/api/api/versions.json +++ b/api/api/versions.json @@ -3,9 +3,11 @@ { "version": "v1", "status": "active", - "release_date": "2025-06-28T00:59:10.212737+05:30", + "release_date": "2025-06-30T20:35:10.680018+05:30", "end_of_life": "0001-01-01T00:00:00Z", - "changes": ["Initial API version"] + "changes": [ + "Initial API version" + ] } ] -} +} \ No newline at end of file diff --git a/view/components/rbac/PermissionGuard.tsx b/view/components/rbac/PermissionGuard.tsx index c535d0551..96225f436 100644 --- a/view/components/rbac/PermissionGuard.tsx +++ b/view/components/rbac/PermissionGuard.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { RBACGuard } from './RBACGuard'; -import { AccessDenied } from './AccessDenied'; import { Action, Permission, Resource } from '@/lib/rbac'; interface BasePermissionGuardProps { @@ -32,7 +31,7 @@ export const PermissionGuard: React.FC = ({ }) => ( } + fallback={fallback} loadingFallback={loadingFallback} errorFallback={errorFallback} > @@ -50,7 +49,7 @@ export const AnyPermissionGuard: React.FC = ({ } + fallback={fallback} loadingFallback={loadingFallback} errorFallback={errorFallback} > @@ -68,7 +67,7 @@ export const AllPermissionsGuard: React.FC = ({ } + fallback={fallback} loadingFallback={loadingFallback} errorFallback={errorFallback} > @@ -87,7 +86,7 @@ export const ResourceGuard: React.FC = ({ } + fallback={fallback} loadingFallback={loadingFallback} errorFallback={errorFallback} > From c05cf139ca1f4b076bfc1421d6c544fc3c3d188c Mon Sep 17 00:00:00 2001 From: raghavyuva Date: Mon, 30 Jun 2025 20:58:39 +0530 Subject: [PATCH 2/3] refactor: general settings to be wrapped under rbac guards for improved team security --- api/api/versions.json | 2 +- api/doc/openapi.json | 2 +- api/internal/routes.go | 20 ++- .../general/components/AccountSection.tsx | 139 ++++++++++-------- .../general/components/AvatarSection.tsx | 13 +- .../components/FeatureFlagsSettings.tsx | 87 +++++------ .../general/components/SecuritySection.tsx | 19 ++- .../general/components/TwoFactorSetup.tsx | 33 +++-- view/app/settings/general/page.tsx | 14 +- 9 files changed, 187 insertions(+), 142 deletions(-) diff --git a/api/api/versions.json b/api/api/versions.json index 295a453a4..28f730964 100644 --- a/api/api/versions.json +++ b/api/api/versions.json @@ -3,7 +3,7 @@ { "version": "v1", "status": "active", - "release_date": "2025-06-30T20:35:10.680018+05:30", + "release_date": "2025-06-30T20:48:43.246107+05:30", "end_of_life": "0001-01-01T00:00:00Z", "changes": [ "Initial API version" diff --git a/api/doc/openapi.json b/api/doc/openapi.json index a9f16ac0e..b757b7911 100644 --- a/api/doc/openapi.json +++ b/api/doc/openapi.json @@ -1 +1 @@ -{"components":{"schemas":{"AddUserToOrganizationRequest":{"description":"AddUserToOrganizationRequest schema","properties":{"organization_id":{"type":"string"},"role_id":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"ContainerLogsRequest":{"description":"ContainerLogsRequest schema","properties":{"follow":{"type":"boolean"},"id":{"type":"string"},"since":{"type":"string"},"stderr":{"type":"boolean"},"stdout":{"type":"boolean"},"tail":{"type":"integer"},"until":{"type":"string"}},"type":"object"},"CopyDirectory":{"description":"CopyDirectory schema","properties":{"from_path":{"type":"string"},"to_path":{"type":"string"}},"type":"object"},"CreateDeploymentRequest":{"description":"CreateDeploymentRequest schema","properties":{"base_path":{"nullable":true,"type":"string"},"branch":{"type":"string"},"build_pack":{"type":"string"},"build_variables":{"additionalProperties":{"type":"string"},"type":"object"},"dockerfile_path":{"nullable":true,"type":"string"},"domain":{"type":"string"},"environment":{"type":"string"},"environment_variables":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"port":{"type":"integer"},"post_run_command":{"type":"string"},"pre_run_command":{"type":"string"},"repository":{"type":"string"}},"type":"object"},"CreateDirectoryRequest":{"description":"CreateDirectoryRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"CreateDomainRequest":{"description":"CreateDomainRequest schema","properties":{"name":{"type":"string"},"organization_id":{}},"type":"object"},"CreateGithubConnectorRequest":{"description":"CreateGithubConnectorRequest schema","properties":{"app_id":{"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"},"pem":{"type":"string"},"slug":{"type":"string"},"webhook_secret":{"type":"string"}},"type":"object"},"CreateOrganizationRequest":{"description":"CreateOrganizationRequest schema","properties":{"description":{"type":"string"},"name":{"type":"string"}},"type":"object"},"CreateSMTPConfigRequest":{"description":"CreateSMTPConfigRequest schema","properties":{"from_email":{"type":"string"},"from_name":{"type":"string"},"host":{"type":"string"},"organization_id":{},"password":{"type":"string"},"port":{"type":"integer"},"username":{"type":"string"}},"type":"object"},"CreateWebhookConfigRequest":{"description":"CreateWebhookConfigRequest schema","properties":{"type":{"type":"string"},"webhook_url":{"type":"string"}},"required":["type"],"type":"object"},"DeleteDeploymentRequest":{"description":"DeleteDeploymentRequest schema","properties":{"id":{}},"type":"object"},"DeleteDirectoryRequest":{"description":"DeleteDirectoryRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"DeleteDomainRequest":{"description":"DeleteDomainRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"DeleteOrganizationRequest":{"description":"DeleteOrganizationRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"DeleteSMTPConfigRequest":{"description":"DeleteSMTPConfigRequest schema","properties":{"id":{}},"type":"object"},"DeleteWebhookConfigRequest":{"description":"DeleteWebhookConfigRequest schema","properties":{"type":{"type":"string"}},"required":["type"],"type":"object"},"GetApplicationDeploymentsRequest":{"description":"GetApplicationDeploymentsRequest schema","properties":{"id":{"type":"string"},"limit":{"type":"string"},"page":{"type":"string"}},"type":"object"},"GetApplicationsRequest":{"description":"GetApplicationsRequest schema","properties":{"page":{"type":"string"},"page_size":{"type":"string"},"repository":{"type":"string"}},"type":"object"},"GetOrganizationUsersRequest":{"description":"GetOrganizationUsersRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"HTTPError":{"description":"HTTPError schema","properties":{"detail":{"description":"Human readable error message","nullable":true,"type":"string"},"errors":{"items":{"properties":{"more":{"additionalProperties":{},"type":"object"},"name":{"type":"string"},"reason":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"instance":{"nullable":true,"type":"string"},"status":{"description":"HTTP status code","example":403,"nullable":true,"type":"integer"},"title":{"description":"Short title of the error","nullable":true,"type":"string"},"type":{"description":"URL of the error type. Can be used to lookup the error in a documentation","nullable":true,"type":"string"}},"type":"object"},"ListFilesRequest":{"description":"ListFilesRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"ListImagesRequest":{"description":"ListImagesRequest schema","properties":{"all":{"nullable":true,"type":"boolean"},"container_id":{"nullable":true,"type":"string"},"image_prefix":{"nullable":true,"type":"string"}},"type":"object"},"LoginRequest":{"description":"LoginRequest schema","properties":{"email":{"type":"string"},"password":{"type":"string"}},"type":"object"},"LogoutRequest":{"description":"LogoutRequest schema","properties":{"refresh_token":{"type":"string"}},"type":"object"},"MoveDirectory":{"description":"MoveDirectory schema","properties":{"from_path":{"type":"string"},"to_path":{"type":"string"}},"type":"object"},"PruneBuildCacheRequest":{"description":"PruneBuildCacheRequest schema","properties":{"all":{"nullable":true,"type":"boolean"},"filters":{"nullable":true,"type":"string"}},"type":"object"},"PruneImagesRequest":{"description":"PruneImagesRequest schema","properties":{"dangling":{"nullable":true,"type":"boolean"},"label":{"nullable":true,"type":"string"},"until":{"nullable":true,"type":"string"}},"type":"object"},"ReDeployApplicationRequest":{"description":"ReDeployApplicationRequest schema","properties":{"force":{"type":"boolean"},"force_without_cache":{"type":"boolean"},"id":{}},"type":"object"},"RefreshTokenRequest":{"description":"RefreshTokenRequest schema","properties":{"refresh_token":{"type":"string"}},"type":"object"},"RegisterRequest":{"description":"RegisterRequest schema","properties":{"email":{"type":"string"},"organization":{"type":"string"},"password":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"type":"object"},"RemoveUserFromOrganizationRequest":{"description":"RemoveUserFromOrganizationRequest schema","properties":{"organization_id":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"ResetPasswordRequest":{"description":"ResetPasswordRequest schema","properties":{"password":{"type":"string"}},"type":"object"},"Response":{"description":"Response schema","properties":{"data":{"nullable":true},"error":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"status":{"type":"string"}},"type":"object"},"RestartDeploymentRequest":{"description":"RestartDeploymentRequest schema","properties":{"id":{}},"type":"object"},"RollbackDeploymentRequest":{"description":"RollbackDeploymentRequest schema","properties":{"id":{}},"type":"object"},"TwoFactorLoginRequest":{"description":"TwoFactorLoginRequest schema","properties":{"code":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"}},"type":"object"},"TwoFactorVerifyRequest":{"description":"TwoFactorVerifyRequest schema","properties":{"code":{"type":"string"}},"type":"object"},"UpdateAutoUpdateRequest":{"description":"UpdateAutoUpdateRequest schema","properties":{"auto_update":{"type":"boolean"}},"type":"object"},"UpdateAvatarRequest":{"description":"UpdateAvatarRequest schema","properties":{"avatarData":{"type":"string"}},"type":"object"},"UpdateCheckResponse":{"description":"UpdateCheckResponse schema","properties":{"current_version":{"type":"string"},"environment":{"type":"string"},"last_checked":{"format":"date-time","type":"string"},"latest_version":{"type":"string"},"update_available":{"type":"boolean"}},"type":"object"},"UpdateDeploymentRequest":{"description":"UpdateDeploymentRequest schema","properties":{"base_path":{"nullable":true,"type":"string"},"build_variables":{"additionalProperties":{"type":"string"},"nullable":true,"type":"object"},"dockerfile_path":{"nullable":true,"type":"string"},"environment_variables":{"additionalProperties":{"type":"string"},"nullable":true,"type":"object"},"force":{"nullable":true,"type":"boolean"},"id":{"nullable":true},"name":{"nullable":true,"type":"string"},"port":{"nullable":true,"type":"integer"},"post_run_command":{"nullable":true,"type":"string"},"pre_run_command":{"nullable":true,"type":"string"}},"type":"object"},"UpdateDomainRequest":{"description":"UpdateDomainRequest schema","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"UpdateFeatureFlagRequest":{"description":"UpdateFeatureFlagRequest schema","properties":{"feature_name":{"type":"string"},"is_enabled":{"type":"boolean"}},"required":["feature_name"],"type":"object"},"UpdateFontRequest":{"description":"UpdateFontRequest schema","properties":{"font_family":{"type":"string"},"font_size":{"type":"integer"}},"type":"object"},"UpdateGithubConnectorRequest":{"description":"UpdateGithubConnectorRequest schema","properties":{"installation_id":{"type":"string"}},"type":"object"},"UpdateLanguageRequest":{"description":"UpdateLanguageRequest schema","properties":{"language":{"type":"string"}},"type":"object"},"UpdateOrganizationRequest":{"description":"UpdateOrganizationRequest schema","properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"UpdatePreferenceRequest":{"description":"UpdatePreferenceRequest schema","properties":{"category":{"type":"string"},"enabled":{"type":"boolean"},"type":{"type":"string"}},"required":["category","type"],"type":"object"},"UpdateRequest":{"description":"UpdateRequest schema","properties":{"force":{"type":"boolean"}},"type":"object"},"UpdateResponse":{"description":"UpdateResponse schema","properties":{"message":{"type":"string"},"success":{"type":"boolean"}},"type":"object"},"UpdateSMTPConfigRequest":{"description":"UpdateSMTPConfigRequest schema","properties":{"from_email":{"nullable":true,"type":"string"},"from_name":{"nullable":true,"type":"string"},"host":{"nullable":true,"type":"string"},"id":{},"organization_id":{},"password":{"nullable":true,"type":"string"},"port":{"nullable":true,"type":"integer"},"username":{"nullable":true,"type":"string"}},"type":"object"},"UpdateThemeRequest":{"description":"UpdateThemeRequest schema","properties":{"theme":{"type":"string"}},"type":"object"},"UpdateUserNameRequest":{"description":"UpdateUserNameRequest schema","properties":{"name":{"type":"string"}},"type":"object"},"UpdateUserRoleRequest":{"description":"UpdateUserRoleRequest schema","properties":{"organization_id":{"type":"string"},"role_name":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"UpdateWebhookConfigRequest":{"description":"UpdateWebhookConfigRequest schema","properties":{"is_active":{"nullable":true,"type":"boolean"},"type":{"type":"string"},"webhook_url":{"nullable":true,"type":"string"}},"required":["type"],"type":"object"},"unknown-interface":{"description":"unknown-interface schema"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","description":"Enter your JWT token in the format: Bearer \u003ctoken\u003e","scheme":"bearer","type":"http"}}},"info":{"description":"\nThis is the autogenerated OpenAPI documentation for your [Fuego](https://github.com/go-fuego/fuego) API.\n\nBelow is a Fuego Cheatsheet to help you get started. Don't hesitate to check the [Fuego documentation](https://go-fuego.dev) for more details.\n\nHappy coding! 🔥\n\n## Usage\n\n### Route registration\n\n```go\nfunc main() {\n\t// Create a new server\n\ts := fuego.NewServer()\n\n\t// Register some routes\n\tfuego.Post(s, \"/hello\", myController)\n\tfuego.Get(s, \"/myPath\", otherController)\n\tfuego.Put(s, \"/hello\", thirdController)\n\n\tadminRoutes := fuego.Group(s, \"/admin\")\n\tfuego.Use(adminRoutes, myMiddleware) // This middleware (for authentication, etc...) will be available for routes starting by /admin/*, \n\tfuego.Get(adminRoutes, \"/hello\", groupController) // This route will be available at /admin/hello\n\n\t// Start the server\n\ts.Start()\n}\n```\n\n### Basic controller\n\n```go\ntype MyBody struct {\n\tName string `json:\"name\" validate:\"required,max=30\"`\n}\n\ntype MyResponse struct {\n\tAnswer string `json:\"answer\"`\n}\n\nfunc hello(ctx fuego.ContextWithBody[MyBody]) (*MyResponse, error) {\n\tbody, err := ctx.Body()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn \u0026MyResponse{Answer: \"Hello \" + body.Name}, nil\n}\n```\n\n### Add openAPI information to the route\n\n```go\nimport (\n\t\"github.com/go-fuego/fuego\"\n\t\"github.com/go-fuego/fuego/option\"\n\t\"github.com/go-fuego/fuego/param\"\n)\n\nfunc main() {\n\ts := fuego.NewServer()\n\n\t// Custom OpenAPI options\n\tfuego.Post(s, \"/\", myController\n\t\toption.Description(\"This route does something...\"),\n\t\toption.Summary(\"This is my summary\"),\n\t\toption.Tags(\"MyTag\"), // A tag is set by default according to the return type (can be deactivated)\n\t\toption.Deprecated(), // Marks the route as deprecated in the OpenAPI spec\n\n\t\toption.Query(\"name\", \"Declares a query parameter with default value\", param.Default(\"Carmack\")),\n\t\toption.Header(\"Authorization\", \"Bearer token\", param.Required()),\n\t\toptionPagination,\n\t\toptionCustomBehavior,\n\t)\n\n\ts.Run()\n}\n\nvar optionPagination = option.Group(\n\toption.QueryInt(\"page\", \"Page number\", param.Default(1), param.Example(\"1st page\", 1), param.Example(\"42nd page\", 42)),\n\toption.QueryInt(\"perPage\", \"Number of items per page\"),\n)\n\nvar optionCustomBehavior = func(r *fuego.BaseRoute) {\n\tr.XXX = \"YYY\"\n}\n```\n\nThen, in the controller\n\n```go\ntype MyResponse struct {\n\tAnswer string `json:\"answer\"`\n}\n\nfunc getAllPets(ctx fuego.ContextNoBody) (*MyResponse, error) {\n\tname := ctx.QueryParam(\"name\")\n\tperPage, _ := ctx.QueryParamIntErr(\"per_page\")\n\n\treturn \u0026MyResponse{Answer: \"Hello \" + name}, nil\n}\n```\n","title":"OpenAPI","version":"0.0.1"},"openapi":"3.1.0","paths":{"/api/v1/audit/logs":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/audit/controller.(*AuditController).GetRecentAuditLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func16`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func17`\n\n---\n\n","operationId":"GET_/api/v1/audit/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get recent audit logs","tags":["api/v1/audit"]}},"/api/v1/auth/2fa-login":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).TwoFactorLogin`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/2fa-login","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TwoFactorLoginRequest"}}},"description":"Request body for types.TwoFactorLoginRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"two factor login","tags":["api/v1/auth"]}},"/api/v1/auth/create-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).CreateUser`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/create-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"description":"Request body for types.RegisterRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create user","tags":["api/v1/auth"]}},"/api/v1/auth/disable-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).DisableTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/disable-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"disable two factor","tags":["api/v1/auth"]}},"/api/v1/auth/is-admin-registered":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).IsAdminRegistered`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/auth/is-admin-registered","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"is admin registered","tags":["api/v1/auth"]}},"/api/v1/auth/login":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Login`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/login","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"description":"Request body for types.LoginRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"login","tags":["api/v1/auth"]}},"/api/v1/auth/logout":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Logout`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/logout","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LogoutRequest"}}},"description":"Request body for types.LogoutRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"logout","tags":["api/v1/auth"]}},"/api/v1/auth/refresh-token":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).RefreshToken`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/refresh-token","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"description":"Request body for types.RefreshTokenRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"refresh token","tags":["api/v1/auth"]}},"/api/v1/auth/register":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Register`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/register","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"description":"Request body for types.RegisterRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"register","tags":["api/v1/auth"]}},"/api/v1/auth/request-password-reset":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).GeneratePasswordResetLink`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/request-password-reset","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"generate password reset link","tags":["api/v1/auth"]}},"/api/v1/auth/reset-password":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).ResetPassword`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/reset-password","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"description":"Request body for types.ResetPasswordRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"reset password","tags":["api/v1/auth"]}},"/api/v1/auth/send-verification-email":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).SendVerificationEmail`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/send-verification-email","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"send verification email","tags":["api/v1/auth"]}},"/api/v1/auth/setup-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).SetupTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/setup-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"setup two factor","tags":["api/v1/auth"]}},"/api/v1/auth/verify-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).VerifyTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/verify-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TwoFactorVerifyRequest"}}},"description":"Request body for types.TwoFactorVerifyRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"verify two factor","tags":["api/v1/auth"]}},"/api/v1/auth/verify-email":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).VerifyEmail`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/auth/verify-email","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"verify email","tags":["api/v1/auth"]}},"/api/v1/container":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).ListContainers`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"GET_/api/v1/container","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list containers","tags":["api/v1/container"]}},"/api/v1/container/images":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).ListImages`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/images","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListImagesRequest"}}},"description":"Request body for controller.ListImagesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list images","tags":["api/v1/container"]}},"/api/v1/container/prune/build-cache":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).PruneBuildCache`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/prune/build-cache","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PruneBuildCacheRequest"}}},"description":"Request body for controller.PruneBuildCacheRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"prune build cache","tags":["api/v1/container"]}},"/api/v1/container/prune/images":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).PruneImages`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/prune/images","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PruneImagesRequest"}}},"description":"Request body for controller.PruneImagesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"prune images","tags":["api/v1/container"]}},"/api/v1/container/{container_id}":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).RemoveContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"DELETE_/api/v1/container/:container_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"remove container","tags":["api/v1/container"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).GetContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"GET_/api/v1/container/:container_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/logs":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).GetContainerLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ContainerLogsRequest"}}},"description":"Request body for types.ContainerLogsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get container logs","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/restart":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).RestartContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/restart","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"restart container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/start":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).StartContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/start","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"start container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/stop":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).StopContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/stop","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"stop container","tags":["api/v1/container"]}},"/api/v1/deploy/application":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).DeleteApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"DELETE_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDeploymentRequest"}}},"description":"Request body for types.DeleteDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete application","tags":["api/v1/deploy","application"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplicationById`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get application by id","tags":["api/v1/deploy","application"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleDeploy`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDeploymentRequest"}}},"description":"Request body for types.CreateDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle deploy","tags":["api/v1/deploy","application"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).UpdateApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"PUT_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateDeploymentRequest"}}},"description":"Request body for types.UpdateDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update application","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplicationDeployments`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetApplicationDeploymentsRequest"}}},"description":"Request body for controller.GetApplicationDeploymentsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get application deployments","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments/{deployment_id}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetDeploymentById`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments/:deployment_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"deployment_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get deployment by id","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments/{deployment_id}/logs":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetDeploymentLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments/:deployment_id/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"deployment_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get deployment logs","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/logs/{application_id}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/logs/:application_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"application_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get logs","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/redeploy":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).ReDeployApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/redeploy","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReDeployApplicationRequest"}}},"description":"Request body for types.ReDeployApplicationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"re deploy application","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/restart":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleRestart`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/restart","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RestartDeploymentRequest"}}},"description":"Request body for types.RestartDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle restart","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/rollback":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleRollback`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/rollback","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RollbackDeploymentRequest"}}},"description":"Request body for types.RollbackDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle rollback","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/applications":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplications`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/applications","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetApplicationsRequest"}}},"description":"Request body for controller.GetApplicationsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get applications","tags":["api/v1/deploy"]}},"/api/v1/domain":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).DeleteDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"DELETE_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDomainRequest"}}},"description":"Request body for types.DeleteDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete domain","tags":["api/v1/domain"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).CreateDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"POST_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDomainRequest"}}},"description":"Request body for types.CreateDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create domain","tags":["api/v1/domain"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).UpdateDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"PUT_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateDomainRequest"}}},"description":"Request body for types.UpdateDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update domain","tags":["api/v1/domain"]}},"/api/v1/domain/generate":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).GenerateRandomSubDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"GET_/api/v1/domain/generate","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"generate random sub domain","tags":["api/v1/domain"]}},"/api/v1/domains":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).GetDomains`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func6`\n\n---\n\n","operationId":"GET_/api/v1/domains","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get domains","tags":["api/v1/domains"]}},"/api/v1/feature-flags":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).GetFeatureFlags`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func18`\n\n---\n\n","operationId":"GET_/api/v1/feature-flags","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get feature flags","tags":["api/v1/feature-flags"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).UpdateFeatureFlag`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func18`\n\n---\n\n","operationId":"PUT_/api/v1/feature-flags","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateFeatureFlagRequest"}}},"description":"Request body for types.UpdateFeatureFlagRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update feature flag","tags":["api/v1/feature-flags"]}},"/api/v1/feature-flags/check":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).IsFeatureEnabled`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func18`\n\n---\n\n","operationId":"GET_/api/v1/feature-flags/check","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"is feature enabled","tags":["api/v1/feature-flags"]}},"/api/v1/file-manager":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).ListFiles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"GET_/api/v1/file-manager","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListFilesRequest"}}},"description":"Request body for controller.ListFilesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list files","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/copy-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).CopyDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/copy-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CopyDirectory"}}},"description":"Request body for controller.CopyDirectory","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"copy directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/create-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).CreateDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/create-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDirectoryRequest"}}},"description":"Request body for controller.CreateDirectoryRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/delete-directory":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).DeleteDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"DELETE_/api/v1/file-manager/delete-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDirectoryRequest"}}},"description":"Request body for controller.DeleteDirectoryRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/move-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).MoveDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/move-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/MoveDirectory"}}},"description":"Request body for controller.MoveDirectory","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"move directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/upload":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).UploadFile`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/upload","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"upload file","tags":["api/v1/file-manager"]}},"/api/v1/github-connector":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).CreateGithubConnector`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"POST_/api/v1/github-connector","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateGithubConnectorRequest"}}},"description":"Request body for types.CreateGithubConnectorRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create github connector","tags":["api/v1/github-connector"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).UpdateGithubConnectorRequest`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"PUT_/api/v1/github-connector","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateGithubConnectorRequest"}}},"description":"Request body for types.UpdateGithubConnectorRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update github connector request","tags":["api/v1/github-connector"]}},"/api/v1/github-connector/all":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).GetGithubConnectors`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"GET_/api/v1/github-connector/all","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get github connectors","tags":["api/v1/github-connector"]}},"/api/v1/github-connector/repositories":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).GetGithubRepositories`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"GET_/api/v1/github-connector/repositories","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get github repositories","tags":["api/v1/github-connector"]}},"/api/v1/health":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/health.HealthCheck`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/health","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"health check","tags":["api/v1/health"]}},"/api/v1/health/versions":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal.(*Router).BasicRoutes.func1`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/health/versions","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}},"application/xml":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"func1","tags":["api/v1/health","versions"]}},"/api/v1/notification/preferences":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetPreferences`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/preferences","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get preferences","tags":["api/v1/notification","preferences"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdatePreference`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/preferences","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdatePreferenceRequest"}}},"description":"Request body for notification.UpdatePreferenceRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update preference","tags":["api/v1/notification","preferences"]}},"/api/v1/notification/smtp":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).DeleteSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"DELETE_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteSMTPConfigRequest"}}},"description":"Request body for notification.DeleteSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete smtp","tags":["api/v1/notification","smtp"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get smtp","tags":["api/v1/notification","smtp"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).AddSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateSMTPConfigRequest"}}},"description":"Request body for notification.CreateSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"add smtp","tags":["api/v1/notification","smtp"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdateSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"PUT_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateSMTPConfigRequest"}}},"description":"Request body for notification.UpdateSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update smtp","tags":["api/v1/notification","smtp"]}},"/api/v1/notification/webhook":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).DeleteWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"DELETE_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteWebhookConfigRequest"}}},"description":"Request body for notification.DeleteWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete webhook config","tags":["api/v1/notification","webhook"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).CreateWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateWebhookConfigRequest"}}},"description":"Request body for notification.CreateWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create webhook config","tags":["api/v1/notification","webhook"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdateWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"PUT_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateWebhookConfigRequest"}}},"description":"Request body for notification.UpdateWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update webhook config","tags":["api/v1/notification","webhook"]}},"/api/v1/notification/webhook/{type}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/webhook/:type","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get webhook config","tags":["api/v1/notification","webhook"]}},"/api/v1/organizations":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).DeleteOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"DELETE_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationRequest"}}},"description":"Request body for types.DeleteOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete organization","tags":["api/v1/organizations"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).CreateOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequest"}}},"description":"Request body for types.CreateOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create organization","tags":["api/v1/organizations"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).UpdateOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"PUT_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}},"description":"Request body for types.UpdateOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/add-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).AddUserToOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/add-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AddUserToOrganizationRequest"}}},"description":"Request body for types.AddUserToOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"add user to organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/remove-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).RemoveUserFromOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/remove-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RemoveUserFromOrganizationRequest"}}},"description":"Request body for types.RemoveUserFromOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"remove user from organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/resources":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetResources`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/resources","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get resources","tags":["api/v1/organizations"]}},"/api/v1/organizations/roles":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/roles","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get roles","tags":["api/v1/organizations"]}},"/api/v1/organizations/update-user-role":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).UpdateUserRole`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/update-user-role","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleRequest"}}},"description":"Request body for controller.UpdateUserRoleRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update user role","tags":["api/v1/organizations"]}},"/api/v1/organizations/users":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetOrganizationUsers`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/users","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetOrganizationUsersRequest"}}},"description":"Request body for controller.GetOrganizationUsersRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get organization users","tags":["api/v1/organizations"]}},"/api/v1/update":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/update/controller.(*UpdateController).PerformUpdate`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/update","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"description":"Request body for types.UpdateRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/UpdateResponse"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"perform update","tags":["api/v1/update"]}},"/api/v1/update/check":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/update/controller.(*UpdateController).CheckForUpdates`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/update/check","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCheckResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/UpdateCheckResponse"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"check for updates","tags":["api/v1/update"]}},"/api/v1/user":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetUserDetails`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get user details","tags":["api/v1/user"]}},"/api/v1/user/avatar":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateAvatar`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/avatar","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateAvatarRequest"}}},"description":"Request body for types.UpdateAvatarRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update avatar","tags":["api/v1/user"]}},"/api/v1/user/name":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateUserName`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/name","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateUserNameRequest"}}},"description":"Request body for types.UpdateUserNameRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update user name","tags":["api/v1/user"]}},"/api/v1/user/organizations":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetUserOrganizations`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get user organizations","tags":["api/v1/user"]}},"/api/v1/user/settings":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetSettings`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user/settings","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get settings","tags":["api/v1/user"]}},"/api/v1/user/settings/auto-update":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateAutoUpdate`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/auto-update","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateAutoUpdateRequest"}}},"description":"Request body for controller.UpdateAutoUpdateRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update auto update","tags":["api/v1/user"]}},"/api/v1/user/settings/font":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateFont`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/font","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateFontRequest"}}},"description":"Request body for controller.UpdateFontRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update font","tags":["api/v1/user"]}},"/api/v1/user/settings/language":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateLanguage`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/language","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateLanguageRequest"}}},"description":"Request body for controller.UpdateLanguageRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update language","tags":["api/v1/user"]}},"/api/v1/user/settings/theme":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateTheme`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/theme","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateThemeRequest"}}},"description":"Request body for controller.UpdateThemeRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update theme","tags":["api/v1/user"]}},"/api/v1/webhook":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleGithubWebhook`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle github webhook","tags":["api/v1/webhook"]}},"/ws":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal.(*Router).WebSocketServer.func1`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/ws","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}},"application/xml":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"func1"}}},"servers":[{"description":"local server","url":"http://:8080"}],"tags":[{"name":"api/v1/audit"},{"name":"api/v1/auth"},{"name":"api/v1/container"},{"name":"api/v1/deploy"},{"name":"api/v1/domain"},{"name":"api/v1/domains"},{"name":"api/v1/feature-flags"},{"name":"api/v1/file-manager"},{"name":"api/v1/github-connector"},{"name":"api/v1/health"},{"name":"api/v1/notification"},{"name":"api/v1/organizations"},{"name":"api/v1/update"},{"name":"api/v1/user"},{"name":"api/v1/webhook"},{"name":"application"},{"name":"preferences"},{"name":"smtp"},{"name":"versions"},{"name":"webhook"}]} \ No newline at end of file +{"components":{"schemas":{"AddUserToOrganizationRequest":{"description":"AddUserToOrganizationRequest schema","properties":{"organization_id":{"type":"string"},"role_id":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"ContainerLogsRequest":{"description":"ContainerLogsRequest schema","properties":{"follow":{"type":"boolean"},"id":{"type":"string"},"since":{"type":"string"},"stderr":{"type":"boolean"},"stdout":{"type":"boolean"},"tail":{"type":"integer"},"until":{"type":"string"}},"type":"object"},"CopyDirectory":{"description":"CopyDirectory schema","properties":{"from_path":{"type":"string"},"to_path":{"type":"string"}},"type":"object"},"CreateDeploymentRequest":{"description":"CreateDeploymentRequest schema","properties":{"base_path":{"nullable":true,"type":"string"},"branch":{"type":"string"},"build_pack":{"type":"string"},"build_variables":{"additionalProperties":{"type":"string"},"type":"object"},"dockerfile_path":{"nullable":true,"type":"string"},"domain":{"type":"string"},"environment":{"type":"string"},"environment_variables":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"port":{"type":"integer"},"post_run_command":{"type":"string"},"pre_run_command":{"type":"string"},"repository":{"type":"string"}},"type":"object"},"CreateDirectoryRequest":{"description":"CreateDirectoryRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"CreateDomainRequest":{"description":"CreateDomainRequest schema","properties":{"name":{"type":"string"},"organization_id":{}},"type":"object"},"CreateGithubConnectorRequest":{"description":"CreateGithubConnectorRequest schema","properties":{"app_id":{"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"},"pem":{"type":"string"},"slug":{"type":"string"},"webhook_secret":{"type":"string"}},"type":"object"},"CreateOrganizationRequest":{"description":"CreateOrganizationRequest schema","properties":{"description":{"type":"string"},"name":{"type":"string"}},"type":"object"},"CreateSMTPConfigRequest":{"description":"CreateSMTPConfigRequest schema","properties":{"from_email":{"type":"string"},"from_name":{"type":"string"},"host":{"type":"string"},"organization_id":{},"password":{"type":"string"},"port":{"type":"integer"},"username":{"type":"string"}},"type":"object"},"CreateWebhookConfigRequest":{"description":"CreateWebhookConfigRequest schema","properties":{"type":{"type":"string"},"webhook_url":{"type":"string"}},"required":["type"],"type":"object"},"DeleteDeploymentRequest":{"description":"DeleteDeploymentRequest schema","properties":{"id":{}},"type":"object"},"DeleteDirectoryRequest":{"description":"DeleteDirectoryRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"DeleteDomainRequest":{"description":"DeleteDomainRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"DeleteOrganizationRequest":{"description":"DeleteOrganizationRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"DeleteSMTPConfigRequest":{"description":"DeleteSMTPConfigRequest schema","properties":{"id":{}},"type":"object"},"DeleteWebhookConfigRequest":{"description":"DeleteWebhookConfigRequest schema","properties":{"type":{"type":"string"}},"required":["type"],"type":"object"},"GetApplicationDeploymentsRequest":{"description":"GetApplicationDeploymentsRequest schema","properties":{"id":{"type":"string"},"limit":{"type":"string"},"page":{"type":"string"}},"type":"object"},"GetApplicationsRequest":{"description":"GetApplicationsRequest schema","properties":{"page":{"type":"string"},"page_size":{"type":"string"},"repository":{"type":"string"}},"type":"object"},"GetOrganizationUsersRequest":{"description":"GetOrganizationUsersRequest schema","properties":{"id":{"type":"string"}},"type":"object"},"HTTPError":{"description":"HTTPError schema","properties":{"detail":{"description":"Human readable error message","nullable":true,"type":"string"},"errors":{"items":{"properties":{"more":{"additionalProperties":{},"type":"object"},"name":{"type":"string"},"reason":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"instance":{"nullable":true,"type":"string"},"status":{"description":"HTTP status code","example":403,"nullable":true,"type":"integer"},"title":{"description":"Short title of the error","nullable":true,"type":"string"},"type":{"description":"URL of the error type. Can be used to lookup the error in a documentation","nullable":true,"type":"string"}},"type":"object"},"ListFilesRequest":{"description":"ListFilesRequest schema","properties":{"path":{"type":"string"}},"type":"object"},"ListImagesRequest":{"description":"ListImagesRequest schema","properties":{"all":{"nullable":true,"type":"boolean"},"container_id":{"nullable":true,"type":"string"},"image_prefix":{"nullable":true,"type":"string"}},"type":"object"},"LoginRequest":{"description":"LoginRequest schema","properties":{"email":{"type":"string"},"password":{"type":"string"}},"type":"object"},"LogoutRequest":{"description":"LogoutRequest schema","properties":{"refresh_token":{"type":"string"}},"type":"object"},"MoveDirectory":{"description":"MoveDirectory schema","properties":{"from_path":{"type":"string"},"to_path":{"type":"string"}},"type":"object"},"PruneBuildCacheRequest":{"description":"PruneBuildCacheRequest schema","properties":{"all":{"nullable":true,"type":"boolean"},"filters":{"nullable":true,"type":"string"}},"type":"object"},"PruneImagesRequest":{"description":"PruneImagesRequest schema","properties":{"dangling":{"nullable":true,"type":"boolean"},"label":{"nullable":true,"type":"string"},"until":{"nullable":true,"type":"string"}},"type":"object"},"ReDeployApplicationRequest":{"description":"ReDeployApplicationRequest schema","properties":{"force":{"type":"boolean"},"force_without_cache":{"type":"boolean"},"id":{}},"type":"object"},"RefreshTokenRequest":{"description":"RefreshTokenRequest schema","properties":{"refresh_token":{"type":"string"}},"type":"object"},"RegisterRequest":{"description":"RegisterRequest schema","properties":{"email":{"type":"string"},"organization":{"type":"string"},"password":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"type":"object"},"RemoveUserFromOrganizationRequest":{"description":"RemoveUserFromOrganizationRequest schema","properties":{"organization_id":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"ResetPasswordRequest":{"description":"ResetPasswordRequest schema","properties":{"password":{"type":"string"}},"type":"object"},"Response":{"description":"Response schema","properties":{"data":{"nullable":true},"error":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"status":{"type":"string"}},"type":"object"},"RestartDeploymentRequest":{"description":"RestartDeploymentRequest schema","properties":{"id":{}},"type":"object"},"RollbackDeploymentRequest":{"description":"RollbackDeploymentRequest schema","properties":{"id":{}},"type":"object"},"TwoFactorLoginRequest":{"description":"TwoFactorLoginRequest schema","properties":{"code":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"}},"type":"object"},"TwoFactorVerifyRequest":{"description":"TwoFactorVerifyRequest schema","properties":{"code":{"type":"string"}},"type":"object"},"UpdateAutoUpdateRequest":{"description":"UpdateAutoUpdateRequest schema","properties":{"auto_update":{"type":"boolean"}},"type":"object"},"UpdateAvatarRequest":{"description":"UpdateAvatarRequest schema","properties":{"avatarData":{"type":"string"}},"type":"object"},"UpdateCheckResponse":{"description":"UpdateCheckResponse schema","properties":{"current_version":{"type":"string"},"environment":{"type":"string"},"last_checked":{"format":"date-time","type":"string"},"latest_version":{"type":"string"},"update_available":{"type":"boolean"}},"type":"object"},"UpdateDeploymentRequest":{"description":"UpdateDeploymentRequest schema","properties":{"base_path":{"nullable":true,"type":"string"},"build_variables":{"additionalProperties":{"type":"string"},"nullable":true,"type":"object"},"dockerfile_path":{"nullable":true,"type":"string"},"environment_variables":{"additionalProperties":{"type":"string"},"nullable":true,"type":"object"},"force":{"nullable":true,"type":"boolean"},"id":{"nullable":true},"name":{"nullable":true,"type":"string"},"port":{"nullable":true,"type":"integer"},"post_run_command":{"nullable":true,"type":"string"},"pre_run_command":{"nullable":true,"type":"string"}},"type":"object"},"UpdateDomainRequest":{"description":"UpdateDomainRequest schema","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"UpdateFeatureFlagRequest":{"description":"UpdateFeatureFlagRequest schema","properties":{"feature_name":{"type":"string"},"is_enabled":{"type":"boolean"}},"required":["feature_name"],"type":"object"},"UpdateFontRequest":{"description":"UpdateFontRequest schema","properties":{"font_family":{"type":"string"},"font_size":{"type":"integer"}},"type":"object"},"UpdateGithubConnectorRequest":{"description":"UpdateGithubConnectorRequest schema","properties":{"installation_id":{"type":"string"}},"type":"object"},"UpdateLanguageRequest":{"description":"UpdateLanguageRequest schema","properties":{"language":{"type":"string"}},"type":"object"},"UpdateOrganizationRequest":{"description":"UpdateOrganizationRequest schema","properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"UpdatePreferenceRequest":{"description":"UpdatePreferenceRequest schema","properties":{"category":{"type":"string"},"enabled":{"type":"boolean"},"type":{"type":"string"}},"required":["category","type"],"type":"object"},"UpdateRequest":{"description":"UpdateRequest schema","properties":{"force":{"type":"boolean"}},"type":"object"},"UpdateResponse":{"description":"UpdateResponse schema","properties":{"message":{"type":"string"},"success":{"type":"boolean"}},"type":"object"},"UpdateSMTPConfigRequest":{"description":"UpdateSMTPConfigRequest schema","properties":{"from_email":{"nullable":true,"type":"string"},"from_name":{"nullable":true,"type":"string"},"host":{"nullable":true,"type":"string"},"id":{},"organization_id":{},"password":{"nullable":true,"type":"string"},"port":{"nullable":true,"type":"integer"},"username":{"nullable":true,"type":"string"}},"type":"object"},"UpdateThemeRequest":{"description":"UpdateThemeRequest schema","properties":{"theme":{"type":"string"}},"type":"object"},"UpdateUserNameRequest":{"description":"UpdateUserNameRequest schema","properties":{"name":{"type":"string"}},"type":"object"},"UpdateUserRoleRequest":{"description":"UpdateUserRoleRequest schema","properties":{"organization_id":{"type":"string"},"role_name":{"type":"string"},"user_id":{"type":"string"}},"type":"object"},"UpdateWebhookConfigRequest":{"description":"UpdateWebhookConfigRequest schema","properties":{"is_active":{"nullable":true,"type":"boolean"},"type":{"type":"string"},"webhook_url":{"nullable":true,"type":"string"}},"required":["type"],"type":"object"},"unknown-interface":{"description":"unknown-interface schema"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","description":"Enter your JWT token in the format: Bearer \u003ctoken\u003e","scheme":"bearer","type":"http"}}},"info":{"description":"\nThis is the autogenerated OpenAPI documentation for your [Fuego](https://github.com/go-fuego/fuego) API.\n\nBelow is a Fuego Cheatsheet to help you get started. Don't hesitate to check the [Fuego documentation](https://go-fuego.dev) for more details.\n\nHappy coding! 🔥\n\n## Usage\n\n### Route registration\n\n```go\nfunc main() {\n\t// Create a new server\n\ts := fuego.NewServer()\n\n\t// Register some routes\n\tfuego.Post(s, \"/hello\", myController)\n\tfuego.Get(s, \"/myPath\", otherController)\n\tfuego.Put(s, \"/hello\", thirdController)\n\n\tadminRoutes := fuego.Group(s, \"/admin\")\n\tfuego.Use(adminRoutes, myMiddleware) // This middleware (for authentication, etc...) will be available for routes starting by /admin/*, \n\tfuego.Get(adminRoutes, \"/hello\", groupController) // This route will be available at /admin/hello\n\n\t// Start the server\n\ts.Start()\n}\n```\n\n### Basic controller\n\n```go\ntype MyBody struct {\n\tName string `json:\"name\" validate:\"required,max=30\"`\n}\n\ntype MyResponse struct {\n\tAnswer string `json:\"answer\"`\n}\n\nfunc hello(ctx fuego.ContextWithBody[MyBody]) (*MyResponse, error) {\n\tbody, err := ctx.Body()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn \u0026MyResponse{Answer: \"Hello \" + body.Name}, nil\n}\n```\n\n### Add openAPI information to the route\n\n```go\nimport (\n\t\"github.com/go-fuego/fuego\"\n\t\"github.com/go-fuego/fuego/option\"\n\t\"github.com/go-fuego/fuego/param\"\n)\n\nfunc main() {\n\ts := fuego.NewServer()\n\n\t// Custom OpenAPI options\n\tfuego.Post(s, \"/\", myController\n\t\toption.Description(\"This route does something...\"),\n\t\toption.Summary(\"This is my summary\"),\n\t\toption.Tags(\"MyTag\"), // A tag is set by default according to the return type (can be deactivated)\n\t\toption.Deprecated(), // Marks the route as deprecated in the OpenAPI spec\n\n\t\toption.Query(\"name\", \"Declares a query parameter with default value\", param.Default(\"Carmack\")),\n\t\toption.Header(\"Authorization\", \"Bearer token\", param.Required()),\n\t\toptionPagination,\n\t\toptionCustomBehavior,\n\t)\n\n\ts.Run()\n}\n\nvar optionPagination = option.Group(\n\toption.QueryInt(\"page\", \"Page number\", param.Default(1), param.Example(\"1st page\", 1), param.Example(\"42nd page\", 42)),\n\toption.QueryInt(\"perPage\", \"Number of items per page\"),\n)\n\nvar optionCustomBehavior = func(r *fuego.BaseRoute) {\n\tr.XXX = \"YYY\"\n}\n```\n\nThen, in the controller\n\n```go\ntype MyResponse struct {\n\tAnswer string `json:\"answer\"`\n}\n\nfunc getAllPets(ctx fuego.ContextNoBody) (*MyResponse, error) {\n\tname := ctx.QueryParam(\"name\")\n\tperPage, _ := ctx.QueryParamIntErr(\"per_page\")\n\n\treturn \u0026MyResponse{Answer: \"Hello \" + name}, nil\n}\n```\n","title":"OpenAPI","version":"0.0.1"},"openapi":"3.1.0","paths":{"/api/v1/audit/logs":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/audit/controller.(*AuditController).GetRecentAuditLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func16`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func17`\n\n---\n\n","operationId":"GET_/api/v1/audit/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get recent audit logs","tags":["api/v1/audit"]}},"/api/v1/auth/2fa-login":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).TwoFactorLogin`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/2fa-login","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TwoFactorLoginRequest"}}},"description":"Request body for types.TwoFactorLoginRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"two factor login","tags":["api/v1/auth"]}},"/api/v1/auth/create-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).CreateUser`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/create-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"description":"Request body for types.RegisterRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create user","tags":["api/v1/auth"]}},"/api/v1/auth/disable-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).DisableTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/disable-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"disable two factor","tags":["api/v1/auth"]}},"/api/v1/auth/is-admin-registered":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).IsAdminRegistered`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/auth/is-admin-registered","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"is admin registered","tags":["api/v1/auth"]}},"/api/v1/auth/login":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Login`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/login","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"description":"Request body for types.LoginRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"login","tags":["api/v1/auth"]}},"/api/v1/auth/logout":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Logout`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/logout","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LogoutRequest"}}},"description":"Request body for types.LogoutRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"logout","tags":["api/v1/auth"]}},"/api/v1/auth/refresh-token":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).RefreshToken`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/refresh-token","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"description":"Request body for types.RefreshTokenRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"refresh token","tags":["api/v1/auth"]}},"/api/v1/auth/register":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).Register`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/auth/register","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"description":"Request body for types.RegisterRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"register","tags":["api/v1/auth"]}},"/api/v1/auth/request-password-reset":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).GeneratePasswordResetLink`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/request-password-reset","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"generate password reset link","tags":["api/v1/auth"]}},"/api/v1/auth/reset-password":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).ResetPassword`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/reset-password","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"description":"Request body for types.ResetPasswordRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"reset password","tags":["api/v1/auth"]}},"/api/v1/auth/send-verification-email":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).SendVerificationEmail`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/send-verification-email","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"send verification email","tags":["api/v1/auth"]}},"/api/v1/auth/setup-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).SetupTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/setup-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"setup two factor","tags":["api/v1/auth"]}},"/api/v1/auth/verify-2fa":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).VerifyTwoFactor`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/auth/verify-2fa","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TwoFactorVerifyRequest"}}},"description":"Request body for types.TwoFactorVerifyRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"verify two factor","tags":["api/v1/auth"]}},"/api/v1/auth/verify-email":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/auth/controller.(*AuthController).VerifyEmail`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/auth/verify-email","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"verify email","tags":["api/v1/auth"]}},"/api/v1/container":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).ListContainers`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"GET_/api/v1/container","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list containers","tags":["api/v1/container"]}},"/api/v1/container/images":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).ListImages`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/images","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListImagesRequest"}}},"description":"Request body for controller.ListImagesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list images","tags":["api/v1/container"]}},"/api/v1/container/prune/build-cache":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).PruneBuildCache`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/prune/build-cache","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PruneBuildCacheRequest"}}},"description":"Request body for controller.PruneBuildCacheRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"prune build cache","tags":["api/v1/container"]}},"/api/v1/container/prune/images":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).PruneImages`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/prune/images","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PruneImagesRequest"}}},"description":"Request body for controller.PruneImagesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"prune images","tags":["api/v1/container"]}},"/api/v1/container/{container_id}":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).RemoveContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"DELETE_/api/v1/container/:container_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"remove container","tags":["api/v1/container"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).GetContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"GET_/api/v1/container/:container_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/logs":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).GetContainerLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ContainerLogsRequest"}}},"description":"Request body for types.ContainerLogsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get container logs","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/restart":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).RestartContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/restart","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"restart container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/start":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).StartContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/start","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"start container","tags":["api/v1/container"]}},"/api/v1/container/{container_id}/stop":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/container/controller.(*ContainerController).StopContainer`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func19`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func20`\n\n---\n\n","operationId":"POST_/api/v1/container/:container_id/stop","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"container_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"stop container","tags":["api/v1/container"]}},"/api/v1/deploy/application":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).DeleteApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"DELETE_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDeploymentRequest"}}},"description":"Request body for types.DeleteDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete application","tags":["api/v1/deploy","application"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplicationById`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get application by id","tags":["api/v1/deploy","application"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleDeploy`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDeploymentRequest"}}},"description":"Request body for types.CreateDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle deploy","tags":["api/v1/deploy","application"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).UpdateApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"PUT_/api/v1/deploy/application","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateDeploymentRequest"}}},"description":"Request body for types.UpdateDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update application","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplicationDeployments`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetApplicationDeploymentsRequest"}}},"description":"Request body for controller.GetApplicationDeploymentsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get application deployments","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments/{deployment_id}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetDeploymentById`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments/:deployment_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"deployment_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get deployment by id","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/deployments/{deployment_id}/logs":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetDeploymentLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/deployments/:deployment_id/logs","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"deployment_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get deployment logs","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/logs/{application_id}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetLogs`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/application/logs/:application_id","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"application_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get logs","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/redeploy":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).ReDeployApplication`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/redeploy","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReDeployApplicationRequest"}}},"description":"Request body for types.ReDeployApplicationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"re deploy application","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/restart":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleRestart`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/restart","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RestartDeploymentRequest"}}},"description":"Request body for types.RestartDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle restart","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/application/rollback":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleRollback`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"POST_/api/v1/deploy/application/rollback","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RollbackDeploymentRequest"}}},"description":"Request body for types.RollbackDeploymentRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle rollback","tags":["api/v1/deploy","application"]}},"/api/v1/deploy/applications":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).GetApplications`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func14`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func15`\n\n---\n\n","operationId":"GET_/api/v1/deploy/applications","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetApplicationsRequest"}}},"description":"Request body for controller.GetApplicationsRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get applications","tags":["api/v1/deploy"]}},"/api/v1/domain":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).DeleteDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"DELETE_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDomainRequest"}}},"description":"Request body for types.DeleteDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete domain","tags":["api/v1/domain"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).CreateDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"POST_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDomainRequest"}}},"description":"Request body for types.CreateDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create domain","tags":["api/v1/domain"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).UpdateDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"PUT_/api/v1/domain","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateDomainRequest"}}},"description":"Request body for types.UpdateDomainRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update domain","tags":["api/v1/domain"]}},"/api/v1/domain/generate":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).GenerateRandomSubDomain`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func5`\n\n---\n\n","operationId":"GET_/api/v1/domain/generate","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"generate random sub domain","tags":["api/v1/domain"]}},"/api/v1/domains":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/domain/controller.(*DomainsController).GetDomains`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func4`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func6`\n\n---\n\n","operationId":"GET_/api/v1/domains","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get domains","tags":["api/v1/domains"]}},"/api/v1/feature-flags":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).GetFeatureFlags`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/feature-flags","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get feature flags","tags":["api/v1/feature-flags"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).UpdateFeatureFlag`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func18`\n\n---\n\n","operationId":"PUT_/api/v1/feature-flags","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateFeatureFlagRequest"}}},"description":"Request body for types.UpdateFeatureFlagRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update feature flag","tags":["api/v1/feature-flags"]}},"/api/v1/feature-flags/check":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/feature-flags/controller.(*FeatureFlagController).IsFeatureEnabled`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/feature-flags/check","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"is feature enabled","tags":["api/v1/feature-flags"]}},"/api/v1/file-manager":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).ListFiles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"GET_/api/v1/file-manager","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListFilesRequest"}}},"description":"Request body for controller.ListFilesRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"list files","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/copy-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).CopyDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/copy-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CopyDirectory"}}},"description":"Request body for controller.CopyDirectory","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"copy directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/create-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).CreateDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/create-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDirectoryRequest"}}},"description":"Request body for controller.CreateDirectoryRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/delete-directory":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).DeleteDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"DELETE_/api/v1/file-manager/delete-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDirectoryRequest"}}},"description":"Request body for controller.DeleteDirectoryRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/move-directory":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).MoveDirectory`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/move-directory","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/MoveDirectory"}}},"description":"Request body for controller.MoveDirectory","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"move directory","tags":["api/v1/file-manager"]}},"/api/v1/file-manager/upload":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/file-manager/controller.(*FileManagerController).UploadFile`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func12`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func13`\n\n---\n\n","operationId":"POST_/api/v1/file-manager/upload","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"upload file","tags":["api/v1/file-manager"]}},"/api/v1/github-connector":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).CreateGithubConnector`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"POST_/api/v1/github-connector","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateGithubConnectorRequest"}}},"description":"Request body for types.CreateGithubConnectorRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create github connector","tags":["api/v1/github-connector"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).UpdateGithubConnectorRequest`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"PUT_/api/v1/github-connector","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateGithubConnectorRequest"}}},"description":"Request body for types.UpdateGithubConnectorRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update github connector request","tags":["api/v1/github-connector"]}},"/api/v1/github-connector/all":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).GetGithubConnectors`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"GET_/api/v1/github-connector/all","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get github connectors","tags":["api/v1/github-connector"]}},"/api/v1/github-connector/repositories":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/github-connector/controller.(*GithubConnectorController).GetGithubRepositories`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func7`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func8`\n\n---\n\n","operationId":"GET_/api/v1/github-connector/repositories","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get github repositories","tags":["api/v1/github-connector"]}},"/api/v1/health":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/health.HealthCheck`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/health","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"health check","tags":["api/v1/health"]}},"/api/v1/health/versions":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal.(*Router).BasicRoutes.func1`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/api/v1/health/versions","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}},"application/xml":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"func1","tags":["api/v1/health","versions"]}},"/api/v1/notification/preferences":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetPreferences`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/preferences","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get preferences","tags":["api/v1/notification","preferences"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdatePreference`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/preferences","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdatePreferenceRequest"}}},"description":"Request body for notification.UpdatePreferenceRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update preference","tags":["api/v1/notification","preferences"]}},"/api/v1/notification/smtp":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).DeleteSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"DELETE_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteSMTPConfigRequest"}}},"description":"Request body for notification.DeleteSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete smtp","tags":["api/v1/notification","smtp"]},"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get smtp","tags":["api/v1/notification","smtp"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).AddSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateSMTPConfigRequest"}}},"description":"Request body for notification.CreateSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"add smtp","tags":["api/v1/notification","smtp"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdateSmtp`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"PUT_/api/v1/notification/smtp","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateSMTPConfigRequest"}}},"description":"Request body for notification.UpdateSMTPConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update smtp","tags":["api/v1/notification","smtp"]}},"/api/v1/notification/webhook":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).DeleteWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"DELETE_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteWebhookConfigRequest"}}},"description":"Request body for notification.DeleteWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete webhook config","tags":["api/v1/notification","webhook"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).CreateWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"POST_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateWebhookConfigRequest"}}},"description":"Request body for notification.CreateWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create webhook config","tags":["api/v1/notification","webhook"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).UpdateWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"PUT_/api/v1/notification/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateWebhookConfigRequest"}}},"description":"Request body for notification.UpdateWebhookConfigRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update webhook config","tags":["api/v1/notification","webhook"]}},"/api/v1/notification/webhook/{type}":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/notification/controller.(*NotificationController).GetWebhookConfig`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func9`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func10`\n\n---\n\n","operationId":"GET_/api/v1/notification/webhook/:type","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}},{"in":"path","name":"type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get webhook config","tags":["api/v1/notification","webhook"]}},"/api/v1/organizations":{"delete":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).DeleteOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"DELETE_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationRequest"}}},"description":"Request body for types.DeleteOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"delete organization","tags":["api/v1/organizations"]},"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).CreateOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequest"}}},"description":"Request body for types.CreateOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"create organization","tags":["api/v1/organizations"]},"put":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).UpdateOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"PUT_/api/v1/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}},"description":"Request body for types.UpdateOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/add-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).AddUserToOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/add-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AddUserToOrganizationRequest"}}},"description":"Request body for types.AddUserToOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"add user to organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/remove-user":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).RemoveUserFromOrganization`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/remove-user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RemoveUserFromOrganizationRequest"}}},"description":"Request body for types.RemoveUserFromOrganizationRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"remove user from organization","tags":["api/v1/organizations"]}},"/api/v1/organizations/resources":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetResources`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/resources","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get resources","tags":["api/v1/organizations"]}},"/api/v1/organizations/roles":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/roles","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get roles","tags":["api/v1/organizations"]}},"/api/v1/organizations/update-user-role":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).UpdateUserRole`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"POST_/api/v1/organizations/update-user-role","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleRequest"}}},"description":"Request body for controller.UpdateUserRoleRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update user role","tags":["api/v1/organizations"]}},"/api/v1/organizations/users":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/organization/controller.(*OrganizationsController).GetOrganizationUsers`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func11`\n\n---\n\n","operationId":"GET_/api/v1/organizations/users","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GetOrganizationUsersRequest"}}},"description":"Request body for controller.GetOrganizationUsersRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get organization users","tags":["api/v1/organizations"]}},"/api/v1/update":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/update/controller.(*UpdateController).PerformUpdate`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"POST_/api/v1/update","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"description":"Request body for types.UpdateRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/UpdateResponse"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"perform update","tags":["api/v1/update"]}},"/api/v1/update/check":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/update/controller.(*UpdateController).CheckForUpdates`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/update/check","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCheckResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/UpdateCheckResponse"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"check for updates","tags":["api/v1/update"]}},"/api/v1/user":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetUserDetails`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get user details","tags":["api/v1/user"]}},"/api/v1/user/avatar":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateAvatar`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/avatar","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateAvatarRequest"}}},"description":"Request body for types.UpdateAvatarRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update avatar","tags":["api/v1/user"]}},"/api/v1/user/name":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateUserName`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/name","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateUserNameRequest"}}},"description":"Request body for types.UpdateUserNameRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update user name","tags":["api/v1/user"]}},"/api/v1/user/organizations":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetUserOrganizations`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user/organizations","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get user organizations","tags":["api/v1/user"]}},"/api/v1/user/settings":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).GetSettings`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"GET_/api/v1/user/settings","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"get settings","tags":["api/v1/user"]}},"/api/v1/user/settings/auto-update":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateAutoUpdate`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/auto-update","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateAutoUpdateRequest"}}},"description":"Request body for controller.UpdateAutoUpdateRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update auto update","tags":["api/v1/user"]}},"/api/v1/user/settings/font":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateFont`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/font","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateFontRequest"}}},"description":"Request body for controller.UpdateFontRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update font","tags":["api/v1/user"]}},"/api/v1/user/settings/language":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateLanguage`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/language","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateLanguageRequest"}}},"description":"Request body for controller.UpdateLanguageRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update language","tags":["api/v1/user"]}},"/api/v1/user/settings/theme":{"patch":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/user/controller.(*UserController).UpdateTheme`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func1`\n- `github.com/raghavyuva/nixopus-api/internal.(*Router).Routes.func2`\n\n---\n\n","operationId":"PATCH_/api/v1/user/settings/theme","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UpdateThemeRequest"}}},"description":"Request body for controller.UpdateThemeRequest","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"update theme","tags":["api/v1/user"]}},"/api/v1/webhook":{"post":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal/features/deploy/controller.(*DeployController).HandleGithubWebhook`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"POST_/api/v1/webhook","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Response"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"handle github webhook","tags":["api/v1/webhook"]}},"/ws":{"get":{"description":"#### Controller: \n\n`github.com/raghavyuva/nixopus-api/internal.(*Router).WebSocketServer.func1`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\n","operationId":"GET_/ws","parameters":[{"in":"header","name":"Accept","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}},"application/xml":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Bad Request _(validation or deserialization error)_"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPError"}},"application/xml":{"schema":{"$ref":"#/components/schemas/HTTPError"}}},"description":"Internal Server Error _(panics)_"},"default":{"description":""}},"summary":"func1"}}},"servers":[{"description":"local server","url":"http://:8080"}],"tags":[{"name":"api/v1/audit"},{"name":"api/v1/auth"},{"name":"api/v1/container"},{"name":"api/v1/deploy"},{"name":"api/v1/domain"},{"name":"api/v1/domains"},{"name":"api/v1/feature-flags"},{"name":"api/v1/file-manager"},{"name":"api/v1/github-connector"},{"name":"api/v1/health"},{"name":"api/v1/notification"},{"name":"api/v1/organizations"},{"name":"api/v1/update"},{"name":"api/v1/user"},{"name":"api/v1/webhook"},{"name":"application"},{"name":"preferences"},{"name":"smtp"},{"name":"versions"},{"name":"webhook"}]} \ No newline at end of file diff --git a/api/internal/routes.go b/api/internal/routes.go index 25ffa1ef7..b4867e7c3 100644 --- a/api/internal/routes.go +++ b/api/internal/routes.go @@ -222,11 +222,17 @@ func (router *Router) Routes() { featureFlagStorage := &feature_flags_storage.FeatureFlagStorage{DB: router.app.Store.DB, Ctx: router.app.Ctx} featureFlagService := feature_flags_service.NewFeatureFlagService(featureFlagStorage, l, router.app.Ctx) featureFlagController := feature_flags_controller.NewFeatureFlagController(featureFlagService, l, router.app.Ctx, router.cache) - featureFlagGroup := fuego.Group(server, apiV1.Path+"/feature-flags") - fuego.Use(featureFlagGroup, func(next http.Handler) http.Handler { + + // We need to allow everyone to read feature flags + featureFlagReadGroup := fuego.Group(server, apiV1.Path+"/feature-flags") + featureFlagWriteGroup := fuego.Group(server, apiV1.Path+"/feature-flags") + + // Apply RBAC middleware only to write operations (update feature flags) + fuego.Use(featureFlagWriteGroup, func(next http.Handler) http.Handler { return middleware.RBACMiddleware(next, router.app, "feature_flags") }) - router.FeatureFlagRoutes(featureFlagGroup, featureFlagController) + + router.FeatureFlagRoutes(featureFlagReadGroup, featureFlagWriteGroup, featureFlagController) containerController := container.NewContainerController(router.app.Store, router.app.Ctx, l, notificationManager) containerGroup := fuego.Group(server, apiV1.Path+"/container") @@ -383,10 +389,10 @@ func (router *Router) UpdateRoutes(s *fuego.Server, updateController *update.Upd fuego.Post(s, "", updateController.PerformUpdate) } -func (router *Router) FeatureFlagRoutes(s *fuego.Server, featureFlagController *feature_flags_controller.FeatureFlagController) { - fuego.Get(s, "", featureFlagController.GetFeatureFlags) - fuego.Put(s, "", featureFlagController.UpdateFeatureFlag) - fuego.Get(s, "/check", featureFlagController.IsFeatureEnabled) +func (router *Router) FeatureFlagRoutes(readGroup *fuego.Server, writeGroup *fuego.Server, featureFlagController *feature_flags_controller.FeatureFlagController) { + fuego.Get(readGroup, "", featureFlagController.GetFeatureFlags) + fuego.Put(writeGroup, "", featureFlagController.UpdateFeatureFlag) + fuego.Get(readGroup, "/check", featureFlagController.IsFeatureEnabled) } func (router *Router) ContainerRoutes(s *fuego.Server, containerController *container.ContainerController) { diff --git a/view/app/settings/general/components/AccountSection.tsx b/view/app/settings/general/components/AccountSection.tsx index d776b759f..0d21c1038 100644 --- a/view/app/settings/general/components/AccountSection.tsx +++ b/view/app/settings/general/components/AccountSection.tsx @@ -22,6 +22,7 @@ import { SelectValue } from '@/components/ui/select'; import { Switch } from '@/components/ui/switch'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; interface AccountSectionProps { username: string; @@ -118,12 +119,14 @@ function AccountSection({ }} placeholder={t('settings.account.username.placeholder')} /> - + + + {usernameError &&

{usernameError}

} @@ -155,18 +158,20 @@ function AccountSection({ {t('settings.account.email.notVerified.description')} - + + + {verificationError &&

{verificationError}

} {verificationSent && ( @@ -194,44 +199,48 @@ function AccountSection({

{t('settings.account.preferences.appearance')}

- + + +

{t('settings.preferences.font')}

- + + +
@@ -245,11 +254,13 @@ function AccountSection({

{t('settings.preferences.language.select')}

- + + +
@@ -263,11 +274,13 @@ function AccountSection({

{t('settings.preferences.autoUpdate.select')}

- + + +
diff --git a/view/app/settings/general/components/AvatarSection.tsx b/view/app/settings/general/components/AvatarSection.tsx index 0a3dcb868..583b57242 100644 --- a/view/app/settings/general/components/AvatarSection.tsx +++ b/view/app/settings/general/components/AvatarSection.tsx @@ -3,6 +3,7 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/com import UploadAvatar from '@/components/ui/upload_avatar'; import { User } from '@/redux/types/user'; import { useTranslation } from '@/hooks/use-translation'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; interface AvatarSectionProps { onImageChange: (imageUrl: string | null) => void; @@ -20,11 +21,13 @@ function AvatarSection({ onImageChange, user }: AvatarSectionProps) { {t('settings.account.avatar.description')} - + + + diff --git a/view/app/settings/general/components/FeatureFlagsSettings.tsx b/view/app/settings/general/components/FeatureFlagsSettings.tsx index 301d582c4..eb70de5a9 100644 --- a/view/app/settings/general/components/FeatureFlagsSettings.tsx +++ b/view/app/settings/general/components/FeatureFlagsSettings.tsx @@ -10,6 +10,7 @@ import { } from '@/redux/services/feature-flags/featureFlagsApi'; import { Separator } from '@/components/ui/separator'; import { FeatureFlag, FeatureName, featureGroups } from '@/types/feature-flags'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; export default function FeatureFlagsSettings() { const { t } = useTranslation(); @@ -54,48 +55,52 @@ export default function FeatureFlagsSettings() { const groupedFeatures = getGroupedFeatures(); return ( - - - - {t('settings.featureFlags.title')} - {t('settings.featureFlags.description')} - - - {Array.from(groupedFeatures.entries()).map(([group, features], index) => ( -
-
-

- {t(`settings.featureFlags.groups.${group}.title`)} -

-
-
- {features?.map((feature) => ( -
-
-

- {t(`settings.featureFlags.features.${feature.feature_name}.title`)} -

-

- {t(`settings.featureFlags.features.${feature.feature_name}.description`)} -

+ + + + + {t('settings.featureFlags.title')} + {t('settings.featureFlags.description')} + + + {Array.from(groupedFeatures.entries()).map(([group, features], index) => ( +
+
+

+ {t(`settings.featureFlags.groups.${group}.title`)} +

+
+
+ {features?.map((feature) => ( +
+
+

+ {t(`settings.featureFlags.features.${feature.feature_name}.title`)} +

+

+ {t(`settings.featureFlags.features.${feature.feature_name}.description`)} +

+
+ + + handleToggleFeature(feature.feature_name, checked) + } + /> +
- - handleToggleFeature(feature.feature_name, checked) - } - /> -
- ))} + ))} +
+ {index !== groupedFeatures.size - 1 && }
- {index !== groupedFeatures.size - 1 && } -
- ))} - - - + ))} + + + + ); } diff --git a/view/app/settings/general/components/SecuritySection.tsx b/view/app/settings/general/components/SecuritySection.tsx index 4270aac64..f05b0d0f6 100644 --- a/view/app/settings/general/components/SecuritySection.tsx +++ b/view/app/settings/general/components/SecuritySection.tsx @@ -9,6 +9,7 @@ import { TabsContent } from '@/components/ui/tabs'; import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert'; import { useTranslation } from '@/hooks/use-translation'; import { TwoFactorSetup } from '@/app/settings/general/components/TwoFactorSetup'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; interface SecuritySectionProps { emailSent: boolean; @@ -50,14 +51,16 @@ function SecuritySection({ ) : ( - + + + )} diff --git a/view/app/settings/general/components/TwoFactorSetup.tsx b/view/app/settings/general/components/TwoFactorSetup.tsx index 99f5c3cd6..df5871dd1 100644 --- a/view/app/settings/general/components/TwoFactorSetup.tsx +++ b/view/app/settings/general/components/TwoFactorSetup.tsx @@ -16,6 +16,7 @@ import { useAppSelector } from '@/redux/hooks'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { setTwoFactorEnabled } from '@/redux/features/users/authSlice'; import { useAppDispatch } from '@/redux/hooks'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; export function TwoFactorSetup() { const { t } = useTranslation(); @@ -70,9 +71,11 @@ export function TwoFactorSetup() { {t('settings.2fa.enabledDescription')} - + + +
) : !setupData ? (
@@ -81,9 +84,11 @@ export function TwoFactorSetup() { {t('settings.2fa.title')} {t('settings.2fa.description')} - + + +
) : (
@@ -106,13 +111,15 @@ export function TwoFactorSetup() { className="w-full" />
- + + +
)} diff --git a/view/app/settings/general/page.tsx b/view/app/settings/general/page.tsx index e1a967eae..f7d42f41c 100644 --- a/view/app/settings/general/page.tsx +++ b/view/app/settings/general/page.tsx @@ -9,9 +9,12 @@ import AccountSection from './components/AccountSection'; import SecuritySection from './components/SecuritySection'; import { useTranslation } from '@/hooks/use-translation'; import FeatureFlagsSettings from './components/FeatureFlagsSettings'; +import { RBACGuard } from '@/components/rbac/RBACGuard'; +import { useRBAC } from '@/lib/rbac'; function Page() { const { t, isLoading } = useTranslation(); + const { canAccessResource } = useRBAC(); const { onImageChange, user, @@ -37,6 +40,9 @@ function Page() { handleFontUpdate } = useGeneralSettings(); + const hasFeatureFlagsReadPermission = canAccessResource('feature-flags', 'read'); + const totalTabs = hasFeatureFlagsReadPermission ? 3 : 2; + return (
@@ -44,10 +50,12 @@ function Page() {
- + {t('settings.tabs.account')} {t('settings.tabs.security')} - {t('settings.tabs.featureFlags')} + {hasFeatureFlagsReadPermission && ( + {t('settings.tabs.featureFlags')} + )} - + {hasFeatureFlagsReadPermission && }
From be1c1f8480b5fb09c999567e3aaf64a86bffeba3 Mon Sep 17 00:00:00 2001 From: raghavyuva Date: Mon, 30 Jun 2025 21:15:25 +0530 Subject: [PATCH 3/3] fix: notification feature broken due to rbac guard implementation --- view/app/settings/notifications/page.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/view/app/settings/notifications/page.tsx b/view/app/settings/notifications/page.tsx index 095a3bff3..7af584828 100644 --- a/view/app/settings/notifications/page.tsx +++ b/view/app/settings/notifications/page.tsx @@ -5,7 +5,6 @@ import NotificationPreferencesTab from './components/preferenceTab'; import NotificationChannelsTab from './components/channelTab'; import useNotificationSettings from '../hooks/use-notification-settings'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; -import { toast } from 'sonner'; import { useTranslation } from '@/hooks/use-translation'; import { SMTPFormData } from '@/redux/types/notification'; import { useFeatureFlags } from '@/hooks/features_provider'; @@ -13,6 +12,7 @@ import Skeleton from '@/app/file-manager/components/skeleton/Skeleton'; import DisabledFeature from '@/components/features/disabled-feature'; import { FeatureNames } from '@/types/feature-flags'; import { ResourceGuard } from '@/components/rbac/PermissionGuard'; +import { useRBAC } from '@/lib/rbac'; export type NotificationChannelConfig = { [key: string]: string; @@ -33,6 +33,8 @@ const Page: React.FC = () => { handleUpdatePreference } = useNotificationSettings(); const { isFeatureEnabled, isLoading: isFeatureFlagsLoading } = useFeatureFlags(); + const { canAccessResource } = useRBAC(); + const hasFeatureFlagsReadPermission = canAccessResource('feature-flags', 'read'); if (isFeatureFlagsLoading) { return ; @@ -91,8 +93,8 @@ const Page: React.FC = () => { label={t('settings.notifications.page.title')} description={t('settings.notifications.page.description')} /> - - + + {t('settings.notifications.page.tabs.channels')}