feat: tariff ordering support
This commit is contained in:
parent
e08c9246e2
commit
4355698db8
@ -31,7 +31,7 @@ export const getTariffs = async (request: GetTariffsRequest): Promise<GetTariffs
|
|||||||
const offset = (page - 1) * limit;
|
const offset = (page - 1) * limit;
|
||||||
|
|
||||||
const tariffs = await TariffModel.find({ $or: [{ isCustom: false }, { isCustom: true, userId: request.user.id }] })
|
const tariffs = await TariffModel.find({ $or: [{ isCustom: false }, { isCustom: true, userId: request.user.id }] })
|
||||||
.sort({ createdAt: "desc" })
|
.sort({ order: "asc" })
|
||||||
.skip(offset)
|
.skip(offset)
|
||||||
.limit(limit)
|
.limit(limit)
|
||||||
.lean();
|
.lean();
|
||||||
@ -78,6 +78,7 @@ export const createTariff = async (request: CreateTariffRequest, reply: FastifyR
|
|||||||
const newTariff = new TariffModel({
|
const newTariff = new TariffModel({
|
||||||
name: requestBody.name,
|
name: requestBody.name,
|
||||||
description: requestBody.description,
|
description: requestBody.description,
|
||||||
|
order: requestBody.order,
|
||||||
price: requestBody.price,
|
price: requestBody.price,
|
||||||
userId: request.user.id,
|
userId: request.user.id,
|
||||||
isCustom: requestBody.isCustom,
|
isCustom: requestBody.isCustom,
|
||||||
@ -134,6 +135,7 @@ export const replaceTariff = async (request: ReplaceTariffRequest, reply: Fastif
|
|||||||
});
|
});
|
||||||
|
|
||||||
await tariff.replaceOne({
|
await tariff.replaceOne({
|
||||||
|
order: requestBody.order,
|
||||||
name: requestBody.name,
|
name: requestBody.name,
|
||||||
price: requestBody.price,
|
price: requestBody.price,
|
||||||
isCustom: requestBody.isCustom,
|
isCustom: requestBody.isCustom,
|
||||||
|
@ -18,6 +18,10 @@ const schema: SchemaDefinition<Tariff> = {
|
|||||||
type: Number,
|
type: Number,
|
||||||
required: false,
|
required: false,
|
||||||
},
|
},
|
||||||
|
order: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -8,6 +8,7 @@ export const tariff: SwaggerMessage = {
|
|||||||
name: { type: "string" },
|
name: { type: "string" },
|
||||||
description: { type: "string" },
|
description: { type: "string" },
|
||||||
price: { type: "number" },
|
price: { type: "number" },
|
||||||
|
order: { type: "number" },
|
||||||
isCustom: { type: "boolean" },
|
isCustom: { type: "boolean" },
|
||||||
privileges: {
|
privileges: {
|
||||||
type: "array",
|
type: "array",
|
||||||
|
@ -6,6 +6,7 @@ export type Tariff = Eloquent & {
|
|||||||
userId: string;
|
userId: string;
|
||||||
description: string;
|
description: string;
|
||||||
price?: number;
|
price?: number;
|
||||||
|
order?: number;
|
||||||
isCustom: boolean;
|
isCustom: boolean;
|
||||||
privileges: Array<Omit<Privilege, keyof Eloquent>>;
|
privileges: Array<Omit<Privilege, keyof Eloquent>>;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user