tariffs/src/swagger/tariff/models.ts

149 lines
4.0 KiB
TypeScript

import type { SwaggerMessage } from "@/types/swagger.type";
export const tariff: SwaggerMessage = {
type: "object",
description: "Тариф",
properties: {
_id: { type: "string" },
name: { type: "string" },
description: { type: "string" },
price: { type: "number" },
order: { type: "number" },
isCustom: { type: "boolean" },
privileges: {
type: "array",
items: {
type: "object",
properties: {
name: { type: "string" },
privilegeId: { type: "string" },
serviceKey: { type: "string" },
description: { type: "string" },
type: { type: "string" },
value: { type: "string" },
price: { type: "number" },
amount: { type: "number" },
},
},
},
isDeleted: { type: "boolean" },
createdAt: {
type: "string",
format: "date-time",
},
updatedAt: {
type: "string",
format: "date-time",
},
deletedAt: {
type: "string",
format: "date-time",
},
},
examples: [
{
name: "Использование сервисов",
price: 14000,
isCustom: false,
privileges: [
{
name: "name",
privilegeId: "507f1f77bcf86cd799439011",
serviceKey: "docx-templater-service",
description: "Количество попыток использования",
type: "count",
value: "200",
price: 12300,
amount: 300,
},
],
isDeleted: false,
createdAt: "2017-07-21T17:32:28Z",
updatedAt: "2017-07-21T17:32:28Z",
},
{
name: "user",
price: 14000,
isCustom: false,
privileges: [
{
name: "507f1f77bcf86cd799439011",
privilegeId: "507f1f77bcf86cd799439011",
serviceKey: "docx-templater-service",
description: "Количество попыток использования",
type: "count",
value: "200",
price: 12300,
amount: 100,
},
],
isDeleted: true,
createdAt: "2017-07-21T17:32:28Z",
updatedAt: "2019-04-14T15:32:15Z",
deletedAt: "2021-08-17T13:23:44Z",
},
],
};
export const tariffs: SwaggerMessage = {
description: "Список тарифов",
type: "object",
required: ["tariffs", "totalPages"],
properties: {
tariffs: {
type: "array",
description: "Массив тарифов",
items: tariff,
},
totalPages: { type: "number" },
},
examples: [
{
totalPages: 10,
tariffs: [
{
name: "Использование сервисов",
price: 14000,
isCustom: false,
privileges: [
{
name: "name",
privilegeId: "507f1f77bcf86cd799439011",
serviceKey: "docx-templater-service",
description: "Количество попыток использования",
type: "count",
value: "200",
price: 12300,
amount: 300,
},
],
isDeleted: false,
createdAt: "2017-07-21T17:32:28Z",
updatedAt: "2017-07-21T17:32:28Z",
},
{
name: "user",
price: 14000,
isCustom: false,
privileges: [
{
name: "507f1f77bcf86cd799439011",
privilegeId: "507f1f77bcf86cd799439011",
serviceKey: "docx-templater-service",
description: "Количество попыток использования",
type: "count",
value: "200",
price: 12300,
amount: 100,
},
],
isDeleted: true,
createdAt: "2017-07-21T17:32:28Z",
updatedAt: "2019-04-14T15:32:15Z",
deletedAt: "2021-08-17T13:23:44Z",
},
],
},
],
};