diff --git a/bin b/bin new file mode 100755 index 0000000..6f8c075 Binary files /dev/null and b/bin differ diff --git a/configs/common.dev b/configs/common.dev index a3193d7..53c3c15 100644 --- a/configs/common.dev +++ b/configs/common.dev @@ -3,7 +3,7 @@ package config const ( BASE_URL = "https://learnsteam-quiz-api.jongyeob.com" PORT = ":3030" - DATABASE_URL = "learnsteam:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(localhost:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" + DATABASE_URL = "root:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(db:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" KAKAO_CLIENT_ID = "986830" KAKAO_CLIENT_SECRET = "14f63a8e91c4e0fe88bc40e3ff348233" diff --git a/configs/common.local b/configs/common.local index 246840b..5a3687c 100644 --- a/configs/common.local +++ b/configs/common.local @@ -3,7 +3,8 @@ package config const ( BASE_URL = "http://localhost:3030" PORT = ":3030" - DATABASE_URL = "learnsteam:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(localhost:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" + //DATABASE_URL = "learnsteam:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(localhost:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" + DATABASE_URL = "root:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(db:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" KAKAO_CLIENT_ID = "986830" KAKAO_CLIENT_SECRET = "14f63a8e91c4e0fe88bc40e3ff348233" diff --git a/configs/common.prod b/configs/common.prod index a3193d7..53c3c15 100644 --- a/configs/common.prod +++ b/configs/common.prod @@ -3,7 +3,7 @@ package config const ( BASE_URL = "https://learnsteam-quiz-api.jongyeob.com" PORT = ":3030" - DATABASE_URL = "learnsteam:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(localhost:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" + DATABASE_URL = "root:fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6@tcp(db:3306)/learnsteam_quiz?charset=utf8&parseTime=True&loc=Local" KAKAO_CLIENT_ID = "986830" KAKAO_CLIENT_SECRET = "14f63a8e91c4e0fe88bc40e3ff348233" diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index 1babe6c..8918605 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -15,4 +15,7 @@ WORKDIR /app RUN apk add --no-cache sqlite-libs mariadb-connector-c libgcc COPY --from=builder /app/bootstrap . +EXPOSE 3030 +ENV PORT 3030 + CMD ["sh", "-c", "./bootstrap"] \ No newline at end of file diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index cde7c86..3c6c1d0 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -4,8 +4,8 @@ services: db: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - MYSQL_DATABASE: boilerplate + MYSQL_ROOT_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + MYSQL_DATABASE: learnsteam_quiz ports: - "33061:3306" volumes: @@ -14,15 +14,15 @@ services: build: context: ../../ dockerfile: docker/dev/Dockerfile - image: studioj/boilerplate_app:dev + image: learnsteam/learnsteam-quiz-api:dev ports: - "3030:3030" environment: DB_HOST: db DB_PORT: 3306 DB_USER: root - DB_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - DB_NAME: boilerplate + DB_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + DB_NAME: learnsteam_quiz depends_on: - db restart: always diff --git a/docker/local/Dockerfile b/docker/local/Dockerfile index c04305e..5d37a53 100644 --- a/docker/local/Dockerfile +++ b/docker/local/Dockerfile @@ -1,7 +1,7 @@ # syntax=docker/dockerfile:1 -FROM alpine:latest AS deps -RUN apk add --no-cache mariadb-dev sqlite-dev build-base go +FROM golang:alpine AS deps +RUN apk add --no-cache mariadb-dev sqlite-dev build-base FROM deps AS builder WORKDIR /app @@ -15,4 +15,7 @@ WORKDIR /app RUN apk add --no-cache sqlite-libs mariadb-connector-c libgcc COPY --from=builder /app/bootstrap . +EXPOSE 3030 +ENV PORT 3030 + CMD ["sh", "-c", "./bootstrap"] \ No newline at end of file diff --git a/docker/local/docker-compose.yml b/docker/local/docker-compose.yml index 68ad746..05db7d2 100644 --- a/docker/local/docker-compose.yml +++ b/docker/local/docker-compose.yml @@ -4,27 +4,27 @@ services: db: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - MYSQL_DATABASE: boilerplate + MYSQL_ROOT_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + MYSQL_DATABASE: learnsteam_quiz ports: - - "33061:3306" + - "3306:3306" volumes: - db-data:/var/lib/mysql app: build: context: ../../ dockerfile: docker/local/Dockerfile - image: studioj/boilerplate_app:local + image: learnsteam/learnsteam-quiz-api:local ports: - "3030:3030" + depends_on: + - db environment: DB_HOST: db DB_PORT: 3306 DB_USER: root - DB_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - DB_NAME: boilerplate - depends_on: - - db + DB_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + DB_NAME: learnsteam_quiz restart: always volumes: db-data: diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 26685d7..1a91329 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -15,4 +15,7 @@ WORKDIR /app RUN apk add --no-cache sqlite-libs mariadb-connector-c libgcc COPY --from=builder /app/bootstrap . +EXPOSE 3030 +ENV PORT 3030 + CMD ["sh", "-c", "./bootstrap"] \ No newline at end of file diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 469fdde..90428f4 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -4,27 +4,27 @@ services: db: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - MYSQL_DATABASE: boilerplate + MYSQL_ROOT_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + MYSQL_DATABASE: learnsteam_quiz ports: - - "3306:3306" + - "33061:3306" volumes: - db-data:/var/lib/mysql app: build: context: ../../ dockerfile: docker/prod/Dockerfile - image: studioj/boilerplate_app + image: learnsteam/learnsteam-quiz-api ports: - "3030:3030" environment: DB_HOST: db DB_PORT: 3306 DB_USER: root - DB_PASSWORD: omHO7EEzHm52s9DlZD70P6KPKm2TbODC - DB_NAME: boilerplate + DB_PASSWORD: fbOgZ6Xxn5VXBYihjqygRXyaK6ZUgKL6 + DB_NAME: learnsteam_quiz depends_on: - db - + restart: always volumes: db-data: diff --git a/docs/docs.go b/docs/docs.go index 41d43bc..b3dc68f 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -27,6 +27,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "로그인" + ], "summary": "로그인", "parameters": [ { @@ -67,6 +70,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "회원가입" + ], "summary": "회원가입", "parameters": [ { @@ -109,11 +115,6 @@ const docTemplate = `{ }, "/program": { "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], "description": "퀴즈 프로그램 목록을 가져옵니다.", "consumes": [ "application/json" @@ -121,6 +122,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "프로그램 목록 가져오기", "parameters": [ { @@ -165,6 +169,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 수정", "parameters": [ { @@ -242,6 +249,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 생성", "parameters": [ { @@ -321,6 +331,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 가져오기", "parameters": [ { @@ -337,9 +350,6 @@ const docTemplate = `{ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse" } - }, - "400": { - "description": "Bad Request" } } } @@ -353,6 +363,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 목록 가져오기", "parameters": [ { @@ -398,6 +411,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 수정", "parameters": [ { @@ -503,6 +519,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 생성", "parameters": [ { @@ -603,6 +622,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 가져오기", "parameters": [ { @@ -619,9 +641,6 @@ const docTemplate = `{ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse" } - }, - "400": { - "description": "Bad Request" } } } @@ -635,6 +654,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "Token" + ], "summary": "AccessToken Refresh", "parameters": [ { @@ -666,6 +688,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "User" + ], "summary": "사용자 목록 가져오기", "parameters": [ { @@ -706,6 +731,9 @@ const docTemplate = `{ "produces": [ "application/json" ], + "tags": [ + "User" + ], "summary": "사용자 정보 가져오기", "parameters": [ { @@ -722,9 +750,6 @@ const docTemplate = `{ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User" } - }, - "400": { - "description": "Bad Request" } } } diff --git a/docs/swagger.json b/docs/swagger.json index 81a15ac..09871d4 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -19,6 +19,9 @@ "produces": [ "application/json" ], + "tags": [ + "로그인" + ], "summary": "로그인", "parameters": [ { @@ -59,6 +62,9 @@ "produces": [ "application/json" ], + "tags": [ + "회원가입" + ], "summary": "회원가입", "parameters": [ { @@ -101,11 +107,6 @@ }, "/program": { "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], "description": "퀴즈 프로그램 목록을 가져옵니다.", "consumes": [ "application/json" @@ -113,6 +114,9 @@ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "프로그램 목록 가져오기", "parameters": [ { @@ -157,6 +161,9 @@ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 수정", "parameters": [ { @@ -234,6 +241,9 @@ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 생성", "parameters": [ { @@ -313,6 +323,9 @@ "produces": [ "application/json" ], + "tags": [ + "Program" + ], "summary": "퀴즈 프로그램 가져오기", "parameters": [ { @@ -329,9 +342,6 @@ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse" } - }, - "400": { - "description": "Bad Request" } } } @@ -345,6 +355,9 @@ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 목록 가져오기", "parameters": [ { @@ -390,6 +403,9 @@ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 수정", "parameters": [ { @@ -495,6 +511,9 @@ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 생성", "parameters": [ { @@ -595,6 +614,9 @@ "produces": [ "application/json" ], + "tags": [ + "Quiz" + ], "summary": "퀴즈 가져오기", "parameters": [ { @@ -611,9 +633,6 @@ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse" } - }, - "400": { - "description": "Bad Request" } } } @@ -627,6 +646,9 @@ "produces": [ "application/json" ], + "tags": [ + "Token" + ], "summary": "AccessToken Refresh", "parameters": [ { @@ -658,6 +680,9 @@ "produces": [ "application/json" ], + "tags": [ + "User" + ], "summary": "사용자 목록 가져오기", "parameters": [ { @@ -698,6 +723,9 @@ "produces": [ "application/json" ], + "tags": [ + "User" + ], "summary": "사용자 정보 가져오기", "parameters": [ { @@ -714,9 +742,6 @@ "schema": { "$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User" } - }, - "400": { - "description": "Bad Request" } } } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 6b82000..843c2d2 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -244,6 +244,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.LoginResponse' summary: 로그인 + tags: + - 로그인 /auth/register: post: consumes: @@ -276,6 +278,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.RegisterResponse' summary: 회원가입 + tags: + - 회원가입 /program: get: consumes: @@ -305,9 +309,9 @@ paths: description: OK schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramListResponse' - security: - - ApiKeyAuth: [] summary: 프로그램 목록 가져오기 + tags: + - Program post: consumes: - application/json @@ -359,6 +363,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse' summary: 퀴즈 프로그램 생성 + tags: + - Program put: consumes: - application/json @@ -410,6 +416,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse' summary: 퀴즈 프로그램 수정 + tags: + - Program /program/{id}: get: consumes: @@ -428,9 +436,9 @@ paths: description: OK schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse' - "400": - description: Bad Request summary: 퀴즈 프로그램 가져오기 + tags: + - Program /quiz: get: consumes: @@ -462,6 +470,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizListResponse' summary: 퀴즈 목록 가져오기 + tags: + - Quiz post: consumes: - application/json @@ -527,6 +537,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse' summary: 퀴즈 생성 + tags: + - Quiz put: consumes: - application/json @@ -597,6 +609,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse' summary: 퀴즈 수정 + tags: + - Quiz /quiz/{id}: get: consumes: @@ -615,9 +629,9 @@ paths: description: OK schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse' - "400": - description: Bad Request summary: 퀴즈 가져오기 + tags: + - Quiz /token/refresh: post: consumes: @@ -638,6 +652,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse' summary: AccessToken Refresh + tags: + - Token /user: get: consumes: @@ -664,6 +680,8 @@ paths: schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.UserListResponse' summary: 사용자 목록 가져오기 + tags: + - User /user/{id}: get: consumes: @@ -682,7 +700,7 @@ paths: description: OK schema: $ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.User' - "400": - description: Bad Request summary: 사용자 정보 가져오기 + tags: + - User swagger: "2.0" diff --git a/go.mod b/go.mod index 2110cc8..cae901a 100644 --- a/go.mod +++ b/go.mod @@ -2,79 +2,67 @@ module learnsteam/learsteam-quiz-api go 1.21 -toolchain go1.21.3 - -require github.com/gin-gonic/gin v1.9.1 - -require ( - github.com/KyleBanks/depth v1.2.1 // indirect - github.com/PuerkitoBio/purell v1.2.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/aws/aws-lambda-go v1.17.0 // indirect - github.com/chenzhuoyu/iasm v0.9.1 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-openapi/jsonpointer v0.20.0 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/spec v0.20.9 // indirect - github.com/go-openapi/swag v0.22.4 // indirect - github.com/go-sql-driver/mysql v1.7.0 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-sqlite3 v1.14.17 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect - github.com/swaggo/files v1.0.1 // indirect - github.com/swaggo/gin-swagger v1.6.0 // indirect - github.com/swaggo/swag v1.16.2 // indirect - github.com/urfave/cli/v2 v2.25.7 // indirect - github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - golang.org/x/tools v0.15.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect -) - require ( github.com/apex/gateway v1.1.2 - github.com/bytedance/sonic v1.10.2 // indirect - github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect - github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/cors v1.4.0 - github.com/gin-contrib/sse v0.1.0 // indirect - github.com/go-playground/locales v0.14.1 // indirect - github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.16.0 // indirect - github.com/goccy/go-json v0.10.2 // indirect - github.com/golang-jwt/jwt v3.2.2+incompatible - github.com/golang-jwt/jwt/v5 v5.0.0 - github.com/google/uuid v1.3.1 - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect - github.com/leodido/go-urn v1.2.4 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect + github.com/golang-jwt/jwt/v5 v5.1.0 + github.com/google/uuid v1.4.0 + github.com/stretchr/testify v1.8.4 + github.com/swaggo/files v1.0.1 + github.com/swaggo/gin-swagger v1.6.0 + github.com/swaggo/swag v1.16.2 github.com/tj/assert v0.0.3 - github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.11 // indirect - golang.org/x/arch v0.6.0 // indirect golang.org/x/crypto v0.15.0 - golang.org/x/net v0.18.0 // indirect - golang.org/x/oauth2 v0.14.0 - golang.org/x/sys v0.14.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/protobuf v1.31.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/datatypes v1.2.0 gorm.io/driver/mysql v1.5.2 gorm.io/driver/sqlite v1.5.4 gorm.io/gorm v1.25.5 ) + +require ( + github.com/KyleBanks/depth v1.2.1 // indirect + github.com/bytedance/sonic v1.10.2 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect + github.com/chenzhuoyu/iasm v0.9.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-openapi/jsonpointer v0.20.0 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/spec v0.20.9 // indirect + github.com/go-openapi/swag v0.22.4 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.16.0 // indirect + github.com/go-sql-driver/mysql v1.7.0 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/google/go-cmp v0.5.9 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-sqlite3 v1.14.17 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect + golang.org/x/arch v0.6.0 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/sys v0.14.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/tools v0.15.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +require ( + github.com/aws/aws-lambda-go v1.17.0 // indirect + github.com/gin-gonic/gin v1.9.1 + github.com/pkg/errors v0.9.1 // indirect +) diff --git a/go.sum b/go.sum index 9f71c1b..1bd1196 100644 --- a/go.sum +++ b/go.sum @@ -1,22 +1,15 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= -github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28= -github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/apex/gateway v1.1.2 h1:OWyLov8eaau8YhkYKkRuOAYqiUhpBJalBR1o+3FzX+8= github.com/apex/gateway v1.1.2/go.mod h1:AMTkVbz5u5Hvd6QOGhhg0JUrNgCcLVu3XNJOGntdoB4= github.com/aws/aws-lambda-go v1.17.0 h1:Ogihmi8BnpmCNktKAGpNwSiILNNING1MiosnKUfU8m0= github.com/aws/aws-lambda-go v1.17.0/go.mod h1:FEwgPLE6+8wcGBTe5cJN3JWurd1Ztm9zN4jsXsjzKKw= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= -github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= -github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= @@ -24,18 +17,16 @@ github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLI github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g= github.com/gin-contrib/cors v1.4.0/go.mod h1:bs9pNM0x/UsmHPBWT2xZz9ROh8xYjYkiURUfmBoMlcs= +github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= +github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= @@ -58,6 +49,7 @@ github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogB github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= @@ -65,8 +57,6 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= -github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= @@ -74,20 +64,25 @@ github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9 github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= -github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang-jwt/jwt/v5 v5.1.0 h1:UGKbA/IPjtS6zLcdB7i5TyACMgSbOTiR8qzXgw8HWQU= +github.com/golang-jwt/jwt/v5 v5.1.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= +github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.3.0 h1:/NQi8KHMpKWHInxXesC8yD4DhkXPrVhmnwYkjp9AmBA= +github.com/jackc/pgx/v5 v5.3.0/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= @@ -97,16 +92,17 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= -github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= @@ -117,12 +113,12 @@ github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/microsoft/go-mssqldb v0.17.0 h1:Fto83dMZPnYv1Zwx5vHHxpNraeEaUlQ/hhHLgZiaenE= +github.com/microsoft/go-mssqldb v0.17.0/go.mod h1:OkoNGhGEs8EZqchVTtochlXruEhEOaO4S0d2sB5aeGQ= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -130,8 +126,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= @@ -140,11 +134,9 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -157,7 +149,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= @@ -175,35 +166,24 @@ github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95 github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= -github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= -golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc= golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -212,25 +192,19 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -239,21 +213,15 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -269,12 +237,14 @@ gorm.io/datatypes v1.2.0 h1:5YT+eokWdIxhJgWHdrb2zYUimyk0+TaFth+7a0ybzco= gorm.io/datatypes v1.2.0/go.mod h1:o1dh0ZvjIjhH/bngTpypG6lVRJ5chTBxE09FH/71k04= gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs= gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8= +gorm.io/driver/postgres v1.5.0 h1:u2FXTy14l45qc3UeCJ7QaAXZmZfDDv0YrthvmRq1l0U= +gorm.io/driver/postgres v1.5.0/go.mod h1:FUZXzO+5Uqg5zzwzv4KK49R8lvGIyscBOqYrtI1Ce9A= gorm.io/driver/sqlite v1.5.4 h1:IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0= gorm.io/driver/sqlite v1.5.4/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4= +gorm.io/driver/sqlserver v1.4.1 h1:t4r4r6Jam5E6ejqP7N82qAJIJAht27EGT41HyPfXRw0= +gorm.io/driver/sqlserver v1.4.1/go.mod h1:DJ4P+MeZbc5rvY58PnmN1Lnyvb5gw5NPzGshHDnJLig= gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/go.work b/go.work deleted file mode 100644 index 767c526..0000000 --- a/go.work +++ /dev/null @@ -1,3 +0,0 @@ -go 1.21.3 - -use . diff --git a/go.work.sum b/go.work.sum deleted file mode 100644 index a91659a..0000000 --- a/go.work.sum +++ /dev/null @@ -1,5 +0,0 @@ -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= diff --git a/internal/controllers/auth.go b/internal/controllers/auth.go index 5ee1d6c..3b86c47 100644 --- a/internal/controllers/auth.go +++ b/internal/controllers/auth.go @@ -30,7 +30,8 @@ func NewAuthController(service services.AuthService, tokenService services.Token // // @Summary 회원가입 // @Description username, name, password 를 입력하여 회원가입 -// @Accept json +// @Tags 회원가입 +// @Accept json // @Produce json // // @Param username body string true "username" @@ -64,6 +65,7 @@ func (controller *authController) Register(c *gin.Context) { // // @Summary 로그인 // @Description username, password 를 입력하여 로그인 +// @Tags 로그인 // @Accept json // @Produce json // diff --git a/internal/controllers/program.go b/internal/controllers/program.go index 48f744a..862ccfa 100644 --- a/internal/controllers/program.go +++ b/internal/controllers/program.go @@ -32,16 +32,19 @@ func NewProgramController(service services.ProgramService) ProgramController { // Program List // -// @Summary 프로그램 목록 가져오기 -// @Description 퀴즈 프로그램 목록을 가져옵니다. +// @Summary 프로그램 목록 가져오기 +// @Description 퀴즈 프로그램 목록을 가져옵니다. +// @Tags Program +// // @Accept json // @Produce json +// // @Param tag query string false "태그" // @Param q query string false "검색어" // @Param page query int false "페이지" // @Param limit query int false "페이지 사이즈" +// // @Success 200 {object} models.ProgramListResponse -// @Security ApiKeyAuth // @Router /program [get] func (controller *programController) List(c *gin.Context) { tag := c.DefaultQuery("tag", "") @@ -86,13 +89,16 @@ func (controller *programController) List(c *gin.Context) { // Get program // -// @Summary 퀴즈 프로그램 가져오기 -// @Description ID로 퀴즈 프로그램을 가져옵니다. +// @Summary 퀴즈 프로그램 가져오기 +// @Description ID로 퀴즈 프로그램을 가져옵니다. +// @Tags Program +// // @Accept json // @Produce json +// // @Param id path string true "퀴즈 프로그램 ID" +// // @Success 200 {object} models.ProgramResponse -// @Failure 400 // @Router /program/{id} [get] func (controller *programController) Find(c *gin.Context) { id := c.Param("id") @@ -108,18 +114,22 @@ func (controller *programController) Find(c *gin.Context) { // Create Program // -// @Summary 퀴즈 프로그램 생성 -// @Description 퀴즈 프로그램을 만듭니다. +// @Summary 퀴즈 프로그램 생성 +// @Description 퀴즈 프로그램을 만듭니다. +// @Tags Program +// // @Accept json // @Produce json +// // @Param subject body string true "프로그램 제목" // @Param course body string true "프로그램 코스" // @Param content body string true "프로그램 내용" // @Param tag body []string true "프로그램 태그" // @Param status body string true "프로그램 상태 on 또는 off" // @Param publish_at body string true "프로그램 발행 날짜" -// @Router /program [post] +// // @Success 200 {object} models.ProgramResponse +// @Router /program [post] func (controller *programController) Create(c *gin.Context) { var request models.ProgramRequest if err := c.ShouldBindJSON(&request); err != nil { @@ -157,18 +167,22 @@ func (controller *programController) Create(c *gin.Context) { // Update Program // -// @Summary 퀴즈 프로그램 수정 +// @Summary 퀴즈 프로그램 수정 // @Description 퀴즈 프로그램을 수정합니다. +// @Tags Program +// // @Accept json // @Produce json +// // @Param subject body string true "프로그램 제목" // @Param course body string true "프로그램 코스" // @Param content body string true "프로그램 내용" // @Param tag body []string true "프로그램 태그" // @Param status body string true "프로그램 상태 on 또는 off" // @Param publish_at body string true "프로그램 발행 날짜" -// @Router /program [put] +// // @Success 200 {object} models.ProgramResponse +// @Router /program [put] func (controller *programController) Update(c *gin.Context) { id := c.Param("id") var request models.ProgramRequest diff --git a/internal/controllers/quiz.go b/internal/controllers/quiz.go index 40e6d18..2c8d7a9 100644 --- a/internal/controllers/quiz.go +++ b/internal/controllers/quiz.go @@ -34,12 +34,16 @@ func NewQuizController(service services.QuizService) QuizController { // // @Summary 퀴즈 목록 가져오기 // @Description 퀴즈 목록을 가져옵니다. +// @Tags Quiz +// // @Accept json // @Produce json +// // @Param program_id query string true "프로그램 ID" // @Param q query string false "검색어" // @Param page query int false "페이지" // @Param limit query int false "페이지 사이즈" +// // @Success 200 {object} models.QuizListResponse // @Router /quiz [get] func (controller *quizController) List(c *gin.Context) { @@ -78,11 +82,14 @@ func (controller *quizController) List(c *gin.Context) { // // @Summary 퀴즈 가져오기 // @Description ID로 퀴즈를 가져옵니다. +// @Tags Quiz +// // @Accept json // @Produce json +// // @Param id path string true "퀴즈 ID" +// // @Success 200 {object} models.QuizResponse -// @Failure 400 // @Router /quiz/{id} [get] func (controller *quizController) Find(c *gin.Context) { id := c.Param("id") @@ -100,8 +107,11 @@ func (controller *quizController) Find(c *gin.Context) { // // @Summary 퀴즈 생성 // @Description 퀴즈를 만듭니다. +// @Tags Quiz +// // @Accept json // @Produce json +// // @Param program_id body string true "프로그램 ID" // @Param sequence body int true "퀴즈 순서" // @Param quiz_type body string true "퀴즈 타입 : choice, check, ox, input" @@ -110,6 +120,7 @@ func (controller *quizController) Find(c *gin.Context) { // @Param answer body []string true "퀴즈 정답 : [1,3]" // @Param hint body string true "퀴즈 힌트" // @Param comment body string true "퀴즈 해설" +// // @Success 200 {object} models.QuizResponse // @Router /quiz [post] func (controller *quizController) Create(c *gin.Context) { @@ -146,8 +157,11 @@ func (controller *quizController) Create(c *gin.Context) { // // @Summary 퀴즈 수정 // @Description 퀴즈를 수정합니다. +// @Tags Quiz +// // @Accept json // @Produce json +// // @Param id path string true "퀴즈 ID" // @Param program_id body string true "프로그램 ID" // @Param sequence body int true "퀴즈 순서" @@ -157,6 +171,7 @@ func (controller *quizController) Create(c *gin.Context) { // @Param answer body []string true "퀴즈 정답 : [1,3]" // @Param hint body string true "퀴즈 힌트" // @Param comment body string true "퀴즈 해설" +// // @Success 200 {object} models.QuizResponse // @Router /quiz [put] func (controller *quizController) Update(c *gin.Context) { diff --git a/internal/controllers/token.go b/internal/controllers/token.go index 9bfcabb..f8356b6 100644 --- a/internal/controllers/token.go +++ b/internal/controllers/token.go @@ -25,11 +25,15 @@ func NewTokenController(service services.TokenService) TokenController { // Refresh Token // -// @Summary AccessToken Refresh -// @Description AccessToken을 RefreshToken으로 갱신합니다. +// @Summary AccessToken Refresh +// @Description AccessToken을 RefreshToken으로 갱신합니다. +// @Tags Token +// // @Accept json // @Produce json +// // @Param refresh_token body string true "RefreshToken" +// // @Router /token/refresh [post] // @Success 200 {object} models.ProgramResponse func (controller *tokenController) Refresh(c *gin.Context) { diff --git a/internal/controllers/user.go b/internal/controllers/user.go index ab740f6..f8c260a 100644 --- a/internal/controllers/user.go +++ b/internal/controllers/user.go @@ -30,8 +30,9 @@ func NewUserController(service services.UserService, tokenService services.Token // User List // -// @Summary 사용자 목록 가져오기 +// @Summary 사용자 목록 가져오기 // @Description 사용자 목록을 가져옵니다. +// @Tags User // @Accept json // @Produce json // @@ -85,13 +86,15 @@ func (controller *userController) List(c *gin.Context) { // Get User // -// @Summary 사용자 정보 가져오기 -// @Description ID로 사용자 정보를 가져옵니다. +// @Summary 사용자 정보 가져오기 +// @Description ID로 사용자 정보를 가져옵니다. +// @Tags User // @Accept json // @Produce json +// // @Param id path string true "사용자 ID" +// // @Success 200 {object} models.User -// @Failure 400 // @Router /user/{id} [get] func (controller *userController) Find(c *gin.Context) { id := c.Param("id") diff --git a/internal/database/database.go b/internal/database/database.go index 198769d..b76eb5e 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -40,6 +40,5 @@ func AutoMigrate() { &models.Token{}, &models.Program{}, &models.Quiz{}, - // &models.Course{}, ) }