diff --git a/src/app/auth/auth.service.ts b/src/app/auth/auth.service.ts index d05919e..6067562 100644 --- a/src/app/auth/auth.service.ts +++ b/src/app/auth/auth.service.ts @@ -61,14 +61,15 @@ export class AuthService { refreshAccessToken(refreshToken: string) { try { const user: any = this.verifyRefreshToken(refreshToken); - return this.generateAccessToken({ + const token = this.generateAccessToken({ id: user.id, email: user.email, role: user.role || 'user', }); + console.log('TOKEN', token); + return token; } catch (err) { - console.log(err); - throw new BadRequestError('Could not refresh access token'); + throw new BadRequestError(err); } } diff --git a/src/app/sales/customer/customer.controller.ts b/src/app/sales/customer/customer.controller.ts index ab5e3a7..6f35673 100644 --- a/src/app/sales/customer/customer.controller.ts +++ b/src/app/sales/customer/customer.controller.ts @@ -6,6 +6,11 @@ export default class CustomerController { constructor() { this.service = new CustomerService(); } + + getAllCustomers = asyncWrapper(async (req, res) => { + const data = await this.service.getAllCustomers(req.userId); + return res.json({ message: 'Customers fetched successfully', data }); + }); addNewCustomer = asyncWrapper(async (req, res) => { const data = await this.service.addCustomer(req.body, req.userId); return res.json({ message: 'Customer added successfully', data }); diff --git a/src/app/sales/customer/customer.model.ts b/src/app/sales/customer/customer.model.ts index 825b271..907bc04 100644 --- a/src/app/sales/customer/customer.model.ts +++ b/src/app/sales/customer/customer.model.ts @@ -1,13 +1,16 @@ import { Schema, model } from 'mongoose'; -const customerSchema = new Schema({ - user: { type: Schema.ObjectId, required: true }, - name: { type: String, required: true }, - phone: { type: String, required: true }, - email: { type: String, required: true }, - dueAmount: { type: Number }, - regNo: { type: String }, -}); +const customerSchema = new Schema( + { + user: { type: Schema.ObjectId, required: true }, + name: { type: String, required: true }, + phone: { type: String, required: true }, + email: { type: String, required: true }, + dueAmount: { type: Number }, + regNo: { type: String }, + }, + { timestamps: true }, +); const CustomerModel = model('Customer', customerSchema); export default CustomerModel; diff --git a/src/app/sales/customer/customer.route.ts b/src/app/sales/customer/customer.route.ts index 98b6236..578971c 100644 --- a/src/app/sales/customer/customer.route.ts +++ b/src/app/sales/customer/customer.route.ts @@ -10,6 +10,7 @@ export class CustomerRoute { this.mountRoutes(); } mountRoutes() { + this.router.get('/', this.controller.getAllCustomers); this.router.post('/', this.controller.addNewCustomer); } } diff --git a/src/app/sales/customer/customer.service.ts b/src/app/sales/customer/customer.service.ts index a6ce474..b58c077 100644 --- a/src/app/sales/customer/customer.service.ts +++ b/src/app/sales/customer/customer.service.ts @@ -6,10 +6,14 @@ import { BadRequestError } from '../../../utils/exceptions'; import CustomerModel from './customer.model'; export default class CustomerService { + async getAllCustomers(user: string) { + return await CustomerModel.find({ user }).select('-user'); + } + async addCustomer(payload: TCustomerSchema, user: string) { const { data, success } = customerSchema.safeParse(payload); if (!success) throw new BadRequestError('Invalid customer data'); - const customer = await CustomerModel.create(data); + const customer = await CustomerModel.create({ ...data, user }); return customer; } }