Skip to content

Commit 1efcc0f

Browse files
Merge pull request #381 from tcet-opensource/371-crud-services-in-students-folder
[ADDED] Crud and services for student personal details
2 parents 0c3ed69 + cf4d824 commit 1efcc0f

File tree

2 files changed

+382
-0
lines changed

2 files changed

+382
-0
lines changed

models/student/std_personal.js

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,198 @@ const studentPersonalSchema = {
8383

8484
// eslint-disable-next-line no-unused-vars
8585
const stdPersonal = connector.model("Student personal", studentPersonalSchema);
86+
87+
///crud operation///
88+
89+
// student personal details to the database
90+
async function create(activityData){
91+
const {
92+
uid,
93+
title,
94+
firstName,
95+
middleName,
96+
motherName,
97+
gender,
98+
dob,
99+
age,
100+
birthPlace,
101+
nationality,
102+
motherTongue,
103+
domicileState,
104+
religion,
105+
castCategory,
106+
maharashtraKarnatakaBorderCandidate,
107+
castDescription,
108+
subCasteDescription,
109+
nonCreamyLayerCertificateAttached,
110+
hobby,
111+
passportNo,
112+
bloodGroup,
113+
physicallyHandicapped,
114+
studentMobNo,
115+
studentMail,
116+
parentMobNo,
117+
parentMail,
118+
perAddrDescr,
119+
perPlotNo,
120+
perStreetName,
121+
perStuAddr1,
122+
perStuAddr2,
123+
city,
124+
percellphone,
125+
perpincode,
126+
perresiphone,
127+
permailaddress,
128+
country,
129+
state,
130+
district,
131+
tahsil,
132+
correspondanceAddrDescr,
133+
correspondancePlotNo,
134+
correspondanceStreetName,
135+
correspondanceStuAddr1,
136+
correspondanceStuAddr2,
137+
correspondanceCity,
138+
correspondanceCellPhone,
139+
correspondancePincode,
140+
correspondanceResiPhone,
141+
correspondanceMailAddress,
142+
correspondanceCountry,
143+
correspondanceState,
144+
correspondanceDistrict,
145+
correspondanceTahsil,
146+
fatherDetails,
147+
fathersOccupation,
148+
parentsFirstName,
149+
parentsMiddleName,
150+
parentsLastName,
151+
guardianMobNo,
152+
guardianMailId,
153+
nameAsPerTc ,
154+
casteAsPerTc,
155+
birthStatus,
156+
maritalStatus,
157+
panCardNo,
158+
passportExpiry,
159+
drivingLicNo,
160+
drivingLicValidTo,
161+
aadharCardNo,
162+
electionCardNo,
163+
motherMobNo,
164+
motherEmailId,
165+
parentIncome ,
166+
photoUploaded,
167+
signUploaded ,
168+
thumbUploaded,
169+
noOfDocumentsUploaded,
170+
}=studentData;
171+
const student= new student({
172+
uid,
173+
title,
174+
firstName,
175+
middleName,
176+
motherName,
177+
gender,
178+
dob,
179+
age,
180+
birthPlace,
181+
nationality,
182+
motherTongue,
183+
domicileState,
184+
religion,
185+
castCategory,
186+
maharashtraKarnatakaBorderCandidate,
187+
castDescription,
188+
subCasteDescription,
189+
nonCreamyLayerCertificateAttached,
190+
hobby,
191+
passportNo,
192+
bloodGroup,
193+
physicallyHandicapped,
194+
studentMobNo,
195+
studentMail,
196+
parentMobNo,
197+
parentMail,
198+
perAddrDescr,
199+
perPlotNo,
200+
perStreetName,
201+
perStuAddr1,
202+
perStuAddr2,
203+
city,
204+
percellphone,
205+
perpincode,
206+
perresiphone,
207+
permailaddress,
208+
country,
209+
state,
210+
district,
211+
tahsil,
212+
correspondanceAddrDescr,
213+
correspondancePlotNo,
214+
correspondanceStreetName,
215+
correspondanceStuAddr1,
216+
correspondanceStuAddr2,
217+
correspondanceCity,
218+
correspondanceCellPhone,
219+
correspondancePincode,
220+
correspondanceResiPhone,
221+
correspondanceMailAddress,
222+
correspondanceCountry,
223+
correspondanceState,
224+
correspondanceDistrict,
225+
correspondanceTahsil,
226+
fatherDetails,
227+
fathersOccupation,
228+
parentsFirstName,
229+
parentsMiddleName,
230+
parentsLastName,
231+
guardianMobNo,
232+
guardianMailId,
233+
nameAsPerTc ,
234+
casteAsPerTc,
235+
birthStatus,
236+
maritalStatus,
237+
panCardNo,
238+
passportExpiry,
239+
drivingLicNo,
240+
drivingLicValidTo,
241+
aadharCardNo,
242+
electionCardNo,
243+
motherMobNo,
244+
motherEmailId,
245+
parentIncome ,
246+
photoUploaded,
247+
signUploaded ,
248+
thumbUploaded,
249+
noOfDocumentsUploaded,
250+
});
251+
const studentDoc =await student.save();
252+
return studentDoc;
253+
}
254+
255+
// Retrieve student personal details based on a given filter and limit
256+
async function read(filter,limit=1){
257+
const studentDoc = await Student.find (filter).limit(limit);
258+
return studentDoc ;
259+
}
260+
261+
// update student personal details based on a given filter
262+
async function update(filter,updateObject,options={multi:true}){
263+
const updateStudent= await Student.updateMany(filter,{$set:updateObject},options);
264+
return updateStudent.acknowledged;
265+
}
266+
267+
// Delete student personal details based on a given filter
268+
async function remove(filter){
269+
const deleteStudent= await Student.deleteMany(filter).exec();
270+
return deleteStudent.acknowledged;
271+
}
272+
273+
// export crud functions
274+
275+
export default{
276+
create,read,update,remove,
277+
};
278+
279+
280+

services/student/std_personal.js

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
import Student from "#models/student/std_personal" ;
2+
import databaseError from "#error/database";
3+
4+
export async function createStudent (uid,
5+
title,
6+
firstName,
7+
middleName,
8+
motherName,
9+
gender,
10+
dob,
11+
age,
12+
birthPlace,
13+
nationality,
14+
motherTongue,
15+
domicileState,
16+
religion,
17+
castCategory,
18+
maharashtraKarnatakaBorderCandidate,
19+
castDescription,
20+
subCasteDescription,
21+
nonCreamyLayerCertificateAttached,
22+
hobby,
23+
passportNo,
24+
bloodGroup,
25+
physicallyHandicapped,
26+
studentMobNo,
27+
studentMail,
28+
parentMobNo,
29+
parentMail,
30+
perAddrDescr,
31+
perPlotNo,
32+
perStreetName,
33+
perStuAddr1,
34+
perStuAddr2,
35+
city,
36+
percellphone,
37+
perpincode,
38+
perresiphone,
39+
permailaddress,
40+
country,
41+
state,
42+
district,
43+
tahsil,
44+
correspondanceAddrDescr,
45+
correspondancePlotNo,
46+
correspondanceStreetName,
47+
correspondanceStuAddr1,
48+
correspondanceStuAddr2,
49+
correspondanceCity,
50+
correspondanceCellPhone,
51+
correspondancePincode,
52+
correspondanceResiPhone,
53+
correspondanceMailAddress,
54+
correspondanceCountry,
55+
correspondanceState,
56+
correspondanceDistrict,
57+
correspondanceTahsil,
58+
fatherDetails,
59+
fathersOccupation,
60+
parentsFirstName,
61+
parentsMiddleName,
62+
parentsLastName,
63+
guardianMobNo,
64+
guardianMailId,
65+
nameAsPerTc ,
66+
casteAsPerTc,
67+
birthStatus,
68+
maritalStatus,
69+
panCardNo,
70+
passportExpiry,
71+
drivingLicNo,
72+
drivingLicValidTo,
73+
aadharCardNo,
74+
electionCardNo,
75+
motherMobNo,
76+
motherEmailId,
77+
parentIncome ,
78+
photoUploaded,
79+
signUploaded ,
80+
thumbUploaded,
81+
noOfDocumentsUploaded,){
82+
const newStudent = await Student.create({
83+
uid,
84+
title,
85+
firstName,
86+
middleName,
87+
motherName,
88+
gender,
89+
dob,
90+
age,
91+
birthPlace,
92+
nationality,
93+
motherTongue,
94+
domicileState,
95+
religion,
96+
castCategory,
97+
maharashtraKarnatakaBorderCandidate,
98+
castDescription,
99+
subCasteDescription,
100+
nonCreamyLayerCertificateAttached,
101+
hobby,
102+
passportNo,
103+
bloodGroup,
104+
physicallyHandicapped,
105+
studentMobNo,
106+
studentMail,
107+
parentMobNo,
108+
parentMail,
109+
perAddrDescr,
110+
perPlotNo,
111+
perStreetName,
112+
perStuAddr1,
113+
perStuAddr2,
114+
city,
115+
percellphone,
116+
perpincode,
117+
perresiphone,
118+
permailaddress,
119+
country,
120+
state,
121+
district,
122+
tahsil,
123+
correspondanceAddrDescr,
124+
correspondancePlotNo,
125+
correspondanceStreetName,
126+
correspondanceStuAddr1,
127+
correspondanceStuAddr2,
128+
correspondanceCity,
129+
correspondanceCellPhone,
130+
correspondancePincode,
131+
correspondanceResiPhone,
132+
correspondanceMailAddress,
133+
correspondanceCountry,
134+
correspondanceState,
135+
correspondanceDistrict,
136+
correspondanceTahsil,
137+
fatherDetails,
138+
fathersOccupation,
139+
parentsFirstName,
140+
parentsMiddleName,
141+
parentsLastName,
142+
guardianMobNo,
143+
guardianMailId,
144+
nameAsPerTc ,
145+
casteAsPerTc,
146+
birthStatus,
147+
maritalStatus,
148+
panCardNo,
149+
passportExpiry,
150+
drivingLicNo,
151+
drivingLicValidTo,
152+
aadharCardNo,
153+
electionCardNo,
154+
motherMobNo,
155+
motherEmailId,
156+
parentIncome ,
157+
photoUploaded,
158+
signUploaded ,
159+
thumbUploaded,
160+
noOfDocumentsUploaded,
161+
});
162+
if (newStudent){
163+
return newStudent;
164+
}
165+
throw new databaseError.DataEntryError("student");
166+
}
167+
168+
export async function updateStudentById(id,data){
169+
const updated= await Student.update({_id:id},data);
170+
if (updated){
171+
return updated;
172+
}
173+
throw new databaseError.DataEntryError("activity");
174+
}
175+
176+
export async function studentList(filter){
177+
const studentlist = await Student.read(filter,0);
178+
return studentlist;
179+
}
180+
181+
export async function deleteStudentById(id){
182+
const deleted = await Student.remove({_id:id});
183+
if(deleted){
184+
return deleted;
185+
}
186+
throw new databaseError.DataDeleteError("activity");
187+
}

0 commit comments

Comments
 (0)