Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nisum-scorecard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Venkaiah Naidu Singamchetty
nisum-scorecard
Commits
ac153659
Commit
ac153659
authored
Mar 16, 2024
by
Venkaiah Naidu Singamchetty
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server-errorStatus-modified
parent
4f58f09c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
70 additions
and
77 deletions
+70
-77
employee.js
schemas/employee.js
+0
-10
server.js
server.js
+70
-66
listServices
services/listServices
+0
-1
No files found.
schemas/employee.js
deleted
100644 → 0
View file @
4f58f09c
import
{
Schema
}
from
"mongoose"
module
.
exports
=
{
employee
:{
empName
:
string
,
}
}
\ No newline at end of file
server.js
View file @
ac153659
...
@@ -35,8 +35,8 @@ app.get("/employee/:id", (req, res) => {
...
@@ -35,8 +35,8 @@ app.get("/employee/:id", (req, res) => {
db
.
collection
(
"employees"
)
db
.
collection
(
"employees"
)
.
findOne
({
empId
:
Id
},
{
projection
:
{
_id
:
false
}
})
.
findOne
({
empId
:
Id
},
{
projection
:
{
_id
:
false
}
})
.
then
((
result
)
=>
{
.
then
((
result
)
=>
{
if
(
!
result
)
if
(
!
result
)
res
.
status
(
404
).
json
({
message
:
"Employee not found"
});
res
.
status
(
404
).
json
({
message
:
"Employee not found"
});
else
else
res
.
send
(
result
);
res
.
send
(
result
);
})
})
...
@@ -45,13 +45,13 @@ app.get("/employee/:id", (req, res) => {
...
@@ -45,13 +45,13 @@ app.get("/employee/:id", (req, res) => {
//login Check
//login Check
app
.
post
(
'/login'
,
async
(
req
,
res
)
=>
{
app
.
post
(
'/login'
,
async
(
req
,
res
)
=>
{
const
{
empId
}
=
req
.
body
;
const
{
empId
}
=
req
.
body
;
try
{
try
{
const
user
=
await
db
.
collection
(
'employees'
).
findOne
({
empId
:
empId
},
{
projection
:
{
_id
:
false
}
})
const
user
=
await
db
.
collection
(
'employees'
).
findOne
({
empId
:
empId
},
{
projection
:
{
_id
:
false
}
})
if
(
!
user
)
{
if
(
!
user
)
{
return
res
.
status
(
401
).
json
({
error
:
'Authentication failed'
,
message
:
'User not found'
});
return
res
.
status
(
401
).
json
({
error
:
'Authentication failed'
,
message
:
'User not found'
});
}
}
if
(
empId
===
user
.
empId
)
{
if
(
empId
===
user
.
empId
)
{
res
.
json
({
message
:
'Login successful'
,
user
});
res
.
json
({
message
:
'Login successful'
,
user
});
}
else
{
}
else
{
res
.
status
(
401
).
json
({
error
:
'Authentication failed'
,
message
:
'Email and password do not match'
});
res
.
status
(
401
).
json
({
error
:
'Authentication failed'
,
message
:
'Email and password do not match'
});
...
@@ -118,9 +118,9 @@ app.post("/getreportees", (req, res) => {
...
@@ -118,9 +118,9 @@ app.post("/getreportees", (req, res) => {
.
toArray
()
.
toArray
()
.
then
((
result
)
=>
{
.
then
((
result
)
=>
{
if
(
result
&&
result
.
length
)
{
if
(
result
&&
result
.
length
)
{
res
.
json
({
...
result
[
0
]
});
res
.
status
(
201
).
json
({
...
result
[
0
]
});
}
else
{
}
else
{
res
.
json
({
data
:
[],
totalCount
:
{
count
:
0
}
});
res
.
status
(
404
).
json
({
data
:
[],
totalCount
:
{
count
:
0
}
});
}
}
})
})
.
catch
((
error
)
=>
res
.
status
(
401
).
send
(
error
));
.
catch
((
error
)
=>
res
.
status
(
401
).
send
(
error
));
...
@@ -140,55 +140,60 @@ app.post("/getreportees", (req, res) => {
...
@@ -140,55 +140,60 @@ app.post("/getreportees", (req, res) => {
}
}
}
}
*/
*/
app
.
post
(
'/createActivity'
,(
req
,
res
)
=>
{
app
.
post
(
'/createActivity'
,
(
req
,
res
)
=>
{
const
empId
=
req
.
body
.
empId
;
const
empId
=
req
.
body
.
empId
;
if
(
!
empId
){
if
(
!
empId
)
{
res
.
status
(
401
).
json
({
"message"
:
"Employee id is missing"
});
res
.
status
(
401
).
json
({
"message"
:
"Employee id is missing"
});
return
return
}
else
{
}
else
{
let
{
data
}
=
req
.
body
;
let
{
data
}
=
req
.
body
;
data
=
{...
data
,
"recorded_date"
:
new
Date
()
};
data
=
Object
.
assign
(
data
,
{
"_id"
:
new
ObjectId
()})
if
(
!
_
.
get
(
data
,
"aName"
,
""
)
||
!
_
.
get
(
data
,
"aId"
,
""
)
||
!
_
.
get
(
data
,
"type"
,
""
)
||
!
_
.
get
(
data
,
"score"
,
""
)
){
res
.
json
({
"error"
:
"Invalied Activity data"
});
return
;
}
let
query
=
{
empId
:
empId
};
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
(
(
result
)
=>
{
if
(
result
){
db
.
collection
(
'performance_master'
).
updateOne
(
query
,{
$push
:
{
"activities"
:
data
}
})
.
then
(
async
(
updateRes
)
=>
{
await
calculateAverage
(
query
);
res
.
json
({
"reuslt"
:
updateRes
});
})
.
catch
((
error
)
=>
{
res
.
json
({
"error"
:
error
});
});
}
else
{
let
insertData
=
{
empId
:
empId
,
activities
:[]};
insertData
.
activities
.
push
(
data
);
db
.
collection
(
'performance_master'
).
insertOne
(
insertData
).
then
(
async
(
result
)
=>
{
await
calculateAverage
(
query
);
res
.
json
({
"result"
:
result
});
}).
catch
((
error
)
=>
{
//data validation
res
.
json
({
"message"
:
error
})
if
(
!
_
.
get
(
data
,
"aName"
,
""
)
||
!
_
.
get
(
data
,
"aId"
,
""
)
||
!
_
.
get
(
data
,
"type"
,
""
)
||
!
_
.
get
(
data
,
"score"
,
""
,)
||
!
_
.
get
(
data
,
"comments"
,
""
))
{
res
.
status
(
401
).
json
({
"error"
:
"Invalid Activity data"
});
return
;
}
})
if
(
data
.
score
===
(
0
||
-
0
)
||
data
.
score
>
5
||
data
.
score
<
-
5
)
{
}
res
.
status
(
401
).
json
({
"message"
:
"Score Should be between 1 to 5 or -1 to -5 only"
});
}).
catch
((
error
)
=>
{
return
console
.
log
(
error
)
}
res
.
send
(
query
)
})
data
=
{
...
data
,
"recorded_date"
:
new
Date
()
};
data
=
Object
.
assign
(
data
,
{
"_id"
:
new
ObjectId
()
})
}
let
query
=
{
empId
:
empId
};
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
((
result
)
=>
{
if
(
result
)
{
db
.
collection
(
'performance_master'
).
updateOne
(
query
,
{
$push
:
{
"activities"
:
data
}
})
.
then
(
async
(
updateRes
)
=>
{
await
calculateAverage
(
query
);
res
.
status
(
201
).
json
({
"reuslt"
:
updateRes
});
})
.
catch
((
error
)
=>
{
res
.
json
({
"error"
:
error
});
});
}
else
{
let
insertData
=
{
empId
:
empId
,
activities
:
[]
};
insertData
.
activities
.
push
(
data
);
db
.
collection
(
'performance_master'
).
insertOne
(
insertData
).
then
(
async
(
result
)
=>
{
await
calculateAverage
(
query
);
res
.
status
(
201
).
json
({
"result"
:
result
});
}).
catch
((
error
)
=>
{
res
.
json
({
"message"
:
error
})
})
}
}).
catch
((
error
)
=>
{
console
.
log
(
error
)
res
.
send
(
query
)
})
}
})
})
//calculating average score and updating into employees data
//calculating average score and updating into employees data
...
@@ -199,18 +204,18 @@ const calculateAverage = (query) => {
...
@@ -199,18 +204,18 @@ const calculateAverage = (query) => {
.
then
((
result
)
=>
{
.
then
((
result
)
=>
{
let
activitiesList
=
result
.
activities
;
let
activitiesList
=
result
.
activities
;
let
activitiesLength
=
activitiesList
.
length
;
let
activitiesLength
=
activitiesList
.
length
;
let
score
=
activitiesList
.
reduce
((
acc
,
curr
)
=>
{
return
acc
+
curr
.
score
},
0
);
let
score
=
activitiesList
.
reduce
((
acc
,
curr
)
=>
{
return
acc
+
curr
.
score
},
0
);
let
averageScore
=
0
;
let
averageScore
=
0
;
score
<
0
score
<
0
?
(
averageScore
=
0
)
?
(
averageScore
=
0
)
:
(
averageScore
=
score
/
activitiesLength
);
:
(
averageScore
=
score
/
activitiesLength
);
if
(
averageScore
%
1
!==
0
)
{
if
(
averageScore
%
1
!==
0
)
{
averageScore
=
Number
(
averageScore
)
.
toFixed
(
1
);
averageScore
=
averageScore
.
toFixed
(
1
);
}
}
db
.
collection
(
"employees"
)
db
.
collection
(
"employees"
)
.
updateOne
(
query
,
{
$set
:
{
score
:
averageScore
}
})
.
updateOne
(
query
,
{
$set
:
{
score
:
Number
(
averageScore
)
}
})
.
then
((
result
)
=>
{
.
then
((
result
)
=>
{
res
(
result
);
res
(
result
);
})
})
...
@@ -232,19 +237,19 @@ const calculateAverage = (query) => {
...
@@ -232,19 +237,19 @@ const calculateAverage = (query) => {
*/
*/
app
.
post
(
"/getActivities"
,
(
req
,
res
)
=>
{
app
.
post
(
"/getActivities"
,
(
req
,
res
)
=>
{
let
{
empId
,
fromDate
,
toDate
,
today
}
=
req
.
body
;
let
{
empId
,
fromDate
,
toDate
,
today
}
=
req
.
body
;
if
(
!
empId
||
typeof
empId
==
"string"
)
{
if
(
!
empId
||
typeof
empId
==
"string"
)
{
res
.
status
(
401
).
json
({
message
:
"Employee id is missing/ EmpId should be string only"
});
res
.
status
(
401
).
json
({
message
:
"Employee id is missing
/ EmpId should be string only"
});
return
;
return
;
}
else
{
}
else
{
let
query
=
{
let
query
=
{
empId
:
empId
,
empId
:
empId
,
};
};
if
(
fromDate
&&
toDate
)
{
if
(
fromDate
&&
toDate
)
{
fromDate
=
new
Date
(
fromDate
)
fromDate
=
new
Date
(
fromDate
)
toDate
=
new
Date
(
toDate
);
toDate
=
new
Date
(
toDate
);
toDate
.
setHours
(
23
);
toDate
.
setHours
(
23
);
toDate
.
setMinutes
(
59
);
toDate
.
setMinutes
(
59
);
toDate
.
setSeconds
(
59
);
toDate
.
setSeconds
(
59
);
query
[
"activities.recorded_date"
]
=
{
query
[
"activities.recorded_date"
]
=
{
$gte
:
new
Date
(
fromDate
),
$gte
:
new
Date
(
fromDate
),
$lte
:
new
Date
(
toDate
),
$lte
:
new
Date
(
toDate
),
...
@@ -259,11 +264,10 @@ app.post("/getActivities", (req, res) => {
...
@@ -259,11 +264,10 @@ app.post("/getActivities", (req, res) => {
db
.
collection
(
"performance_master"
)
db
.
collection
(
"performance_master"
)
.
findOne
(
query
)
.
findOne
(
query
)
.
then
((
results
)
=>
{
.
then
((
results
)
=>
{
res
.
json
(
results
);
res
.
status
(
201
).
json
(
results
);
})
})
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
console
.
error
(
"Error fetching data:"
,
error
);
res
.
status
(
401
).
json
({
message
:
"Error fetching data"
},
error
);
res
.
status
(
500
).
json
({
message
:
"Error fetching data"
});
});
});
}
}
});
});
services/listServices
deleted
100644 → 0
View file @
4f58f09c
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment