Skip to content

Commit

Permalink
crud and service for student bank details
Browse files Browse the repository at this point in the history
  • Loading branch information
ANKIT638-ux committed Oct 6, 2023
1 parent 2b96c47 commit 04ebd65
Show file tree
Hide file tree
Showing 3 changed files with 131 additions and 38 deletions.
86 changes: 86 additions & 0 deletions models/student/stdBank.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
import connector from "#models/databaseUtil";

const studentBankSchema = {
uid: {
type: String,
required: true,
unique: true,
},
bankName: {
type: String,
required: true,
minLength: 7,
},
bankAccount: {
type: String,
required: true,
unique: true,
},
bankBranch: {
type: String,
required: true,
},
bankIfsc: {
type: String,
required: true,
maxLength: 11,
minLength: 11,
},
bankMicr: {
type: String,
required: true,
maxLength: 9,
minLength: 9,
},
};

const StudentBank = connector.model("Student bank", studentBankSchema);

async function create(studentBankData) {
const {
uid,
bankName,
bankAccount,
bankBranch,
bankIfsc,
bankMicr,
} = studentBankData;

const stdBank = new StudentBank({
uid,
bankName,
bankAccount,
bankBranch,
bankIfsc,
bankMicr,
});

const stdBankDoc = await stdBank.save();
return stdBankDoc;
}

async function read(filter, limit = 1) {
const stdBankDoc = studentBankSchema.find(filter).limit(limit);
return stdBankDoc;
}

async function update(filter, updateObject, options = { multi: true }) {
const updateResult = await studentBankSchema.updateMany(
filter,
{ $set: updateObject },
options,
);
return updateResult.acknowledged;
}

async function remove(stdBankId) {
const deleteResult = await studentBankSchema.deleteMany(stdBankId);
return deleteResult.acknowledged;
}

export default {
create,
read,
update,
remove,
};
38 changes: 0 additions & 38 deletions models/student/std_bank.js

This file was deleted.

45 changes: 45 additions & 0 deletions services/student/stdBank.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import StudentBank from "#models/student/stdBank";
import databaseError from "#error/database";

export async function createStudentBank(
uid,
bankName,
bankAccount,
bankBranch,
bankIfsc,
bankMicr,
) {
const newStudentBank = await StudentBank.create({
uid,
bankName,
bankAccount,
bankBranch,
bankIfsc,
bankMicr,
});
if (newStudentBank.uid === uid) {
return newStudentBank;
}
throw new databaseError.DataEntryError("student bank");
}

export async function updateStudentBankById(id, data) {
const updated = await StudentBank.update({ _id: id }, data);
if (updated) {
return updated;
}
throw new databaseError.DataEntryError("student bank");
}

export async function studentBankList(filter) {
const studentBank = await StudentBank.read(filter, 0);
return studentBank;
}

export async function deleteStudentBankById(studentBankId) {
const deleted = await StudentBank.remove({ _id: studentBankId });
if (deleted) {
return deleted;
}
throw new databaseError.DataDeleteError("student bank");
}

0 comments on commit 04ebd65

Please sign in to comment.