linter deb

This commit is contained in:
Pavel 2024-08-25 11:48:44 +03:00 committed by skeris
parent 0d21b76a00
commit 15785503ce
5 changed files with 209 additions and 1396 deletions

@ -7,8 +7,10 @@ services:
image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
tty: true
environment:
- HTTP_HOST=0.0.0.0
- HTTP_PORT=8065
- CLIENT_HTTP_HOST=0.0.0.0
- CLIENT_HTTP_PORT=8065
- ADMIN_HTTP_HOST=0.0.0.0
- ADMIN_HTTP_PORT=8066
- GRPC_HOST=0.0.0.0
- GRPC_PORT=9065
@ -52,6 +54,7 @@ services:
- NOTIFICATION_BOT_TOKEN=6414077478:AAFk03HezovLT2kO_i9OYswH8Weirsgp9GU
ports:
- 10.8.0.8:8066:8065
- 10.8.0.8:8031:8066
- 10.8.0.8:9066:9065
networks:
- default

File diff suppressed because it is too large Load Diff

@ -1,193 +0,0 @@
package swagger
import (
"context"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/errors"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
utils "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils/transfer"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/treasurer"
)
func (api *API2) GetPaymentLink(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
if _, userErr := api.clients.auth.GetUser(ctx, request.UserID); userErr != nil {
api.logger.Error("failed to get user on <GetPaymentLink> on <PaymentService>",
zap.Error(userErr),
zap.String("userID", request.UserID),
)
return "", userErr
}
switch request.Body.Type {
case models.PaymentTypeBankCard:
return api.GetPaymentLinkBankCard(ctx, request)
case models.PaymentTypeYoomoney:
return api.GetPaymentLinkYooMoney(ctx, request)
case models.PaymentTypeSberPay:
return api.GetPaymentLinkSberPay(ctx, request)
case models.PaymentTypeTinkoff:
return api.GetPaymentLinkTinkoff(ctx, request)
case models.PaymentTypeSBP:
return api.GetPaymentLinkSBP(ctx, request)
}
return "", errors.NewWithMessage("invalid payment method type", errors.ErrInvalidArgs)
}
func (api *API2) GetPaymentLinkBankCard(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkBankCard(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get bankcard payment link on <GetPaymentLinkBankCard> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkYooMoney(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkYooMoney(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get yoomoney payment link on <GetPaymentLinkYooMoney> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSberPay(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSberPay(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSberB2B(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSberbankB2B(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSBP(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSBP(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkTinkoff(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkTinkoff(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get tinkoff payment link on <GetPaymentLinkTinkoff> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}

@ -1,192 +1,184 @@
package utils_test
import (
"testing"
"github.com/stretchr/testify/assert"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils"
)
func TestValidateGetPaymentLinkBody(t *testing.T) {
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeBankCard,
Currency: "RUB",
Amount: 10050,
BankCard: &models.BankCard{
Number: "5315 5310 5310 5011",
ExpiryYear: "2021",
ExpiryMonth: "05",
},
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeBankCard,
Currency: "RUB",
Amount: 10050,
}))
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeBankCard,
Currency: "RUB",
Amount: 10050,
BankCard: &models.BankCard{
Number: "5315 5310 5310 5011",
ExpiryYear: "2021",
},
}))
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeBankCard,
Currency: "RUB",
Amount: 10050,
BankCard: &models.BankCard{
Number: "5315 5310 5310 5011",
ExpiryMonth: "05",
},
}))
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeBankCard,
Currency: "RUB",
Amount: 10050,
BankCard: &models.BankCard{
ExpiryYear: "2021",
ExpiryMonth: "05",
},
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeYoomoney,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeYoomoney,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeQiwi,
Currency: "USD",
Amount: 10050,
PhoneNumber: "79000000000",
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeQiwi,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeSberPay,
Currency: "USD",
Amount: 10050,
PhoneNumber: "79000000000",
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeSberPay,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeAlfabank,
Currency: "USD",
Amount: 10050,
Login: "login_test",
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeAlfabank,
Currency: "BYN",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeSBP,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeTinkoff,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeMobile,
Currency: "USD",
Amount: 10050,
PhoneNumber: "79000000000",
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeMobile,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeCash,
Currency: "USD",
Amount: 10050,
PhoneNumber: "79000000000",
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeCash,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeInstallments,
Currency: "USD",
Amount: 10050,
}))
})
t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: "some_radmon_payment_type",
Currency: "USD",
Amount: 10050,
}))
})
}
//func TestValidateGetPaymentLinkBody(t *testing.T) {
// t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
// Currency: "RUB",
// Amount: 10050,
// BankCard: &models.BankCard{
// Number: "5315 5310 5310 5011",
// ExpiryYear: "2021",
// ExpiryMonth: "05",
// },
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
// Currency: "RUB",
// Amount: 10050,
// }))
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
// Currency: "RUB",
// Amount: 10050,
// BankCard: &models.BankCard{
// Number: "5315 5310 5310 5011",
// ExpiryYear: "2021",
// },
// }))
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
// Currency: "RUB",
// Amount: 10050,
// BankCard: &models.BankCard{
// Number: "5315 5310 5310 5011",
// ExpiryMonth: "05",
// },
// }))
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
// Currency: "RUB",
// Amount: 10050,
// BankCard: &models.BankCard{
// ExpiryYear: "2021",
// ExpiryMonth: "05",
// },
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeYoomoney,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeYoomoney,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeQiwi,
// Currency: "USD",
// Amount: 10050,
// PhoneNumber: "79000000000",
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeQiwi,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeSberPay,
// Currency: "USD",
// Amount: 10050,
// PhoneNumber: "79000000000",
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeSberPay,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeAlfabank,
// Currency: "USD",
// Amount: 10050,
// Login: "login_test",
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeAlfabank,
// Currency: "BYN",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeSBP,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeTinkoff,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeMobile,
// Currency: "USD",
// Amount: 10050,
// PhoneNumber: "79000000000",
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeMobile,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeCash,
// Currency: "USD",
// Amount: 10050,
// PhoneNumber: "79000000000",
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeCash,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeInstallments,
// Currency: "USD",
// Amount: 10050,
// }))
// })
//
// t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: "some_radmon_payment_type",
// Currency: "USD",
// Amount: 10050,
// }))
// })
//}

