customer/internal/interface/swagger/models.gen.go

189 lines
6.7 KiB
Go
Raw Normal View History

2023-06-22 09:36:43 +00:00
// Package swagger provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.
package swagger
import (
"time"
)
const (
BearerScopes = "Bearer.Scopes"
)
// Defines values for AccountStatus.
const (
Nko AccountStatus = "nko"
No AccountStatus = "no"
Org AccountStatus = "org"
)
// Defines values for PaymentType.
const (
PaymentTypeAlfabank PaymentType = "alfabank"
PaymentTypeB2bSberbank PaymentType = "b2bSberbank"
PaymentTypeBankCard PaymentType = "bankCard"
PaymentTypeCash PaymentType = "cash"
PaymentTypeInstallments PaymentType = "installments"
PaymentTypeMobile PaymentType = "mobile"
PaymentTypeQiwi PaymentType = "qiwi"
PaymentTypeSberbank PaymentType = "sberbank"
PaymentTypeSbp PaymentType = "sbp"
PaymentTypeTinkoffBank PaymentType = "tinkoffBank"
PaymentTypeYoomoney PaymentType = "yoomoney"
)
// Account defines model for Account.
type Account struct {
Id string `json:"_id"`
Cart []string `json:"cart"`
CreatedAt time.Time `json:"createdAt"`
DeletedAt *time.Time `json:"deletedAt,omitempty"`
IsDeleted *bool `json:"isDeleted,omitempty"`
Name Name `json:"name"`
Status AccountStatus `json:"status"`
UpdatedAt time.Time `json:"updatedAt"`
UserId string `json:"userId"`
Wallet Wallet `json:"wallet"`
}
// AccountStatus defines model for AccountStatus.
type AccountStatus string
// BankCard defines model for BankCard.
type BankCard struct {
// Cardholder Имя владельца карты
Cardholder *string `json:"cardholder,omitempty"`
// Csc Код CVC2 или CVV2, 3 или 4 символа, печатается на обратной стороне карты
Csc *string `json:"csc,omitempty"`
// ExpiryMonth Месяц истечения срока карты (MM)
ExpiryMonth string `json:"expiryMonth"`
// ExpiryYear Год истечения срока карты (YYYY)
ExpiryYear string `json:"expiryYear"`
// Number Номер карты
Number string `json:"number"`
}
// Error defines model for Error.
type Error struct {
Message string `json:"message"`
StatusCode *int64 `json:"statusCode,omitempty"`
}
// History defines model for History.
type History struct {
Comment string `json:"comment"`
CreatedAt time.Time `json:"createdAt"`
DeletedAt *time.Time `json:"deletedAt,omitempty"`
Id string `json:"id"`
IsDeleted *bool `json:"isDeleted,omitempty"`
// RawDetails Я пока не могу предположить, какие будут фильтры по истории, поэтому предлагаю в это поле просто класть строку с json. Ибо для каждого типа записи она своя.
RawDetails *string `json:"rawDetails,omitempty"`
Type string `json:"type"`
UpdatedAt time.Time `json:"updatedAt"`
UserId string `json:"userId"`
}
// Name defines model for Name.
type Name struct {
Firstname *string `json:"firstname,omitempty"`
Middlename *string `json:"middlename,omitempty"`
Orgname *string `json:"orgname,omitempty"`
Secondname *string `json:"secondname,omitempty"`
}
// PaymentType defines model for PaymentType.
type PaymentType string
// Wallet defines model for Wallet.
type Wallet struct {
// Cash Сумма money переведённая на текущий курс
Cash int64 `json:"cash"`
// Currency Текущий курс валюты
Currency string `json:"currency"`
// Money Деньги на счету в копейках. Чтобы при перессчётах не возникало денег изниоткуда. фиксируемся к одной валюте, она будет внутренней, никому её не покажем
Money int64 `json:"money"`
// PurchasesAmount Общая сумма денег, которые внёс пользователь
PurchasesAmount int64 `json:"purchasesAmount"`
// Spent Общая сумма потраченных денег за всё время существования аккаунта
Spent int64 `json:"spent"`
}
// SetAccountVerificationStatusJSONBody defines parameters for SetAccountVerificationStatus.
type SetAccountVerificationStatusJSONBody struct {
Status *AccountStatus `json:"status,omitempty"`
}
// PaginationAccountsParams defines parameters for PaginationAccounts.
type PaginationAccountsParams struct {
// Page Номер страницы, начиная с 1
Page *int `form:"page,omitempty" json:"page,omitempty"`
// Limit размер страницы
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}
// RemoveFromCartParams defines parameters for RemoveFromCart.
type RemoveFromCartParams struct {
Id string `form:"id" json:"id"`
}
// Add2cartParams defines parameters for Add2cart.
type Add2cartParams struct {
Id string `form:"id" json:"id"`
}
// UpdateCurrenciesJSONBody defines parameters for UpdateCurrencies.
type UpdateCurrenciesJSONBody = []string
// GetHistoryParams defines parameters for GetHistory.
type GetHistoryParams struct {
// Page Номер страницы, начиная с 1
Page *int `form:"page,omitempty" json:"page,omitempty"`
// Limit Размер страницы
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}
// ChangeCurrencyJSONBody defines parameters for ChangeCurrency.
type ChangeCurrencyJSONBody struct {
Currency string `json:"currency"`
}
// RequestMoneyJSONBody defines parameters for RequestMoney.
type RequestMoneyJSONBody struct {
Amount int `json:"amount"`
BankCard *BankCard `json:"bankCard,omitempty"`
// Currency ISO-4217 формат
Currency string `json:"currency"`
Login *string `json:"login,omitempty"`
PhoneNumber *string `json:"phoneNumber,omitempty"`
ReturnUrl *string `json:"returnUrl,omitempty"`
Type PaymentType `json:"type"`
}
// ChangeAccountJSONRequestBody defines body for ChangeAccount for application/json ContentType.
type ChangeAccountJSONRequestBody = Name
// SetAccountVerificationStatusJSONRequestBody defines body for SetAccountVerificationStatus for application/json ContentType.
type SetAccountVerificationStatusJSONRequestBody SetAccountVerificationStatusJSONBody
// UpdateCurrenciesJSONRequestBody defines body for UpdateCurrencies for application/json ContentType.
type UpdateCurrenciesJSONRequestBody = UpdateCurrenciesJSONBody
// ChangeCurrencyJSONRequestBody defines body for ChangeCurrency for application/json ContentType.
type ChangeCurrencyJSONRequestBody ChangeCurrencyJSONBody
// RequestMoneyJSONRequestBody defines body for RequestMoney for application/json ContentType.
type RequestMoneyJSONRequestBody RequestMoneyJSONBody