customer/internal/interface/swagger/models.gen.go
2024-04-26 19:00:22 +03:00

300 lines
11 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package swagger provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 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
// PromoLtvStat defines model for PromoLtvStat.
type PromoLtvStat struct {
// Stats мапа ключ id промо, знчение количество регистраций и количество денег
Stats *map[string]struct {
// Money количество денег
Money *int `json:"money,omitempty"`
// Regs количество регистраций
Regs *int `json:"regs,omitempty"`
} `json:"stats,omitempty"`
}
// QuizLogoStat defines model for QuizLogoStat.
type QuizLogoStat = []struct {
// Id user id
Id *string `json:"id,omitempty"`
// Money Количество денег
Money *int `json:"money,omitempty"`
Quizes *[]struct {
// Money Количество денег
Money *int `json:"money,omitempty"`
// Quiz qid quiz
Quiz *string `json:"quiz,omitempty"`
// Regs Количество регистраций
Regs *int `json:"regs,omitempty"`
} `json:"quizes,omitempty"`
// Regs Количество регистраций
Regs *int `json:"regs,omitempty"`
}
// TariffID defines model for TariffID.
type TariffID struct {
ID *string `json:"ID,omitempty"`
}
// 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"`
// Type Тип события
Type *string `form:"type,omitempty" json:"type,omitempty"`
// AccountID Идентификатор аккаунта. Если не указан, будет использоваться идентификатор из токена.
AccountID *string `form:"accountID,omitempty" json:"accountID,omitempty"`
}
// CalculateLTVJSONBody defines parameters for CalculateLTV.
type CalculateLTVJSONBody struct {
// From Начальная дата в формате Unix timestamp. Если 0, устанавливает начало истории.
From int64 `json:"from"`
// To Конечная дата в формате Unix timestamp. Если 0, устанавливает текущее время.
To int64 `json:"to"`
}
// PromocodeLTVJSONBody defines parameters for PromocodeLTV.
type PromocodeLTVJSONBody struct {
// From таймштамп времени, после которого выбирать статистику
From int `json:"from"`
// To таймштамп времени, до которого выбирать статистику
To int `json:"to"`
}
// QuizLogoStatJSONBody defines parameters for QuizLogoStat.
type QuizLogoStatJSONBody struct {
// From таймштамп времени, после которого выбирать статистику. если 0 или не передано - этого ограничения нет. нижняя граница времени
From *int `json:"from,omitempty"`
// Limit лимит выборки
Limit *int `json:"limit,omitempty"`
// Page страница выборки
Page *int `json:"page,omitempty"`
// To таймштамп времени, до которого выбирать статистику. если 0 или не передано - этого ограничения нет. верхняя граница времени
To *int `json:"to,omitempty"`
}
// GetRecentTariffsJSONBody defines parameters for GetRecentTariffs.
type GetRecentTariffsJSONBody struct {
Id string `json:"id"`
}
// SendReportJSONBody defines parameters for SendReport.
type SendReportJSONBody struct {
Id string `json:"id"`
}
// 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"`
}
// PostWalletRspayJSONBody defines parameters for PostWalletRspay.
type PostWalletRspayJSONBody struct {
Money *float32 `json:"money,omitempty"`
}
// 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
// CalculateLTVJSONRequestBody defines body for CalculateLTV for application/json ContentType.
type CalculateLTVJSONRequestBody CalculateLTVJSONBody
// PromocodeLTVJSONRequestBody defines body for PromocodeLTV for application/json ContentType.
type PromocodeLTVJSONRequestBody PromocodeLTVJSONBody
// QuizLogoStatJSONRequestBody defines body for QuizLogoStat for application/json ContentType.
type QuizLogoStatJSONRequestBody QuizLogoStatJSONBody
// GetRecentTariffsJSONRequestBody defines body for GetRecentTariffs for application/json ContentType.
type GetRecentTariffsJSONRequestBody GetRecentTariffsJSONBody
// SendReportJSONRequestBody defines body for SendReport for application/json ContentType.
type SendReportJSONRequestBody SendReportJSONBody
// ChangeCurrencyJSONRequestBody defines body for ChangeCurrency for application/json ContentType.
type ChangeCurrencyJSONRequestBody ChangeCurrencyJSONBody
// RequestMoneyJSONRequestBody defines body for RequestMoney for application/json ContentType.
type RequestMoneyJSONRequestBody RequestMoneyJSONBody
// PostWalletRspayJSONRequestBody defines body for PostWalletRspay for application/json ContentType.
type PostWalletRspayJSONRequestBody PostWalletRspayJSONBody