Change the api and add some new feature

This commit is contained in:
2026-04-30 21:26:18 +06:00
parent b09fdfc255
commit d2b320f3b1
3 changed files with 156 additions and 1 deletions
+8
View File
@@ -93,6 +93,14 @@ const get_all_order_from_db = async (req: Request) => {
where: { where: {
AND: andCondition, AND: andCondition,
}, },
select: {
id: true,
customerName: true,
productQuantity: true,
productPrice: true,
status: true,
createdAt: true,
},
orderBy: { orderBy: {
[sortBy as string]: sortOrder, [sortBy as string]: sortOrder,
}, },
+10 -1
View File
@@ -5,7 +5,16 @@ import { AppError } from "../../utils/app_error.js";
const get_all_plan_from_db = async (req: Request) => { const get_all_plan_from_db = async (req: Request) => {
// define your own login here // define your own login here
const result = await prisma.plan.findMany(); const result = await prisma.plan.findMany({
select:{
planName: true,
price: true,
planType: true,
planDesc: true,
planFeatures: true,
}
});
return result; return result;
}; };
@@ -0,0 +1,138 @@
export const staticticsSwaggerDocs = {
"/api/statictics": {
post: {
tags: ["statictics"],
summary: "Create new statictics",
description: "",
requestBody: {
required: true,
content: {
"application/json": {
example: JSON.stringify({}), // put your request body
},
},
},
responses: {
201: { description: "statictics created successfully" },
500: { description: "Validation error or internal server error" },
},
},
get: {
tags: ["statictics"],
summary: "Get all statictics",
description: "",
parameters: [
{
name: "page",
in: "query",
required: false,
schema: { type: "number" },
},
{
name: "limit",
in: "query",
required: false,
schema: { type: "number" },
},
],
responses: {
200: { description: "statictics fetched successfully" },
401: { description: "unauthorized" },
},
},
},
"/api/statictics/seller": {
get: {
tags: ["statistics"],
summary: "Get seller statistics",
description: "Fetch seller dashboard stats (7d, 30d, all)",
parameters: [
{
name: "range",
in: "query",
required: false,
schema: {
type: "string",
enum: ["7d", "30d", "all"],
default: "7d",
},
description: "Time range for statistics",
},
],
responses: {
200: {
description: "Statistics fetched successfully",
},
401: {
description: "Unauthorized",
},
},
},
},
"/api/statictics/{id}": {
get: {
tags: ["statictics"],
summary: "Get single statictics",
description: "",
parameters: [
{
name: "id",
in: "path",
required: true,
schema: { type: "string" },
},
],
responses: {
200: { description: "statictics fetched successfully" },
401: { description: "unauthorized" },
},
},
patch: {
tags: ["statictics"],
summary: "Update statictics",
description: "",
parameters: [
{
name: "id",
in: "path",
required: true,
schema: { type: "string" },
},
],
requestBody: {
required: true,
content: {
"application/json": {
example: JSON.stringify({}), // put your request body
},
},
},
responses: {
200: { description: "statictics updated successfully" },
500: { description: "Validation error or internal server error" },
},
},
delete: {
tags: ["statictics"],
summary: "Delete statictics",
description: "",
parameters: [
{
name: "id",
in: "path",
required: true,
schema: { type: "string" },
},
],
responses: {
200: { description: "statictics delete successfully" },
401: { description: "unauthorized" },
},
},
},
};