Spaces:
Running
Running
File size: 2,503 Bytes
22f0230 98d83e7 22f0230 98d83e7 a6fbb8d 98d83e7 a6fbb8d 98d83e7 22f0230 a6fbb8d 22f0230 a6fbb8d 22f0230 a6fbb8d 22f0230 a6fbb8d 22f0230 98d83e7 22f0230 98d83e7 a6fbb8d 98d83e7 a6fbb8d 98d83e7 22f0230 98d83e7 a6fbb8d 98d83e7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
import { userModel } from "../models/user.model";
export abstract class UsersBaseService {
async find(filterObject) {
try {
const resultObject = await userModel.findOne(filterObject).lean();
if (!resultObject)
return {
success: false,
code: 404,
error: "No Matching Result Found.",
};
return {
success: true,
code: 200,
record: resultObject,
};
} catch (err) {
console.log(`err.message`, err.message);
return {
success: false,
code: 500,
error: err.message,
};
}
}
async create(form: any) {
try {
if (form.email) {
form.email = form.email.toLowerCase();
let user = await this.find({ email: form.email });
if (user.success)
return {
success: false,
error: "This email already exists",
code: 409,
};
}
let newUser = new userModel(form);
await newUser.save();
return {
success: true,
code: 201,
};
} catch (err) {
console.log(`err.message`, err.message);
return {
success: false,
code: 500,
error: err.message,
};
}
}
async get(filterObject) {
try {
const resultObject = await userModel
.findOne(filterObject)
.lean()
.select("-password");
if (!resultObject)
return {
success: false,
code: 404,
error: "No Matching Result Found.",
};
return {
success: true,
code: 200,
record: resultObject,
};
} catch (err) {
console.log(`err.message`, err.message);
return {
success: false,
code: 500,
error: err.message,
};
}
}
async list(filterObject) {
try {
const resultArray = await userModel
.find(filterObject)
.lean()
.select("-password");
if (!resultArray)
return {
success: false,
code: 404,
error: "No Matching Result Found.",
};
const count = await userModel.countDocuments(filterObject);
return {
success: true,
code: 200,
record: resultArray,
count,
};
} catch (err) {
console.log(`err.message`, err.message);
return {
success: false,
code: 500,
error: "Unexpected Error Happened.",
};
}
}
}
|