some upd
This commit is contained in:
parent
373fbc9c89
commit
8096c7703f
@ -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())
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
11
internal/utils/utils.go
Normal file
11
internal/utils/utils.go
Normal file
@ -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)
|
||||
}
|
26
test.env
26
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
|
Loading…
Reference in New Issue
Block a user