feat: add simple docker compose file, change pipline, add docker build command to makefile, update db path logic in storage packages, minor fixes in handlers
This commit is contained in:
@@ -1,10 +1,6 @@
|
||||
name: Backend ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.PHONY: test build clean lint dev run-docker docs-upd
|
||||
.PHONY: test build clean lint dev run-docker docs-upd docker
|
||||
|
||||
|
||||
test:
|
||||
@@ -25,6 +25,9 @@ docs-upd:
|
||||
swag init -g ./cmd/main.go --parseDependency --parseInternal
|
||||
|
||||
|
||||
docker:
|
||||
docker build -t backend .
|
||||
|
||||
run-docker:
|
||||
docker build -t backend .
|
||||
docker run --rm -p 8080:8080 --env-file .env backend:latest
|
||||
|
||||
12
backend/docker-compose.yml
Normal file
12
backend/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
services:
|
||||
backend:
|
||||
image: backend:latest
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- db-data:/var/lib/backend/data
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
@@ -179,6 +179,15 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Post not found",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal server error",
|
||||
"schema": {
|
||||
@@ -241,6 +250,15 @@ const docTemplate = `{
|
||||
"posts"
|
||||
],
|
||||
"summary": "Delete post",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Post ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
|
||||
@@ -168,6 +168,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Post not found",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal server error",
|
||||
"schema": {
|
||||
@@ -230,6 +239,15 @@
|
||||
"posts"
|
||||
],
|
||||
"summary": "Delete post",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Post ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
|
||||
@@ -120,6 +120,12 @@ paths:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Delete post
|
||||
parameters:
|
||||
- description: Post ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
@@ -153,6 +159,12 @@ paths:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
"404":
|
||||
description: Post not found
|
||||
schema:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
"500":
|
||||
description: Internal server error
|
||||
schema:
|
||||
|
||||
@@ -20,8 +20,8 @@ func Register(router *gin.Engine, db *sql.DB) {
|
||||
|
||||
posts.GET("/", handler_posts.GetPosts)
|
||||
posts.GET("/:id", handler_posts.GetPost)
|
||||
posts.POST("/", handler_posts.CreatePost)
|
||||
posts.PUT("/:id", handler_posts.UpdatePost)
|
||||
posts.DELETE("/:id", handler_posts.DeletePost).Use(auth.JWTMiddleware())
|
||||
posts.POST("/", auth.JWTMiddleware(), handler_posts.CreatePost)
|
||||
posts.PUT("/:id", auth.JWTMiddleware(), handler_posts.UpdatePost)
|
||||
posts.DELETE("/:id", auth.JWTMiddleware(), handler_posts.DeletePost)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,9 +8,9 @@ import (
|
||||
_ "modernc.org/sqlite"
|
||||
)
|
||||
|
||||
var db_path = os.Getenv(
|
||||
"DB_PATH",
|
||||
) + "?_journal_mode=WAL&_busy_timeout=5000&_synchronous=NORMAL&_cache_size=2000&_foreign_keys=ON"
|
||||
var path = os.Getenv("DB_PATH")
|
||||
|
||||
var params = "?_journal_mode=WAL&_busy_timeout=5000&_synchronous=NORMAL&_cache_size=2000&_foreign_keys=ON"
|
||||
|
||||
func CreateTables(db *sql.DB) error {
|
||||
logger := logger.New(false)
|
||||
@@ -24,7 +24,7 @@ func CreateTables(db *sql.DB) error {
|
||||
}
|
||||
|
||||
func OpenSession() (*sql.DB, error) {
|
||||
db, err := sql.Open("sqlite", db_path)
|
||||
db, err := sql.Open("sqlite", path+params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user