generated from PenaSide/GolangTemplate
feat: Sanitize models
This commit is contained in:
parent
4c913b4cfb
commit
d86b342c29
@ -105,11 +105,7 @@ func (receiver *AccountRepository) FindMany(ctx context.Context, page, limit int
|
||||
}
|
||||
|
||||
func (receiver *AccountRepository) Insert(ctx context.Context, account *models.Account) (*models.Account, errors.Error) {
|
||||
account.CreatedAt = time.Now()
|
||||
account.UpdatedAt = time.Now()
|
||||
account.Deleted = false
|
||||
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, account)
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, account.Sanitize())
|
||||
if err != nil {
|
||||
receiver.logger.Error("failed to insert account on <Insert> of <AccountRepository>",
|
||||
zap.Any("account", account),
|
||||
|
@ -109,11 +109,7 @@ func (receiver *CurrencyRepository) ReplaceCurrencies(ctx context.Context, list
|
||||
}
|
||||
|
||||
func (receiver *CurrencyRepository) Insert(ctx context.Context, list *models.CurrencyList) (*models.CurrencyList, errors.Error) {
|
||||
list.CreatedAt = time.Now()
|
||||
list.UpdatedAt = time.Now()
|
||||
list.Deleted = false
|
||||
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, list)
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, list.Sanitize())
|
||||
if err != nil {
|
||||
receiver.logger.Error("failed to insert currency list on <Insert> of <CurrencyRepository>",
|
||||
zap.Any("list", list),
|
||||
|
@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
@ -43,11 +42,7 @@ func NewHistoryRepository(deps HistoryRepositoryDeps) *HistoryRepository {
|
||||
}
|
||||
|
||||
func (receiver *HistoryRepository) Insert(ctx context.Context, history *models.History) (*models.History, errors.Error) {
|
||||
history.CreatedAt = time.Now()
|
||||
history.UpdatedAt = time.Now()
|
||||
history.Deleted = false
|
||||
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, history)
|
||||
result, err := receiver.mongoDB.InsertOne(ctx, history.Sanitize())
|
||||
if err != nil {
|
||||
receiver.logger.Error("failed to insert history on <Insert> of <HistoryRepository>",
|
||||
zap.Any("history", history),
|
||||
|
@ -9,12 +9,28 @@ type Account struct {
|
||||
Wallet Wallet `json:"wallet" bson:"wallet"`
|
||||
Name Name `json:"name" bson:"name"`
|
||||
Status AccountStatus `json:"status" bson:"status"`
|
||||
Deleted bool `json:"deleted" bson:"deleted"`
|
||||
Deleted bool `json:"isDeleted" bson:"isDeleted"`
|
||||
CreatedAt time.Time `json:"createdAt" bson:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt" bson:"updatedAt"`
|
||||
DeletedAt *time.Time `json:"deletedAt,omitempty" bson:"deletedAt,omitempty"`
|
||||
}
|
||||
|
||||
func (receiver *Account) Sanitize() *Account {
|
||||
now := time.Now()
|
||||
|
||||
receiver.ID = ""
|
||||
receiver.Cart = []string{}
|
||||
receiver.Wallet = Wallet{}
|
||||
receiver.Name = Name{}
|
||||
receiver.Status = DefaultAccountStatus
|
||||
receiver.CreatedAt = now
|
||||
receiver.UpdatedAt = now
|
||||
receiver.DeletedAt = nil
|
||||
receiver.Deleted = false
|
||||
|
||||
return receiver
|
||||
}
|
||||
|
||||
type Name struct {
|
||||
Lastname string `json:"lastname,omitempty"`
|
||||
FirstName string `json:"firstname,omitempty"`
|
||||
|
@ -8,12 +8,24 @@ type CurrencyList struct {
|
||||
ID string `json:"id" bson:"_id,omitempty"`
|
||||
Name string `json:"name" bson:"name"`
|
||||
Currencies []CurrencyKey `json:"currencies" bson:"currencies"`
|
||||
Deleted bool `json:"deleted" bson:"deleted"`
|
||||
Deleted bool `json:"isDeleted" bson:"isDeleted"`
|
||||
CreatedAt time.Time `json:"createdAt" bson:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt" bson:"updatedAt"`
|
||||
DeletedAt *time.Time `json:"deletedAt,omitempty" bson:"deletedAt,omitempty"`
|
||||
}
|
||||
|
||||
func (receiver *CurrencyList) Sanitize() *CurrencyList {
|
||||
now := time.Now()
|
||||
|
||||
receiver.ID = ""
|
||||
receiver.CreatedAt = now
|
||||
receiver.UpdatedAt = now
|
||||
receiver.DeletedAt = nil
|
||||
receiver.Deleted = false
|
||||
|
||||
return receiver
|
||||
}
|
||||
|
||||
const (
|
||||
DefaultCurrencyListName = "currency_list"
|
||||
InternalCurrencyKey CurrencyKey = "RUB"
|
||||
|
@ -2,7 +2,6 @@ package models
|
||||
|
||||
import "time"
|
||||
|
||||
// TODO: обновить модель истории.
|
||||
// TODO: метод для установки стандартных значений при создании модели в БД (ко всем моделям)
|
||||
// TODO: добавить истории
|
||||
|
||||
@ -12,12 +11,24 @@ type History struct {
|
||||
Comment string `json:"comment" bson:"comment"`
|
||||
Key string `json:"key" bson:"key"`
|
||||
RawDetails string `json:"rawDetails" bson:"rawDetails"`
|
||||
Deleted bool `json:"deleted" bson:"deleted"`
|
||||
Deleted bool `json:"isDeleted" bson:"isDeleted"`
|
||||
CreatedAt time.Time `json:"createdAt" bson:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt" bson:"updatedAt"`
|
||||
DeletedAt *time.Time `json:"deletedAt,omitempty" bson:"deletedAt,omitempty"`
|
||||
}
|
||||
|
||||
func (receiver *History) Sanitize() *History {
|
||||
now := time.Now()
|
||||
|
||||
receiver.ID = ""
|
||||
receiver.CreatedAt = now
|
||||
receiver.UpdatedAt = now
|
||||
receiver.DeletedAt = nil
|
||||
receiver.Deleted = false
|
||||
|
||||
return receiver
|
||||
}
|
||||
|
||||
// TODO: применять эти типы тарифов при кейсах (операция не обязательная)
|
||||
|
||||
type CustomerHistoryKey string
|
||||
|
@ -595,7 +595,7 @@ components:
|
||||
type: string
|
||||
enum: ["no", "org", "nko"]
|
||||
default: "no"
|
||||
deleted:
|
||||
isDeleted:
|
||||
type: boolean
|
||||
example: false
|
||||
createdAt:
|
||||
@ -692,7 +692,7 @@ components:
|
||||
type:
|
||||
type: string
|
||||
example: "customer.tariffEnded"
|
||||
deleted:
|
||||
isDeleted:
|
||||
type: boolean
|
||||
example: false
|
||||
createdAt:
|
||||
|
Loading…
Reference in New Issue
Block a user