Compare commits
2 Commits
509ff3ad27
...
1a9336608d
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a9336608d | |||
| b40ad8ecdb |
44
webapp/src/app/api/user/actions/services-all/route.ts
Normal file
44
webapp/src/app/api/user/actions/services-all/route.ts
Normal file
@ -0,0 +1,44 @@
|
||||
import dbConnect from "@/database/dbConnect";
|
||||
import { NextResponse } from "next/server";
|
||||
import serviceModel from "@/database/models/serviceModel";
|
||||
|
||||
// GET METHOD - Load all active services without pagination
|
||||
export async function GET(req: Request) {
|
||||
try {
|
||||
// connect to the db
|
||||
await dbConnect();
|
||||
|
||||
// get all active services
|
||||
const docs = await serviceModel.find({ status: "active" }).sort({ addedAt: -1 });
|
||||
|
||||
// prepare the return data
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: "docsGetedSuccessfully",
|
||||
data: {
|
||||
docs,
|
||||
docs_count: docs.length,
|
||||
}
|
||||
}, {
|
||||
status: 200,
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
// catch any error and return an error response
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
message: "serverError",
|
||||
}, {
|
||||
status: 500,
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// set the revalidate variable
|
||||
export const revalidate = 5;
|
||||
@ -18,7 +18,7 @@ import * as Yup from "yup";
|
||||
import Select from 'react-select'
|
||||
import { components } from 'react-select';
|
||||
import searchForServices from "@/functions/requests/members/searchForServices";
|
||||
import loadAllServices from "@/functions/requests/members/loadAllServices";
|
||||
import loadAllActiveServices from "@/functions/requests/members/loadAllActiveServices";
|
||||
|
||||
export default function AddPopUp()
|
||||
{
|
||||
@ -232,7 +232,7 @@ export default function AddPopUp()
|
||||
useEffect(() => {
|
||||
async function loadServices() {
|
||||
try {
|
||||
let docs = await loadAllServices();
|
||||
let docs = await loadAllActiveServices();
|
||||
let options = docs.map((v, i) => {
|
||||
return {value: v._id, label: v.name}
|
||||
});
|
||||
|
||||
@ -17,7 +17,7 @@ import DialogActions from '@mui/material/DialogActions';
|
||||
import CircularProgress from '@mui/material/CircularProgress';
|
||||
import Select from 'react-select'
|
||||
import { components } from 'react-select';
|
||||
import loadAllServices from "@/functions/requests/members/loadAllServices";
|
||||
import loadAllActiveServices from "@/functions/requests/members/loadAllActiveServices";
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
export default function UpdateSubPopUp()
|
||||
@ -135,7 +135,7 @@ export default function UpdateSubPopUp()
|
||||
useEffect(() => {
|
||||
async function loadServices() {
|
||||
try {
|
||||
let docs = await loadAllServices();
|
||||
let docs = await loadAllActiveServices();
|
||||
let options = docs.map((v, i) => {
|
||||
return {value: v._id, label: v.name}
|
||||
});
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
import axios from 'axios'
|
||||
import { IServicesSchema } from '@/types/IDB'
|
||||
|
||||
const ACTION_NAME = 'services-all'
|
||||
|
||||
export default async function loadAllActiveServices(): Promise<IServicesSchema[]> {
|
||||
const { data } = await axios.get(`/api/user/actions/${ACTION_NAME}`);
|
||||
const docs: IServicesSchema[] = data.data.docs;
|
||||
return docs;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user