From 8096c7703f021b218e6df39baede6687434c727e Mon Sep 17 00:00:00 2001 From: Pasha Date: Wed, 18 Dec 2024 19:53:57 +0300 Subject: [PATCH] some upd --- cmd/verification/main.go | 8 ++--- internal/client/telegram.go | 8 +---- internal/controllers/admin/route.go | 6 ++-- internal/controllers/user/route.go | 8 ++--- internal/repository/verification.go | 48 ++++++++++++++++------------- internal/server/middleware.go | 8 +++-- internal/utils/utils.go | 11 +++++++ test.env | 26 ++++++---------- 8 files changed, 64 insertions(+), 59 deletions(-) create mode 100644 internal/utils/utils.go diff --git a/cmd/verification/main.go b/cmd/verification/main.go index 275a5a1..0f064be 100644 --- a/cmd/verification/main.go +++ b/cmd/verification/main.go @@ -1,12 +1,12 @@ package main import ( + "gitea.pena/PenaSide/verification/internal/app" + "gitea.pena/PenaSide/verification/internal/config" "go.uber.org/zap" "log" "os" - "gitea.pena/PenaSide/verification/internal/app" - "gitea.pena/PenaSide/verification/internal/config" - + _ "gitea.pena/PenaSide/linters-golang/pkg/dummy" "time" ) @@ -26,7 +26,7 @@ func main() { ptime = time.Now() } - cfg, err := config.NewConfig("staging.env") + cfg, err := config.NewConfig("test.env") if err != nil { log.Fatal("can't load config: ", err.Error()) } diff --git a/internal/client/telegram.go b/internal/client/telegram.go index d5554fa..dbf6ebd 100644 --- a/internal/client/telegram.go +++ b/internal/client/telegram.go @@ -4,9 +4,9 @@ import ( "bytes" _ "embed" "fmt" + "gitea.pena/PenaSide/verification/internal/models" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" "go.uber.org/zap" - "gitea.pena/PenaSide/verification/internal/models" "text/template" ) @@ -35,7 +35,6 @@ func NewTelegram(deps Deps) *Telegram { } func (t *Telegram) SendVerification(data *models.Verification, url string, isUpdate bool) error { - fmt.Println("VERT", data, url,isUpdate) var tplPath string if isUpdate { tplPath = UpdatedVerification @@ -43,13 +42,10 @@ func (t *Telegram) SendVerification(data *models.Verification, url string, isUpd tplPath = NewVerification } - fmt.Println("VERT1", tplPath) var userURL string userURL = fmt.Sprintf("%s/users/%s", t.stagingURL, data.UserID) - fmt.Println("VERT2", userURL) tpl, err := template.New("verification_template").Parse(tplPath) - fmt.Println("VERT333", tpl,err) if err != nil { return fmt.Errorf("error parsing template: %w", err) } @@ -69,14 +65,12 @@ func (t *Telegram) SendVerification(data *models.Verification, url string, isUpd } err = tpl.Execute(&text, toTG) - fmt.Println("VERT433", err) if err != nil { return fmt.Errorf("error executing template: %w", err) } msg := tgbotapi.NewMessage(t.chatID, text.String()) - fmt.Println("VERT433", err, t.chatID, text.String()) _, err = t.bot.Send(msg) if err != nil { return fmt.Errorf("error sending message: %w", err) diff --git a/internal/controllers/admin/route.go b/internal/controllers/admin/route.go index 600bb95..84cd6fc 100644 --- a/internal/controllers/admin/route.go +++ b/internal/controllers/admin/route.go @@ -3,10 +3,10 @@ package admin import "github.com/gofiber/fiber/v2" func (r *VerifyAdminController) Register(router fiber.Router) { - router.Get("/verification/:userID", r.GetVerification) - router.Patch("/verification", r.SetVerificationStatus) + router.Get("/:userID", r.GetVerification) + router.Patch("/", r.SetVerificationStatus) } func (r *VerifyAdminController) Name() string { - return "" + return "verification" } diff --git a/internal/controllers/user/route.go b/internal/controllers/user/route.go index e8c634c..e5430c4 100644 --- a/internal/controllers/user/route.go +++ b/internal/controllers/user/route.go @@ -3,11 +3,11 @@ package user import "github.com/gofiber/fiber/v2" func (r *VerifyUserController) Register(router fiber.Router) { - router.Get("/verification", r.GetVerification) - router.Post("/verification", r.CreateVerification) - router.Put("/verification", r.SetVerificationFile) + router.Get("/", r.GetVerification) + router.Post("/", r.CreateVerification) + router.Put("/", r.SetVerificationFile) } func (r *VerifyUserController) Name() string { - return "" + return "verification" } diff --git a/internal/repository/verification.go b/internal/repository/verification.go index 644fd51..e207d3b 100644 --- a/internal/repository/verification.go +++ b/internal/repository/verification.go @@ -4,17 +4,18 @@ import ( "context" "errors" "fmt" + "gitea.pena/PenaSide/verification/internal/utils" "mime/multipart" - "time" "strings" + "time" + "gitea.pena/PenaSide/verification/internal/models" "github.com/minio/minio-go/v7" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "go.uber.org/zap" - "gitea.pena/PenaSide/verification/internal/models" ) type VerificationRepository struct { @@ -54,7 +55,7 @@ func (r *VerificationRepository) Insert( return nil, err } - _, err = r.s3.PutObject(ctx, VerificationBucket, fmt.Sprintf("%s/%s/%s", r.folder, userID, innFH.Filename), inn, innFH.Size, minio.PutObjectOptions{}) + _, err = r.s3.PutObject(ctx, VerificationBucket, utils.GenerateFilePath(r.folder, userID, innFH.Filename), inn, innFH.Size, minio.PutObjectOptions{}) if r.err(err) { return nil, err } @@ -65,7 +66,7 @@ func (r *VerificationRepository) Insert( } // Put rule file - _, err = r.s3.PutObject(ctx, VerificationBucket, fmt.Sprintf("%s/%s/%s", r.folder, userID, ruleFH.Filename), rule, ruleFH.Size, minio.PutObjectOptions{}) + _, err = r.s3.PutObject(ctx, VerificationBucket, utils.GenerateFilePath(r.folder, userID, innFH.Filename), rule, ruleFH.Size, minio.PutObjectOptions{}) if r.err(err) { return nil, err } @@ -77,7 +78,7 @@ func (r *VerificationRepository) Insert( return nil, err } - _, err = r.s3.PutObject(ctx, VerificationBucket, fmt.Sprintf("%s/%s/%s", r.folder, userID, certFH.Filename), cert, certFH.Size, minio.PutObjectOptions{}) + _, err = r.s3.PutObject(ctx, VerificationBucket, utils.GenerateFilePath(r.folder, userID, innFH.Filename), cert, certFH.Size, minio.PutObjectOptions{}) if r.err(err) { return nil, err } @@ -85,7 +86,7 @@ func (r *VerificationRepository) Insert( record.Files = []models.VerificationFile{ { Name: "certificate", - Url: fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, certFH.Filename), + Url: utils.GenerateURL(r.url, r.folder, userID, certFH.Filename), }, } } @@ -94,11 +95,11 @@ func (r *VerificationRepository) Insert( record.Files = append(record.Files, []models.VerificationFile{ { Name: "inn", - Url: fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, innFH.Filename), + Url: utils.GenerateURL(r.url, r.folder, userID, innFH.Filename), }, { Name: "rule", - Url: fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, ruleFH.Filename), + Url: utils.GenerateURL(r.url, r.folder, userID, ruleFH.Filename), }, }...) @@ -114,8 +115,9 @@ func (r *VerificationRepository) Insert( func (r *VerificationRepository) GetByUserID(ctx context.Context, userID string) (*models.Verification, error) { if userID == "" { err := errors.New("userID cannot be empty") - r.logger.Error("VerificationRepositoryError", zap.Error(err)) - return nil, err + if r.err(err) { + return nil, err + } } filter := bson.M{ @@ -130,8 +132,9 @@ func (r *VerificationRepository) GetByUserID(ctx context.Context, userID string) if err == mongo.ErrNoDocuments { return nil, nil } - r.logger.Error("VerificationRepositoryError", zap.Error(err)) - return nil, err + if r.err(err) { + return nil, err + } } return &result, nil @@ -140,8 +143,9 @@ func (r *VerificationRepository) GetByUserID(ctx context.Context, userID string) func (r *VerificationRepository) Get(ctx context.Context, id string) (*models.Verification, error) { if id == "" { err := errors.New("_id cannot be empty") - r.logger.Error("VerificationRepositoryError", zap.Error(err)) - return nil, err + if r.err(err) { + return nil, err + } } filter := bson.M{ @@ -154,8 +158,9 @@ func (r *VerificationRepository) Get(ctx context.Context, id string) (*models.Ve if err == mongo.ErrNoDocuments { return nil, nil } - r.logger.Error("VerificationRepositoryError", zap.Error(err)) - return nil, err + if r.err(err) { + return nil, err + } } return &result, nil @@ -195,17 +200,17 @@ func (r *VerificationRepository) UpdateFile(ctx context.Context, userID, fileNam return nil, err } - fileURL := fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, fileHeader.Filename) + fileURL := fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, fileHeader.Filename) // remove old file verification, err := r.GetByUserID(ctx, userID) if r.err(err) { return nil, err } - - if verification == nil { - return nil, fmt.Errorf("no verification found") - } + + if verification == nil { + return nil, fmt.Errorf("no verification found") + } found := false for iterator, file := range verification.Files { @@ -228,7 +233,6 @@ func (r *VerificationRepository) UpdateFile(ctx context.Context, userID, fileNam // update in mongodb - result, err := r.Update(ctx, &models.Verification{ID: verification.ID, Files: verification.Files}) if r.err(err) { return nil, err diff --git a/internal/server/middleware.go b/internal/server/middleware.go index dcc36cf..b464658 100644 --- a/internal/server/middleware.go +++ b/internal/server/middleware.go @@ -4,14 +4,16 @@ import ( "gitea.pena/PenaSide/verification/internal/models" "strings" - "github.com/gofiber/fiber/v2" "gitea.pena/PenaSide/common/jwt_adapter" + "github.com/gofiber/fiber/v2" ) +const localUserIDHeader = "LocalUserID" + func LocalJwt() fiber.Handler { return func(c *fiber.Ctx) error { - if c.Get("LocalUserID") != "" { - c.Locals("userID", c.Get("LocalUserID")) + if c.Get(localUserIDHeader) != "" { + c.Locals("userID", c.Get(localUserIDHeader)) } return c.Next() diff --git a/internal/utils/utils.go b/internal/utils/utils.go new file mode 100644 index 0000000..b5876c2 --- /dev/null +++ b/internal/utils/utils.go @@ -0,0 +1,11 @@ +package utils + +import "fmt" + +func GenerateFilePath(folder, userID, filename string) string { + return fmt.Sprintf("%s/%s/%s", folder, userID, filename) +} + +func GenerateURL(baseURL, folder, userID, filename string) string { + return fmt.Sprintf("%s/%s/%s/%s", baseURL, folder, userID, filename) +} diff --git a/test.env b/test.env index 6a89eaf..1fa51ec 100644 --- a/test.env +++ b/test.env @@ -1,20 +1,14 @@ -TELEGRAM_TOKEN=6712573453:AAFbioUuXf0Te73MUCqa0_h09qEQ1iQREas -TELEGRAM_CHANNEL_ID=542073142 -HTTP_ADDRESS_USER=0.0.0.0:8080 -HTTP_ADDRESS_ADMIN=0.0.0.0:8081 -MONGO_HOST=localhost -MONGO_PORT=27020 -MONGO_USER=test -MONGO_PASSWORD=test -MONGO_AUTH=admin -MONGO_DATABASE_NAME=admin -S3_ENDPOINT=localhost:9005 -S3_ACCESS_KEY_ID=admin +TELEGRAM_TOKEN=6712573453:AAFqTOsgwe_j48ZQ1GzWKQDT5Nwr-SAWjz8 +TELEGRAM_CHANNEL_ID=-1002177203276 +CLIENT_HTTP_URL=0.0.0.0:8080 +ADMIN_HTTP_URL=0.0.0.0:8081 +MONGO_URL=mongodb://test:test@localhost:27020/ +MONGO_DB_NAME=admin +S3_ACCESS_KEY=admin S3_SECRET_KEY=admin123 -CUSTOMER_SVC_ADDRESS=localhost:9003 -STAGING_URL=https://sadmin.pena +VERIFICATION_MICROSERVICE_URL=https://sadmin.pena S3_FOLDER=videodata S3_FILE_URL=http://localhost:9005/videodata -CUSTOMER_RPC_HOST=localhost:9003 +CUSTOMER_MICROSERVICE_RPC_URL=localhost:9003 TRASH_LOG_HOST=localhost:7113 -MODULE_LOGGER=verify-local +S3_ENDPOINT=localhost:9000 \ No newline at end of file