Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 5.1.0 #140

Open
wants to merge 167 commits into
base: release-5.0.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
67b9cd1
certificate template mapped to solution and project
VISHNUDAS-tunerlabs Oct 3, 2022
e6fea80
certificate template schema updated
VISHNUDAS-tunerlabs Oct 6, 2022
127cd21
certificate template model changes
VISHNUDAS-tunerlabs Oct 6, 2022
c53a23d
templateUrl property change
VISHNUDAS-tunerlabs Oct 7, 2022
67e9afc
made templateUrl required false
VISHNUDAS-tunerlabs Oct 7, 2022
ac02cad
kafka consumer added to existing topic
VISHNUDAS-tunerlabs Oct 13, 2022
f981d21
generics, model and validation
VISHNUDAS-tunerlabs Oct 13, 2022
19c3ac4
new apis added (pls ignore comments and consoles- not final PR)
VISHNUDAS-tunerlabs Oct 13, 2022
f68aafe
certificate-story
VISHNUDAS-tunerlabs Oct 17, 2022
9bb3767
certificate story
VISHNUDAS-tunerlabs Oct 18, 2022
b1de579
certificate story changes
VISHNUDAS-tunerlabs Oct 20, 2022
5d9394e
certificate story changes
VISHNUDAS-tunerlabs Oct 20, 2022
dc0ad53
certificate story change
VISHNUDAS-tunerlabs Oct 20, 2022
7a4ac65
env updated
VISHNUDAS-tunerlabs Oct 27, 2022
559bdaf
review changes
VISHNUDAS-tunerlabs Oct 28, 2022
2b3c85c
schema change
VISHNUDAS-tunerlabs Oct 28, 2022
8022648
transactionId 1- removed
VISHNUDAS-tunerlabs Oct 28, 2022
fb890b3
schema change
VISHNUDAS-tunerlabs Oct 31, 2022
7f61f91
review resolves
VISHNUDAS-tunerlabs Nov 16, 2022
675a619
PROJECT_CERTIFICATE_ON_OFF default value added
VISHNUDAS-tunerlabs Nov 16, 2022
3dd96bb
Merge pull request #110 from project-sunbird/release-5.0.0
aks30 Nov 17, 2022
3ecf56d
Merge pull request #111 from project-sunbird/release-5.0.0-hotfix
aks30 Nov 17, 2022
fd1348a
sunbird internal call for issuer-kid added
VISHNUDAS-tunerlabs Nov 18, 2022
c4c6a42
review changes
VISHNUDAS-tunerlabs Nov 20, 2022
0626929
review changes
VISHNUDAS-tunerlabs Nov 20, 2022
56da30f
project model changes
VISHNUDAS-tunerlabs Nov 21, 2022
f648023
Merge pull request #101 from shikshalokam/certificate-story
aks30 Nov 21, 2022
bdc60c9
Merge branch 'release-5.1.0' into master
aks30 Nov 21, 2022
a13bbec
Merge pull request #114 from shikshalokam/master
aks30 Nov 21, 2022
261d780
envVariable fix
VISHNUDAS-tunerlabs Nov 21, 2022
98d2562
Merge pull request #104 from shikshalokam/certificate-story
aks30 Nov 21, 2022
8e37790
Merge pull request #115 from shikshalokam/master
aks30 Nov 21, 2022
e6e9ac9
added certificate key to projection
VISHNUDAS-tunerlabs Nov 23, 2022
fe13502
Merge pull request #105 from shikshalokam/ED-103-certificate
aks30 Nov 23, 2022
fd36779
Merge pull request #116 from shikshalokam/master
aks30 Nov 23, 2022
a08fca0
ED-103 staging-fix
VISHNUDAS-tunerlabs Nov 24, 2022
3dfb1a3
model change
VISHNUDAS-tunerlabs Nov 24, 2022
ac074b8
staging fix
VISHNUDAS-tunerlabs Nov 24, 2022
4fe882c
Merge pull request #106 from shikshalokam/ED-103-staging
aks30 Nov 25, 2022
9cc5491
Merge pull request #117 from shikshalokam/master
aks30 Nov 25, 2022
929d9f1
avoid template url from updation
VISHNUDAS-tunerlabs Nov 25, 2022
f2ddb14
remove certificate key from updation
VISHNUDAS-tunerlabs Nov 25, 2022
ef36a8c
Merge pull request #107 from shikshalokam/ED-103-staging
aks30 Nov 25, 2022
f23c803
Merge pull request #118 from shikshalokam/master
aks30 Nov 25, 2022
d99d402
console added to check in staging
VISHNUDAS-tunerlabs Nov 25, 2022
aa58b70
Merge pull request #108 from shikshalokam/ED-103-staging
aks30 Nov 25, 2022
b597c19
Merge pull request #119 from shikshalokam/master
aks30 Nov 25, 2022
cf6faaf
console added and template details changes
VISHNUDAS-tunerlabs Nov 25, 2022
0bfca03
Merge pull request #109 from shikshalokam/ED-103-staging
aks30 Nov 25, 2022
1efef67
Merge pull request #120 from shikshalokam/master
aks30 Nov 25, 2022
785afe5
console change
VISHNUDAS-tunerlabs Nov 25, 2022
6af012d
Merge pull request #110 from shikshalokam/ED-103-staging
aks30 Nov 25, 2022
a62f8ab
Merge pull request #121 from shikshalokam/master
aks30 Nov 25, 2022
63dd62f
Make logs as a string.
aks30 Nov 28, 2022
31c8b7e
Log raw data.
aks30 Nov 28, 2022
2907532
certificate creation sync mode enabled
VISHNUDAS-tunerlabs Dec 2, 2022
4e9d5eb
Merge pull request #111 from shikshalokam/certificate-sync
aks30 Dec 2, 2022
3738224
Merge branch 'release-5.1.0' into master
VISHNUDAS-tunerlabs Dec 2, 2022
77a950d
Merge pull request #122 from shikshalokam/master
aks30 Dec 2, 2022
ca40f5e
issuedOn key added for sync mode
VISHNUDAS-tunerlabs Dec 5, 2022
cd2c33c
Merge pull request #112 from shikshalokam/certificate-sync
aks30 Dec 5, 2022
1300cc6
Merge pull request #123 from shikshalokam/master
aks30 Dec 5, 2022
f715e06
async mode enabled, certificate list change to pass complete templateUrl
VISHNUDAS-tunerlabs Dec 12, 2022
a1136c1
code optimized- downloadable templateUrl
VISHNUDAS-tunerlabs Dec 12, 2022
b33ecd4
Merge pull request #113 from shikshalokam/certificate-sync
aks30 Dec 12, 2022
9f694a5
generate complete templateUrl capability added to userAssigned fn
VISHNUDAS-tunerlabs Dec 12, 2022
5a6f719
Merge pull request #114 from shikshalokam/certificate-sync
aks30 Dec 12, 2022
fe37e59
Merge pull request #124 from shikshalokam/master
aks30 Dec 12, 2022
9c16a6b
consoles removed
VISHNUDAS-tunerlabs Dec 12, 2022
89cfb4c
console removed
VISHNUDAS-tunerlabs Dec 12, 2022
7df0588
Merge pull request #115 from shikshalokam/deploy-issue
aks30 Dec 12, 2022
e63b67d
Merge pull request #125 from shikshalokam/master
aks30 Dec 12, 2022
0b86991
Add additional logs.
aks30 Dec 12, 2022
747b8f6
removed global varaiable assign and check of issuer kid
VISHNUDAS-tunerlabs Dec 13, 2022
3f326f4
chenge in envVariables
VISHNUDAS-tunerlabs Dec 13, 2022
c41ac9d
Merge pull request #117 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
d4e3767
Merge pull request #127 from shikshalokam/master
aks30 Dec 13, 2022
e5754ba
console added to check issue
VISHNUDAS-tunerlabs Dec 13, 2022
8930991
Merge pull request #118 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
c0b83ba
console added to debug
VISHNUDAS-tunerlabs Dec 13, 2022
0cfc855
Merge pull request #119 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
38e15d4
Merge pull request #128 from shikshalokam/master
aks30 Dec 13, 2022
95a4dee
console is added to check callback call, kafka condition added to avo…
VISHNUDAS-tunerlabs Dec 13, 2022
79c8b11
Merge pull request #120 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
c042ad2
kafka consumer check for eligible key absent added
VISHNUDAS-tunerlabs Dec 13, 2022
50c7f3c
Merge pull request #121 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
bd9d0dc
Merge pull request #129 from shikshalokam/master
aks30 Dec 13, 2022
fb4fe9d
console added to check callback && updated rc response check condition
VISHNUDAS-tunerlabs Dec 13, 2022
f550e93
Merge pull request #122 from shikshalokam/service-deployment-issue
aks30 Dec 13, 2022
d2ad503
Merge pull request #130 from shikshalokam/master
aks30 Dec 13, 2022
8b3de75
kafka push for sync mode removed
VISHNUDAS-tunerlabs Dec 13, 2022
c6e3efa
Merge pull request #123 from shikshalokam/service-deployment-issue
aks30 Dec 14, 2022
325e827
Merge pull request #131 from shikshalokam/master
aks30 Dec 14, 2022
691259b
guest access path updated with certificateCallback
VISHNUDAS-tunerlabs Dec 15, 2022
99b147e
Merge pull request #124 from shikshalokam/service-deployment-issue
aks30 Dec 15, 2022
3d1e5b3
Merge pull request #132 from shikshalokam/master
aks30 Dec 15, 2022
88e5586
referenceId added to project tasks
VISHNUDAS-tunerlabs Dec 20, 2022
7eba508
Merge pull request #125 from shikshalokam/service-deployment-issue
aks30 Dec 20, 2022
a6824df
Merge pull request #133 from shikshalokam/master
aks30 Dec 20, 2022
c4bdbcf
comparing with task externalId
VISHNUDAS-tunerlabs Dec 21, 2022
141ceaf
refereceid key removed
VISHNUDAS-tunerlabs Dec 21, 2022
947d9a9
reference id replacement issue resolved
VISHNUDAS-tunerlabs Dec 21, 2022
a138d29
referenceId replacement fix
VISHNUDAS-tunerlabs Dec 21, 2022
8fae418
Merge pull request #126 from shikshalokam/service-deployment-issue
aks30 Dec 21, 2022
71f36e1
Merge pull request #134 from shikshalokam/master
aks30 Dec 21, 2022
6c6f0ff
completedDate added to projection
VISHNUDAS-tunerlabs Dec 21, 2022
db865c2
Merge pull request #127 from shikshalokam/service-deployment-issue
aks30 Dec 21, 2022
59cd43c
Merge pull request #135 from shikshalokam/master
aks30 Dec 21, 2022
5741c0f
console added to check kid issue
VISHNUDAS-tunerlabs Dec 28, 2022
70bf0b5
ISSUER_KID check added from env
VISHNUDAS-tunerlabs Dec 28, 2022
6bf23ca
Merge pull request #129 from shikshalokam/issuerKid-Error
aks30 Dec 28, 2022
2206145
Merge pull request #136 from shikshalokam/master
aks30 Dec 28, 2022
03e9784
solution model updated
VISHNUDAS-tunerlabs Dec 29, 2022
8bae30f
Merge pull request #130 from shikshalokam/SolutionModelUpdate
aks30 Dec 29, 2022
e3375d3
Merge pull request #137 from shikshalokam/master
aks30 Dec 29, 2022
53f1db1
setUserProfileInProject migration script added
VISHNUDAS-tunerlabs Jan 3, 2023
9d3fc2c
subfolder changed
VISHNUDAS-tunerlabs Jan 3, 2023
657c13f
Merge pull request #131 from shikshalokam/prod-script
aks30 Jan 3, 2023
3471ca4
Merge pull request #139 from shikshalokam/master
aks30 Jan 3, 2023
d41d3c2
changed from userName to firstName and lastName
Jan 18, 2023
7163a83
Merge pull request #132 from shikshalokam/ED-1078
aks30 Jan 18, 2023
3249288
Merge pull request #141 from shikshalokam/master
aks30 Jan 19, 2023
a10b6df
Fixing reissue certificate
Jan 20, 2023
425d994
Merge pull request #133 from shikshalokam/ED-1078
aks30 Jan 20, 2023
f7c7afc
Merge pull request #142 from shikshalokam/master
aks30 Jan 20, 2023
4f7cf55
added only first name in validation
Jan 20, 2023
9b9632a
Merge pull request #134 from shikshalokam/ED-1078
aks30 Jan 20, 2023
005c901
Merge pull request #143 from shikshalokam/master
aks30 Jan 20, 2023
33195e6
Debug ED-1078
Jan 20, 2023
6060d97
Merge pull request #135 from shikshalokam/ED-1078
aks30 Jan 20, 2023
63c6668
Merge pull request #144 from shikshalokam/master
aks30 Jan 20, 2023
f95c8ba
removed console log
Jan 20, 2023
f80861c
Merge pull request #136 from shikshalokam/ED-1078
aks30 Jan 20, 2023
29b8b8d
Merge pull request #145 from shikshalokam/master
aks30 Jan 20, 2023
896993a
projectName length restricted
VISHNUDAS-tunerlabs Jan 23, 2023
af8f79c
Merge pull request #137 from shikshalokam/projectNameFix
aks30 Jan 23, 2023
abc440c
Merge pull request #146 from shikshalokam/master
aks30 Jan 23, 2023
c50395f
Added Project Update Script
Feb 1, 2023
306b44a
Added Project Update Script
Feb 1, 2023
85631c9
add delete also
Feb 2, 2023
19a6507
add delete also
Feb 2, 2023
00fb708
Added Both Script
Feb 2, 2023
2ec50de
Added Both Script
Feb 3, 2023
bf2be1b
Added Both Script
Feb 3, 2023
27697e6
Added Both Script
Feb 3, 2023
1db856c
Updated PR
Feb 3, 2023
56d73c3
Done with Scripts
Feb 3, 2023
5af2f00
Done with Scripts
Feb 3, 2023
da2a602
Updated Code
Feb 3, 2023
01260a7
Updated Code
Feb 3, 2023
f4d10e9
updated script
Feb 6, 2023
36d84c6
Updated script
Feb 6, 2023
3e0ada3
Merge pull request #138 from shikshalokam/ProductionBugFix
aks30 Feb 6, 2023
bec3485
Merge pull request #147 from shikshalokam/master
aks30 Feb 6, 2023
4766648
hasAcceptedTAndC check added to importFromLibrary API
VISHNUDAS-tunerlabs Feb 18, 2023
fd5cc58
Merge pull request #141 from shikshalokam/ED-1299
aks30 Feb 20, 2023
c207720
Merge pull request #159 from shikshalokam/master
aks30 Feb 20, 2023
b77f5de
env check issue fix
VISHNUDAS-tunerlabs Feb 23, 2023
f9f385e
Merge pull request #142 from shikshalokam/envIssueFix-Project-Certifi…
aks30 Feb 23, 2023
84aa82e
Merge pull request #160 from shikshalokam/master
aks30 Feb 23, 2023
7d71ef1
added long term fix for release-5.1.0
Dec 19, 2023
81ba8f9
Merge pull request #183 from ankitpws/release-5.1.0
aks30 Dec 19, 2023
e2e8e8e
Fixing program Name listing in Project inapp report
praveenKDass Jul 9, 2024
db3cea4
Merge pull request #196 from praveenKDass/release-5.1.0
aks30 Jul 9, 2024
687c5ff
bug fixes:certificate lastName issue
praveenKDass Sep 12, 2024
fb69c7e
minorChange:added indentation
praveenKDass Sep 12, 2024
4f9d913
Merge pull request #197 from praveenKDass/release-5.1.0
aks30 Sep 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,13 @@ SUBMISSION_TOPIC = "dev.sl.projects.submissions"
PROJECT_SUBMISSION_TOPIC = "dev.sl.projects.submissions" // project submission topic

