Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Lint

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
golangci-lint:
name: golangci-lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1

- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: "1.20"

- name: Run golangci-lint
uses: golangci/golangci-lint-action@8564da7cb3c6866ed1da648ca8f00a258ef0c802 # v6.5.2
with:
version: latest
args: --timeout=5m
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/SIT-DigiCre/digicore_v3_backend

go 1.19
go 1.20

require (
github.com/aws/aws-sdk-go v1.44.281
Expand Down
16 changes: 11 additions & 5 deletions pkg/api/authenticator/authenticator.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,23 @@ func handler(c echo.Context, err *echo.HTTPError) error {

func CreateToken(user_id string) (string, *response.Error) {
t := jwt.New()
t.Set(jwt.SubjectKey, user_id)
t.Set(jwt.ExpirationKey, time.Now().Add(time.Hour*72).Unix())
if err := t.Set(jwt.SubjectKey, user_id); err != nil {
return "", &response.Error{Code: http.StatusInternalServerError, Level: "Error", Message: "JWTトークンにユーザーIDを設定できませんでした", Log: err.Error()}
}
if err := t.Set(jwt.ExpirationKey, time.Now().Add(time.Hour*72).Unix()); err != nil {
return "", &response.Error{Code: http.StatusInternalServerError, Level: "Error", Message: "JWTトークンに有効期限を設定できませんでした", Log: err.Error()}
}
claims, err := GetClaims(user_id)
if err != nil {
return "", err
}
t.Set(PermissionsClaim, claims)
if err := t.Set(PermissionsClaim, claims); err != nil {
return "", &response.Error{Code: http.StatusInternalServerError, Level: "Error", Message: "JWTトークンに権限情報を設定できませんでした", Log: err.Error()}
}

signed, rerr := jwt.Sign(t, jwt.WithKey(jwa.RS256, key))
if err != nil {
return "", &response.Error{Code: http.StatusInternalServerError, Level: "Info", Message: "JWTの生成に失敗しました", Log: rerr.Error()}
if rerr != nil {
return "", &response.Error{Code: http.StatusInternalServerError, Level: "Error", Message: "JWTトークンの署名に失敗しました", Log: rerr.Error()}
}
token := string(signed)
return token, nil
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/delete_budget_id_status_approve.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/budget"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) DeleteBudgetBudgetIdStatusApprove(ctx echo.Context, budgetId string) error {
dbTranisactionClient, err := db.OpenTransaction()
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := budget.DeleteBudgetBudgetIdStatusApprove(ctx, &dbTranisactionClient, budgetId)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/delete_budget_id_status_pending.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/budget"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) DeleteBudgetBudgetIdStatusPending(ctx echo.Context, budgetId string) error {
dbTranisactionClient, err := db.OpenTransaction()
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := budget.DeleteBudgetBudgetIdStatusPending(ctx, &dbTranisactionClient, budgetId)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/delete_event_event_id_reservation_id.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/event"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) DeleteEventEventIdReservationIdMe(ctx echo.Context, eventId string, reservationId string) error {
Expand All @@ -13,7 +14,11 @@ func (s *server) DeleteEventEventIdReservationIdMe(ctx echo.Context, eventId str
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := event.DeleteEventEventIdReservationIdMe(ctx, &dbTranisactionClient, eventId, reservationId)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/delete_work_tag.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/work"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) DeleteWorkTagTagId(ctx echo.Context, tagId string) error {
dbTranisactionClient, err := db.OpenTransaction()
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := work.DeleteWorkTagTagId(ctx, &dbTranisactionClient, tagId)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/delete_work_work.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/work"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) DeleteWorkWorkWorkId(ctx echo.Context, workId string) error {
dbTranisactionClient, err := db.OpenTransaction()
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := work.DeleteWorkWorkWorkId(ctx, &dbTranisactionClient, workId)
if err != nil {
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/irregular/post_mattermost_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/mattermost"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func PostMattermostCmd(ctx echo.Context) error {
var requestBody api.ReqPostMattermostCmd
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func PostMattermostCmd(ctx echo.Context) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := mattermost.PostMattermostCmd(ctx, &dbTranisactionClient, requestBody)
if err != nil {
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/post_budget.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/budget"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostBudget(ctx echo.Context) error {
var requestBody api.ReqPostBudget
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func (s *server) PostBudget(ctx echo.Context) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := budget.PostBudget(ctx, &dbTranisactionClient, requestBody)
if err != nil {
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/post_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/group"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostGroup(ctx echo.Context) error {
var requestBody api.ReqPostGroup
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func (s *server) PostGroup(ctx echo.Context) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTransactionClient.Rollback()
defer func() {
if err := dbTransactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := group.PostGroup(ctx, &dbTransactionClient, requestBody)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion pkg/api/server/post_group_group_id_join.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/group"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostGroupGroupIdJoin(ctx echo.Context, groupId string) error {
dbTransactionClient, err := db.OpenTransaction()
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTransactionClient.Rollback()
defer func() {
if err := dbTransactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := group.PostGroupGroupIdJoin(ctx, &dbTransactionClient, groupId)
if err != nil {
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/post_group_group_id_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/group"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostGroupGroupIdUser(ctx echo.Context, groupId string) error {
var requestBody api.ReqPostGroupGroupIdUser
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func (s *server) PostGroupGroupIdUser(ctx echo.Context, groupId string) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTransactionClient.Rollback()
defer func() {
if err := dbTransactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := group.PostGroupGroupIdUser(ctx, &dbTransactionClient, groupId, requestBody)
if err != nil {
Expand Down
4 changes: 3 additions & 1 deletion pkg/api/server/post_login_callback.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ import (

func (s *server) PostLoginCallback(ctx echo.Context) error {
var requestBody api.ReqPostLoginCallback
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand Down
4 changes: 3 additions & 1 deletion pkg/api/server/post_mattermost_create_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ import (

func (s *server) PostMattermostCreateUser(ctx echo.Context) error {
var requestBody api.ReqPostMattermostCreateuser
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/post_signup_callback.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/google_auth"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostSignupCallback(ctx echo.Context) error {
var requestBody api.ReqPostSignupCallback
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func (s *server) PostSignupCallback(ctx echo.Context) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := google_auth.PostSignupCallback(ctx, &dbTranisactionClient, requestBody)
if err != nil {
Expand Down
11 changes: 9 additions & 2 deletions pkg/api/server/post_storage_my_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import (
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/db"
"github.com/SIT-DigiCre/digicore_v3_backend/pkg/storage"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
)

func (s *server) PostStorageMyfile(ctx echo.Context) error {
var requestBody api.ReqPostStorageMyfile
ctx.Bind(&requestBody)
if err := ctx.Bind(&requestBody); err != nil {
return response.ErrorResponse(ctx, &response.Error{Code: 400, Level: "Info", Message: "リクエストボディの解析に失敗しました。正しい形式で送信してください", Log: err.Error()})
}
err := validator.Validate(requestBody)
if err != nil {
return response.ErrorResponse(ctx, err)
Expand All @@ -21,7 +24,11 @@ func (s *server) PostStorageMyfile(ctx echo.Context) error {
if err != nil {
return response.ErrorResponse(ctx, err)
}
defer dbTranisactionClient.Rollback()
defer func() {
if err := dbTranisactionClient.Rollback(); err != nil {
logrus.Errorf("トランザクションのロールバックに失敗しました: %v", err)
}
}()

res, err := storage.PostStorageMyfile(ctx, &dbTranisactionClient, requestBody)
if err != nil {
Expand Down
Loading
Loading