Merge remote-tracking branch 'origin/egrule' into staging
This commit is contained in:
commit
e54ae65ddb
@ -59,9 +59,6 @@ paths:
|
||||
rule:
|
||||
type: string
|
||||
format: base64
|
||||
egrule:
|
||||
type: string
|
||||
format: base64
|
||||
certificate:
|
||||
type: string
|
||||
description: только для status == nko
|
||||
@ -120,9 +117,6 @@ paths:
|
||||
rule:
|
||||
type: string
|
||||
format: base64
|
||||
egrule:
|
||||
type: string
|
||||
format: base64
|
||||
certificate:
|
||||
type: string
|
||||
description: только для status == nko
|
||||
|
@ -81,13 +81,6 @@ func (r *VerifyUserController) CreateVerification(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "rule file required")
|
||||
}
|
||||
|
||||
// EGRULE FILE
|
||||
egruleFH, err := c.FormFile("egrule")
|
||||
|
||||
if err != nil || egruleFH.Size == 0 || egruleFH == nil {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "egrule file required")
|
||||
}
|
||||
|
||||
// CERTIFICATE FILE
|
||||
var certFH *multipart.FileHeader
|
||||
if req.Status == "nko" {
|
||||
@ -104,7 +97,7 @@ func (r *VerifyUserController) CreateVerification(c *fiber.Ctx) error {
|
||||
Accepted: false,
|
||||
Status: req.Status,
|
||||
Comment: "",
|
||||
}, innFH, ruleFH, egruleFH, certFH)
|
||||
}, innFH, ruleFH, certFH)
|
||||
if err != nil {
|
||||
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
|
||||
}
|
||||
@ -131,7 +124,7 @@ func (r *VerifyUserController) SetVerificationFile(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusUnauthorized)
|
||||
}
|
||||
|
||||
availableFiles := []string{"inn", "rule", "egrule", "certificate"}
|
||||
availableFiles := []string{"inn", "rule", "certificate"}
|
||||
var err error
|
||||
var fileHeader *multipart.FileHeader
|
||||
var result *models.Verification
|
||||
|
@ -18,9 +18,9 @@ import (
|
||||
)
|
||||
|
||||
type VerificationRepository struct {
|
||||
logger *zap.Logger
|
||||
mongo *mongo.Collection
|
||||
s3 *minio.Client
|
||||
logger *zap.Logger
|
||||
mongo *mongo.Collection
|
||||
s3 *minio.Client
|
||||
folder, url string
|
||||
}
|
||||
|
||||
@ -36,14 +36,14 @@ func NewVerificationRepository(logger *zap.Logger, mongoDb *mongo.Database, s3 *
|
||||
mongo: mongoDb.Collection(VerificationCollection),
|
||||
s3: s3,
|
||||
folder: folder,
|
||||
url: url,
|
||||
url: url,
|
||||
}
|
||||
}
|
||||
func (r *VerificationRepository) Insert(
|
||||
ctx context.Context,
|
||||
userID string,
|
||||
record *models.Verification,
|
||||
innFH, ruleFH, egruleFH, certFH *multipart.FileHeader) (*models.Verification, error) {
|
||||
innFH, ruleFH, certFH *multipart.FileHeader) (*models.Verification, error) {
|
||||
now := time.Now()
|
||||
record.ID = primitive.NewObjectIDFromTimestamp(now).Hex()
|
||||
record.UpdatedAt = now
|
||||
@ -70,17 +70,6 @@ func (r *VerificationRepository) Insert(
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Put egrule file
|
||||
egrule, err := egruleFH.Open()
|
||||
if r.err(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, err = r.s3.PutObject(ctx, VerificationBucket, fmt.Sprintf("%s/%s/%s", r.folder, userID, egruleFH.Filename), egrule, egruleFH.Size, minio.PutObjectOptions{})
|
||||
if r.err(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Put certificate file
|
||||
if certFH != nil {
|
||||
cert, err := certFH.Open()
|
||||
@ -105,15 +94,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: fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, innFH.Filename),
|
||||
},
|
||||
{
|
||||
Name: "rule",
|
||||
Url: fmt.Sprintf("%s/%s/%s/%s", r.url,r.folder, userID, ruleFH.Filename),
|
||||
},
|
||||
{
|
||||
Name: "egrule",
|
||||
Url: fmt.Sprintf("%s/%s/%s/%s", r.url,r.folder, userID, egruleFH.Filename),
|
||||
Url: fmt.Sprintf("%s/%s/%s/%s", r.url, r.folder, userID, ruleFH.Filename),
|
||||
},
|
||||
}...)
|
||||
|
||||
@ -210,38 +195,6 @@ 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)
|
||||
|
||||
// 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")
|
||||
}
|
||||
|
||||
found := false
|
||||
for iterator, file := range verification.Files {
|
||||
if file.Name != fileName {
|
||||
continue
|
||||
}
|
||||
|
||||
objectName := strings.ReplaceAll(file.Url, fmt.Sprintf("%v/%v/", r.url, VerificationBucket), "")
|
||||
if err = r.s3.RemoveObject(ctx, VerificationBucket, objectName, minio.RemoveObjectOptions{}); r.err(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
verification.Files[iterator] = models.VerificationFile{Name: file.Name, Url: fileURL}
|
||||
found = true
|
||||
}
|
||||
|
||||
if !found {
|
||||
verification.Files = append(verification.Files, models.VerificationFile{Name: fileName, Url: fileURL})
|
||||
}
|
||||
|
||||
// update in mongodb
|
||||
result, err := r.Update(ctx, &models.Verification{ID: verification.ID, Files: verification.Files})
|
||||
if r.err(err) {
|
||||
return nil, err
|
||||
|
@ -61,10 +61,6 @@ paths:
|
||||
type: file
|
||||
contentMediaType: application/pdf
|
||||
contentEncoding: base64
|
||||
egrule:
|
||||
type: file
|
||||
contentMediaType: application/pdf
|
||||
contentEncoding: base64
|
||||
certificate:
|
||||
type: file
|
||||
description: только для status == nko
|
||||
|
@ -33,7 +33,6 @@ func Test_SetVerify(t *testing.T) {
|
||||
}{
|
||||
{"inn", "files/inn"},
|
||||
{"rule", "files/rule"},
|
||||
{"egrule", "files/egrule"},
|
||||
{"certificate", "files/certificate"},
|
||||
}
|
||||
for _, file := range files {
|
||||
|
@ -32,7 +32,6 @@ func Test_PutFile(t *testing.T) {
|
||||
}{
|
||||
{"inn", "files/inn"},
|
||||
{"rule", "files/rule"},
|
||||
{"egrule", "files/egrule"},
|
||||
{"certificate", "files/certificate"},
|
||||
}
|
||||
for _, file := range files {
|
||||
|
Loading…
Reference in New Issue
Block a user