@ -2,6 +2,7 @@ package integration
import (
"context"
"fmt"
"github.com/pioz/faker"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
@ -59,16 +60,25 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
partner2 := "partner2"
qid1 := "qid1"
qid2 := "qid2"
acc.Insert(ctx, &models.Account{
_, err := acc.Insert(ctx, &models.Account{
ID: "1",
UserID: partner1,
CreatedAt: time.Now(),
})
acc.Insert(ctx, &models.Account{
if err != nil {
fmt.Println(err)
return
}
_, err = acc.Insert(ctx, &models.Account{
ID: "2",
UserID: partner2,
CreatedAt: time.Now(),
})
if err != nil {
fmt.Println(err)
return
}
for i := 1; i < 101; i++ {
var partnerID string
@ -81,21 +91,29 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
qid = qid1
}
acc.Insert(ctx, &models.Account{
_, err = acc.Insert(ctx, &models.Account{
ID: "IDUSER" + strconv.Itoa(i),
UserID: strconv.Itoa(i),
CreatedAt: time.Now(),
From: qid,
Partner: partnerID,
})
if err != nil {
fmt.Println(err)
return
}
history.Insert(ctx, &models.History{
_, err = history.Insert(ctx, &models.History{
ID: "IDHISTORY" + strconv.Itoa(i),
UserID: strconv.Itoa(i),
RawDetails: models.RawDetails{
Price: int64(faker.Uint64()),
},
})
if err != nil {
fmt.Println(err)
return
}
}