# SUNBIRD LOCATION AND USER READ
USER_SERVICE_URL = "http://user-service:3000" // service used for user profile read location search are using this base url
USER_SERVICE_URL = "http://user-service:3000" // service used for user profile read location search are using this base url

#service name
SERVICE_NAME = ml-project-service // ml-project service name

# sunbird-rc service
CERTIFICATE_SERVICE_URL = http://registry-service:8081 // sunbird-RC registry service URL

PROJECT_CERTIFICATE_ON_OFF = "ON/OFF" // Project certificate enable or disable flag

1 change: 1 addition & 0 deletions config/globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ module.exports = function () {
global.schemas[name] = require(PROJECT_ROOT_DIRECTORY + '/models/' + file);
}
});


// All controllers
global.controllers = requireAll({
Expand Down
14 changes: 14 additions & 0 deletions config/kafka.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
//dependencies
const kafka = require('kafka-node');
const SUBMISSION_TOPIC = process.env.SUBMISSION_TOPIC;
const CERTIFICATE_TOPIC = process.env.PROJECT_SUBMISSION_TOPIC;

/**
* Kafka configurations.
Expand Down Expand Up @@ -44,6 +45,12 @@ const connect = function() {
process.env.KAFKA_URL
);

// project certificate details consumer
_sendToKafkaConsumers(
CERTIFICATE_TOPIC,
process.env.KAFKA_URL
);

return {
kafkaProducer: producer,
kafkaClient: client
Expand Down Expand Up @@ -82,6 +89,10 @@ var _sendToKafkaConsumers = function (topic,host) {
if (message && message.topic === SUBMISSION_TOPIC) {
submissionsConsumer.messageReceived(message);
}
// call projectCertificateConsumer
if (message && message.topic === CERTIFICATE_TOPIC) {
projectCertificateConsumer.messageReceived(message);
}

});

Expand All @@ -90,6 +101,9 @@ var _sendToKafkaConsumers = function (topic,host) {
if(error.topics && error.topics[0] === SUBMISSION_TOPIC) {
submissionsConsumer.errorTriggered(error);
}
if(error.topics && error.topics[0] === CERTIFICATE_TOPIC) {
projectCertificateConsumer.errorTriggered(error);
}

});

Expand Down
16 changes: 16 additions & 0 deletions controllers/v1/certificateTemplates.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* name : certificateTemplates.js
* author : Vishnu
* created-date : 29-Sep-2022
* Description : Certificate template related information.
*/

module.exports = class CertificateTemplates extends Abstract {
constructor() {
super("certificateTemplates");
}

static get name() {
return "certificateTemplates";
}
}
171 changes: 170 additions & 1 deletion controllers/v1/userProjects.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ module.exports = class UserProjects extends Abstract {
async sync(req) {
return new Promise(async (resolve, reject) => {
try {

let createdProject = await userProjectsHelper.sync(
req.params._id,
req.query.lastDownloadedAt,
Expand Down Expand Up @@ -957,4 +956,174 @@ module.exports = class UserProjects extends Abstract {
})
}

/**
* @api {post} /improvement-project/api/v1/userProjects/certificateCallback
* Project certificate callback
* @apiVersion 1.0.0
* @apiGroup User Projects
* @apiSampleRequest /improvement-project/api/v1/userProjects/certificateCallback
* @apiParamExample {json} Request
* {
"event": "sunbird-rc-create",
"timestamp": 1660145509358,
"data": {
"userId": "anonymous",
"entityType": "ProjectCertificate",
"osid": "ce2244a4-1a17-49a0-a3f9-c151161e70bl",
"transactionId": "1-3a4892d8-2221-4e96-9434-f4b37886126b",
"status": "SUCCESSFUL",
"message": ""
},
"webhookUrl": "http://ml-project-service:3000/v1/userProjects/certificateCallback"
}
* @apiParamExample {json} Response:
/**{
"message": "Successfully generated project certificate",
"status": 200,
"result": {
"_id": "63446059eeffea2b819f036e"
}
}
/**

/**
* Project certificate callback.
* @method
* @name certificateCallback
* @param {Object} req - request data.
* @returns {JSON} certificate details.
*/

async certificateCallback(req) {
return new Promise(async (resolve, reject) => {
try {
//console request body to check if callback is coming or not and to check any structural change is there or not
console.log("-------------callback request body------------",JSON.stringify(req.body))
let certificateDetails = await userProjectsHelper.certificateCallback( req.body.data.transactionId, req.body.data.osid );
return resolve({
message: certificateDetails.message,
result: certificateDetails.data
});
} catch (error) {
return reject({
status: error.status || HTTP_STATUS_CODE.internal_server_error.status,
message: error.message || HTTP_STATUS_CODE.internal_server_error.message,
errorObject: error
});
}
})
}

/**
* @api {get} /improvement-project/api/v1/userProjects/certificates
* List of user project with certificate
* @apiVersion 1.0.0
* @apiGroup User Projects
* @apiSampleRequest /improvement-project/api/v1/userProjects/certificates
* @apiParamExample {json} Response:
* {
"message": "User project fetched successfully",
"status": 200,
"result": {
"data": [{
"_id": "60793b80bd49095a19ddeae1",
"title": "Project with learning resources",
"certificate": {
"osid": "1-21c8ecab-7b8d-40f1-9961-cae7fcb6a5f9",
"status": "active",
"templateId": "600acc42c7de076e6f995147",
"templateUrl": "certificateTemplates/6343bd978f9d8980b7841e85/ba9aa220-ff1b-4717-b6ea-ace55f04fc16_2022-9-10-1665383945769.svg",
"issuedOn": "2020-12-03 13:22:31.988Z"
},
"status": "submitted"
},
{
"_id": "6011136a2d25b926974d9ec9",
"title": "Keep Our Schools Alive! (Petition)",
"status": "submitted",
"certificate": {
"eligible": false,
"templateId": "600acc42c7de076e6f995147",
"message": "Not submitted the project the project within program end date"
}
}
],
"count": 2,
"certificateCount": 1
}
}
/**

/**
* List user project details with certificate
* @method
* @name certificates
* @returns {JSON} User project detaills with certificate
*/

async certificates(req) {
return new Promise(async (resolve, reject) => {
try {
// fetch projects data of user, whish has certificate on completion
let projectDetails = await userProjectsHelper.certificates( req.userDetails.userInformation.userId );
return resolve({
message: projectDetails.message,
result: projectDetails.data
});

} catch (error) {
return reject({
status: error.status || HTTP_STATUS_CODE.internal_server_error.status,
message: error.message || HTTP_STATUS_CODE.internal_server_error.message,
errorObject: error
});
}
})
}

/**
* @api {post} /improvement-project/api/v1/userProjects/certificateReIssue
* ReIssue project certificate (admin api)
* @apiVersion 1.0.0
* @apiGroup User Projects
* @apiSampleRequest /improvement-project/api/v1/userProjects/certificateReIssue
* @apiParamExample {json} Response:
/**{
"message": "Successfully generated project certificate",
"status": 200,
"result": {
"_id": "63446059eeffea2b819f036e"
}
}
/**
* ReIssue project certificate
* @method
* @name certificateReIssue
* @returns {JSON} Reissued details
*/

async certificateReIssue(req) {
return new Promise(async (resolve, reject) => {
try {
// ReIssue certificate of given project : projectId is passed as param
// This console has to be removed- adding to check the Issuer kid value in case rancher doesn't display console while deployment
console.log("+++++CERTIFICATE_ISSUER_KID+++++ : ",CERTIFICATE_ISSUER_KID)
let projectDetails = await userProjectsHelper.certificateReIssue(
req.params._id,
);
return resolve({
message: projectDetails.message,
result: projectDetails.data
});

} catch (error) {
return reject({
status: error.status || HTTP_STATUS_CODE.internal_server_error.status,
message: error.message || HTTP_STATUS_CODE.internal_server_error.message,
errorObject: error
});
}
})
}

};
60 changes: 60 additions & 0 deletions databaseQueries/certificateTemplates.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/**
* name : certificateTemplates.js
* author : Vishnu
* created-date : 03-Oct-2022
* Description : Certificate template helper for DB interactions.
*/

// Dependencies

/**
* CertificateTemplates
* @class
*/

module.exports= class CertificateTemplates{
/**
* certificate template details.
* @method
* @name certificateTemplateDocument
* @param {Array} [filterData = "all"] - certificate template filter query.
* @param {Array} [fieldsArray = "all"] - projected fields.
* @param {Array} [skipFields = "none"] - field not to include
* @returns {Array} certificateTemplates details.
*/

static certificateTemplateDocument(
filterData = "all",
fieldsArray = "all",
skipFields = "none"
) {
return new Promise(async (resolve, reject) => {
try {
let queryObject = (filterData != "all") ? filterData : {};
let projection = {}

if (fieldsArray != "all") {
fieldsArray.forEach(field => {
projection[field] = 1;
});
}

if( skipFields !== "none" ) {
skipFields.forEach(field=>{
projection[field] = 0;
});
}
let certificateTemplateDoc =
await database.models.certificateTemplates.find(
queryObject,
projection
).lean();

return resolve(certificateTemplateDoc);

} catch (error) {
return reject(error);
}
});
}
}
Loading