Skip to content

Commit

Permalink
Refactor API routes and add root endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
minpeter committed Mar 22, 2024
1 parent 2b13661 commit a1b5f90
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 82 deletions.
4 changes: 1 addition & 3 deletions controllers/files.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,9 @@ type FilesCreate struct {

func (rs FilesRessources) Routes(s *fuego.Server) {
filesGroup := fuego.Group(s, "/files")

fuego.Get(filesGroup, "/", rs.getAllFiles)
fuego.Post(filesGroup, "/", rs.postFiles)

fuego.GetStd(filesGroup, "/{id}/{name}", rs.downloadFile)
fuego.GetStd(filesGroup, "/{id}/{name}", rs.downloadFile).Tags("files")
fuego.Get(filesGroup, "/{id}", rs.getFiles)
fuego.Delete(filesGroup, "/{id}", rs.deleteFiles)
}
Expand Down
2 changes: 1 addition & 1 deletion doc/openapi.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"components":{"schemas":{"Files":{"properties":{"data":{},"error":{"type":"string"},"message":{"type":"string"}},"type":"object"},"unknown-interface":{}}},"info":{"description":"OpenAPI","title":"OpenAPI","version":"0.0.1"},"openapi":"3.0.3","paths":{"/files/":{"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.getAllFiles","operationId":"GET /files/:getAllFiles","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"getAllFiles","tags":["Files"]},"post":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.postFiles","operationId":"POST /files/:postFiles","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"postFiles","tags":["Files"]}},"/files/{id}":{"delete":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.deleteFiles","operationId":"DELETE /files/{id}:deleteFiles","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"deleteFiles","tags":["Files"]},"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.getFiles","operationId":"GET /files/{id}:getFiles","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"getFiles","tags":["Files"]}},"/files/{id}/{name}":{"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.downloadFile","operationId":"GET /files/{id}/{name}:downloadFile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"default":{"description":""}},"summary":"downloadFile"}}}}
{"components":{"schemas":{"Files":{"properties":{"data":{},"error":{"type":"string"},"message":{"type":"string"}},"type":"object"},"string":{"type":"string"},"unknown-interface":{}}},"info":{"description":"OpenAPI","title":"OpenAPI","version":"0.0.1"},"openapi":"3.0.3","paths":{"/":{"get":{"description":"controller: main.main.func3","operationId":"GET /:func3","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/string"}}},"description":"OK"},"default":{"description":""}},"summary":"func3","tags":["string"]}},"/files/":{"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.getAllFiles","operationId":"GET /files/:getAllFiles","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"getAllFiles","tags":["Files"]},"post":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.postFiles","operationId":"POST /files/:postFiles","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"postFiles","tags":["Files"]}},"/files/{id}":{"delete":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.deleteFiles","operationId":"DELETE /files/{id}:deleteFiles","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"deleteFiles","tags":["Files"]},"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.getFiles","operationId":"GET /files/{id}:getFiles","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Files"}}},"description":"OK"},"default":{"description":""}},"summary":"getFiles","tags":["Files"]}},"/files/{id}/{name}":{"get":{"description":"controller: github.com/tempfiles-Team/tempfiles-backend/controllers.FilesRessources.downloadFile","operationId":"GET /files/{id}/{name}:downloadFile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknown-interface"}}},"description":"OK"},"default":{"description":""}},"summary":"downloadFile","tags":["files"]}}}}
81 changes: 3 additions & 78 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,84 +82,9 @@ func main() {
log.Fatalf("failed to create db engine: %v", err)
}

// app.GET("/", func(c *gin.Context) {
// c.JSON(200, gin.H{
// "message": "api is working normally :)",
// })
// })

// app.GET("/info", func(c *gin.Context) {
// apiName := c.Query("api")

// scheme := "http"
// if c.Request.TLS != nil || c.Request.Header.Get("X-Forwarded-Proto") == "https" {
// scheme = "https"
// }

// baseUrl := scheme + "://" + c.Request.Host

// switch apiName {
// case "upload":
// c.JSON(200, gin.H{
// "apiName": "/upload",
// "method": "POST",
// "desc": "νŠΉμ • νŒŒμΌμ„ μ„œλ²„μ— μ—…λ‘œλ“œν•©λ‹ˆλ‹€.",
// "command": "curl -LX POST -F 'file=@[filepath or filename]' " + baseUrl + "/upload",
// })
// case "list":
// c.JSON(200, gin.H{
// "apiName": "/list",
// "method": "GET",
// "desc": "μ„œλ²„μ— μ‘΄μž¬ν•˜λŠ” 파일 리슀트λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.",
// "command": "curl -L " + baseUrl + "/list",
// })
// case "file":
// c.JSON(200, gin.H{
// "apiName": "/file/[file_id]",
// "method": "GET",
// "desc": "μ„œλ²„μ— μ‘΄μž¬ν•˜λŠ” νŠΉμ • νŒŒμΌμ— λŒ€ν•œ μ„ΈλΆ€ 정보λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.",
// "command": "curl -L " + baseUrl + "/file/[file_id]",
// })
// case "del":
// c.JSON(200, gin.H{
// "apiName": "/del/[file_id]",
// "method": "DELETE",
// "desc": "μ„œλ²„μ— μ‘΄μž¬ν•˜λŠ” νŠΉμ • νŒŒμΌμ„ μ‚­μ œν•©λ‹ˆλ‹€.",
// "command": "curl -LX DELETE " + baseUrl + "/del/[file_id]",
// })
// case "dl":
// c.JSON(200, gin.H{
// "apiName": "/dl/[file_id]",
// "method": "GET",
// "desc": "μ„œλ²„μ— μ‘΄μž¬ν•˜λŠ” νŠΉμ • νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œ ν•©λ‹ˆλ‹€.",
// "command": "curl -LO " + baseUrl + "/dl/[file_id]",
// })
// default:
// c.JSON(200, []gin.H{
// {
// "apiUrl": baseUrl + "/upload",
// "apiHandler": "upload",
// },
// {

// "apiUrl": baseUrl + "/list",
// "apiHandler": "list",
// },
// {
// "apiUrl": baseUrl + "/file/[file_id]",
// "apiHandler": "file",
// },
// {
// "apiUrl": baseUrl + "/del/[file_id]",
// "apiHandler": "del",
// },
// {
// "apiUrl": baseUrl + "/dl/[file_id]",
// "apiHandler": "dl",
// },
// })
// }
// })
fuego.Get(s, "/", func(c fuego.ContextNoBody) (string, error) {
return "TEMPFILES API WORKING πŸš€\nIf you want to use the API, go to '/swagger'", nil
})

controller.FilesRessources{}.Routes(s)

Expand Down

0 comments on commit a1b5f90

Please sign in to comment.