@@ -17,14 +17,14 @@ const docTemplate = `{
1717 "paths": {
1818 "/health": {
1919 "get": {
20- "description": "Retorna uma mensagem simples para indicar que o servidor está rodando ",
20+ "description": "Returns a simple message to confirm the server is running ",
2121 "produces": [
2222 "application/json"
2323 ],
2424 "tags": [
2525 "health"
2626 ],
27- "summary": "Verifica o status da API",
27+ "summary": "Check API health ",
2828 "responses": {
2929 "200": {
3030 "description": "OK",
@@ -42,36 +42,36 @@ const docTemplate = `{
4242 "ApiKeyAuth": []
4343 }
4444 ],
45- "description": "Retorna todos os projetos com paginação, ordenação e total de registros ",
45+ "description": "Returns all user's projects with pagination and sorting ",
4646 "produces": [
4747 "application/json"
4848 ],
4949 "tags": [
5050 "Projects"
5151 ],
52- "summary": "Lista todos os projetos do usuário ",
52+ "summary": "Get all projects ",
5353 "parameters": [
5454 {
5555 "type": "integer",
56- "description": "Página atual ",
56+ "description": "Current page ",
5757 "name": "page",
5858 "in": "query"
5959 },
6060 {
6161 "type": "integer",
62- "description": "Tamanho da página ",
62+ "description": "Page size ",
6363 "name": "size",
6464 "in": "query"
6565 },
6666 {
6767 "type": "string",
68- "description": "Campo para ordenar (ex: name, created_at)",
68+ "description": "Sort field (e.g. name, created_at)",
6969 "name": "sort",
7070 "in": "query"
7171 },
7272 {
7373 "type": "string",
74- "description": "Ordem (asc ou desc)",
74+ "description": "Sort order (asc or desc)",
7575 "name": "order",
7676 "in": "query"
7777 }
@@ -100,7 +100,7 @@ const docTemplate = `{
100100 "ApiKeyAuth": []
101101 }
102102 ],
103- "description": "Cria um novo projeto para o usuário autenticado ",
103+ "description": "Creates a new project for the authenticated user ",
104104 "consumes": [
105105 "application/json"
106106 ],
@@ -110,10 +110,10 @@ const docTemplate = `{
110110 "tags": [
111111 "Projects"
112112 ],
113- "summary": "Cria um novo projeto ",
113+ "summary": "Create a project ",
114114 "parameters": [
115115 {
116- "description": "Dados do projeto ",
116+ "description": "Project data ",
117117 "name": "project",
118118 "in": "body",
119119 "required": true,
@@ -157,17 +157,17 @@ const docTemplate = `{
157157 "ApiKeyAuth": []
158158 }
159159 ],
160- "description": "Exporta todos os projetos do usuário autenticado em formato CSV",
160+ "description": "Exports all authenticated user's projects in CSV format ",
161161 "produces": [
162162 "text/csv"
163163 ],
164164 "tags": [
165165 "Projects"
166166 ],
167- "summary": "Exporta projetos para CSV",
167+ "summary": "Export projects to CSV",
168168 "responses": {
169169 "200": {
170- "description": "Arquivo CSV",
170+ "description": "CSV file ",
171171 "schema": {
172172 "type": "string"
173173 }
@@ -191,18 +191,18 @@ const docTemplate = `{
191191 "ApiKeyAuth": []
192192 }
193193 ],
194- "description": "Retorna um projeto específico do usuário autenticado ",
194+ "description": "Returns a specific project by ID for the authenticated user ",
195195 "produces": [
196196 "application/json"
197197 ],
198198 "tags": [
199199 "Projects"
200200 ],
201- "summary": "Busca um projeto por ID",
201+ "summary": "Get project by ID",
202202 "parameters": [
203203 {
204204 "type": "string",
205- "description": "ID do projeto ",
205+ "description": "Project ID ",
206206 "name": "id",
207207 "in": "path",
208208 "required": true
@@ -241,7 +241,7 @@ const docTemplate = `{
241241 "ApiKeyAuth": []
242242 }
243243 ],
244- "description": "Atualiza um projeto existente do usuário autenticado ",
244+ "description": "Updates a project of the authenticated user ",
245245 "consumes": [
246246 "application/json"
247247 ],
@@ -251,17 +251,17 @@ const docTemplate = `{
251251 "tags": [
252252 "Projects"
253253 ],
254- "summary": "Atualiza um projeto ",
254+ "summary": "Update a project ",
255255 "parameters": [
256256 {
257257 "type": "string",
258- "description": "ID do projeto ",
258+ "description": "Project ID ",
259259 "name": "id",
260260 "in": "path",
261261 "required": true
262262 },
263263 {
264- "description": "Dados do projeto atualizado ",
264+ "description": "Updated project data ",
265265 "name": "project",
266266 "in": "body",
267267 "required": true,
@@ -315,18 +315,18 @@ const docTemplate = `{
315315 "ApiKeyAuth": []
316316 }
317317 ],
318- "description": "Remove um projeto do usuário autenticado ",
318+ "description": "Deletes a project from the authenticated user ",
319319 "produces": [
320320 "application/json"
321321 ],
322322 "tags": [
323323 "Projects"
324324 ],
325- "summary": "Deleta um projeto ",
325+ "summary": "Delete a project ",
326326 "parameters": [
327327 {
328328 "type": "string",
329- "description": "ID do projeto ",
329+ "description": "Project ID ",
330330 "name": "id",
331331 "in": "path",
332332 "required": true
@@ -370,18 +370,18 @@ const docTemplate = `{
370370 "ApiKeyAuth": []
371371 }
372372 ],
373- "description": "Alterna o status de favorito de um projeto do usuário ",
373+ "description": "Toggles the favorite status of a project ",
374374 "produces": [
375375 "application/json"
376376 ],
377377 "tags": [
378378 "Projects"
379379 ],
380- "summary": "Favorita/Desfavorita um projeto ",
380+ "summary": "Toggle favorite ",
381381 "parameters": [
382382 {
383383 "type": "string",
384- "description": "ID do projeto ",
384+ "description": "Project ID ",
385385 "name": "id",
386386 "in": "path",
387387 "required": true
@@ -417,7 +417,7 @@ const docTemplate = `{
417417 },
418418 "/register": {
419419 "post": {
420- "description": "Cria um novo usuário na plataforma com nome , email e senha ",
420+ "description": "Creates a new user with name , email, and password ",
421421 "consumes": [
422422 "application/json"
423423 ],
@@ -427,10 +427,10 @@ const docTemplate = `{
427427 "tags": [
428428 "auth"
429429 ],
430- "summary": "Registra um novo usuário ",
430+ "summary": "Registers a new user ",
431431 "parameters": [
432432 {
433- "description": "Dados para registro ",
433+ "description": "User registration data ",
434434 "name": "registerData",
435435 "in": "body",
436436 "required": true,
@@ -466,6 +466,52 @@ const docTemplate = `{
466466 }
467467 }
468468 }
469+ },
470+ "/user/api-key": {
471+ "post": {
472+ "security": [
473+ {
474+ "ApiKeyAuth": []
475+ }
476+ ],
477+ "description": "Generates a new API key for the authenticated user and replaces the old one",
478+ "produces": [
479+ "application/json"
480+ ],
481+ "tags": [
482+ "auth"
483+ ],
484+ "summary": "Rotate the user's API key",
485+ "responses": {
486+ "200": {
487+ "description": "API key successfully rotated",
488+ "schema": {
489+ "type": "object",
490+ "additionalProperties": {
491+ "type": "string"
492+ }
493+ }
494+ },
495+ "404": {
496+ "description": "User not found",
497+ "schema": {
498+ "type": "object",
499+ "additionalProperties": {
500+ "type": "string"
501+ }
502+ }
503+ },
504+ "500": {
505+ "description": "Internal server error",
506+ "schema": {
507+ "type": "object",
508+ "additionalProperties": {
509+ "type": "string"
510+ }
511+ }
512+ }
513+ }
514+ }
469515 }
470516 },
471517 "definitions": {
@@ -591,11 +637,11 @@ const docTemplate = `{
591637// SwaggerInfo holds exported Swagger Info so clients can modify it
592638var SwaggerInfo = & swag.Spec {
593639 Version : "1.0" ,
594- Host : "https://portfolio-builder.site " ,
640+ Host : "" ,
595641 BasePath : "/api" ,
596642 Schemes : []string {},
597643 Title : "Portfolio Builder API" ,
598- Description : "Uma API open source para o gerenciamento de portfólios de desenvolvedores ." ,
644+ Description : "An open source API for managing developer portfolios ." ,
599645 InfoInstanceName : "swagger" ,
600646 SwaggerTemplate : docTemplate ,
601647 LeftDelim : "{{" ,
0 commit comments