@sourceloop/survey-service / Exports / SurveyService
Class: SurveyService¶
Table of contents¶
Constructors¶
Properties¶
- createSurveyHelperService
- logger
- questionRepository
- questionTemplateRepository
- surveyCycleRepository
- surveyCycleService
- surveyQuestionRepository
- surveyRepository
- surveyResponderRepository
- templateQuestionRepository
Methods¶
- _addLeadingZero
- _checkBasicSurveyValidations
- _checkDateValidationForPatchCase
- _checkSurveyDateValidations
- _createQuestionsFromTemplate
- _duplicateSurveyDetails
- _processSurveyText
- _setWeightFlagIfRequired
- approveSurveyQuestions
- checkDeleteValidation
- checkIfAllowedToUpdateSurvey
- checkPastDateValidation
- createSurvey
- deleteRelatedObjects
- generateSurveyId
- getHtmlTextContent
- handleSurveyApprove
- handleSurveyStatus
- handleSurveyStatusApprove
- updateModifiedByAndOn
- updateSurvey
- validateActivationWithoutDates
- validateAndGetSurvey
- validateDraftWithStartDate
- validateEndDateAfterStartDate
- validateStartDateWithActiveStatus
- validateTitleLength
Constructors¶
constructor¶
• new SurveyService(surveyRepository, questionTemplateRepository, templateQuestionRepository, surveyQuestionRepository, surveyCycleRepository, surveyResponderRepository, questionRepository, surveyCycleService, createSurveyHelperService, logger)
Parameters¶
| Name | Type |
|---|---|
surveyRepository |
SurveyRepository |
questionTemplateRepository |
QuestionTemplateRepository |
templateQuestionRepository |
TemplateQuestionRepository |
surveyQuestionRepository |
SurveyQuestionRepository |
surveyCycleRepository |
SurveyCycleRepository |
surveyResponderRepository |
SurveyResponderRepository |
questionRepository |
QuestionRepository |
surveyCycleService |
SurveyCycleService |
createSurveyHelperService |
CreateSurveyHelperService |
logger |
ILogger |
Defined in¶
services/survey-service/src/services/survey.service.ts:31
Properties¶
createSurveyHelperService¶
• createSurveyHelperService: CreateSurveyHelperService
Defined in¶
services/survey-service/src/services/survey.service.ts:50
logger¶
• logger: ILogger
Defined in¶
services/survey-service/src/services/survey.service.ts:51
questionRepository¶
• Protected questionRepository: QuestionRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:45
questionTemplateRepository¶
• questionTemplateRepository: QuestionTemplateRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:35
surveyCycleRepository¶
• surveyCycleRepository: SurveyCycleRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:41
surveyCycleService¶
• surveyCycleService: SurveyCycleService
Defined in¶
services/survey-service/src/services/survey.service.ts:48
surveyQuestionRepository¶
• surveyQuestionRepository: SurveyQuestionRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:39
surveyRepository¶
• surveyRepository: SurveyRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:33
surveyResponderRepository¶
• Protected surveyResponderRepository: SurveyResponderRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:43
templateQuestionRepository¶
• templateQuestionRepository: TemplateQuestionRepository
Defined in¶
services/survey-service/src/services/survey.service.ts:37
Methods¶
_addLeadingZero¶
▸ Private _addLeadingZero(number, size): string
Parameters¶
| Name | Type |
|---|---|
number |
number |
size |
number |
Returns¶
string
Defined in¶
services/survey-service/src/services/survey.service.ts:433
_checkBasicSurveyValidations¶
▸ Private _checkBasicSurveyValidations(surveyRequest, existingSurvey?): Promise<void>
Parameters¶
| Name | Type |
|---|---|
surveyRequest |
SurveyDto |
existingSurvey? |
SurveyDto |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:234
_checkDateValidationForPatchCase¶
▸ Private _checkDateValidationForPatchCase(survey, existingSurvey): void
Parameters¶
| Name | Type |
|---|---|
survey |
Survey<DataObject<Model>> |
existingSurvey |
Survey<DataObject<Model>> |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:212
_checkSurveyDateValidations¶
▸ Private _checkSurveyDateValidations(survey): void
Parameters¶
| Name | Type |
|---|---|
survey |
Survey<DataObject<Model>> |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:266
_createQuestionsFromTemplate¶
▸ Private _createQuestionsFromTemplate(templateId, surveyId): Promise<void>
The function _createQuestionsFromTemplate creates survey questions based on a template and adds
them to a survey.
Parameters¶
| Name | Type | Description |
|---|---|---|
templateId |
string |
The templateId parameter is a string that represents the unique identifier of a template from which questions will be created for a survey. |
surveyId |
string |
The surveyId parameter is a string that represents the unique identifier of a survey. It is used to associate the questions created from a template with a specific survey. |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:151
_duplicateSurveyDetails¶
▸ Private _duplicateSurveyDetails(survey, createdSurvey): Promise<void>
The _duplicateSurveyDetails function duplicates survey details, sections, responders, workgroups, and survey questions.
Parameters¶
| Name | Type | Description |
|---|---|---|
survey |
Omit<SurveyDto, "id"> |
The survey parameter is an object of type SurveyDto with the id property omitted. It contains details of a survey that needs to be duplicated. |
createdSurvey |
SurveyDto |
The _duplicateSurveyDetails function takes in two parameters: survey and createdSurvey. The createdSurvey parameter is of type SurveyDto, which represents a survey object. It contains details about a survey that has been created, including an id property. |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:184
_processSurveyText¶
▸ Private _processSurveyText(survey): void
The _processSurveyText function processes survey text by unescaping HTML characters, extracting the title, and validating its length.
Parameters¶
| Name | Type | Description |
|---|---|---|
survey |
Omit<SurveyDto, "id"> |
The survey parameter is an object of type SurveyDto with the id property omitted. It likely contains information related to a survey, such as the survey text. |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:111
_setWeightFlagIfRequired¶
▸ Private _setWeightFlagIfRequired(survey, templateId?): Promise<void>
This function sets a weight flag on a survey if a specific condition is met.
Parameters¶
| Name | Type | Description |
|---|---|---|
survey |
Omit<SurveyDto, "id"> |
The survey parameter is an object of type SurveyDto with the id property omitted. It likely contains information related to a survey, such as its title, questions, options, etc. |
templateId? |
string |
The templateId parameter is an optional string that represents the ID of a question template. It is used in the _setWeightFlagIfRequired method to check if a survey has a base survey ID and if a template ID is provided. If a template ID is provided and the corresponding template |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:127
approveSurveyQuestions¶
▸ approveSurveyQuestions(surveyId): Promise<void>
Parameters¶
| Name | Type |
|---|---|
surveyId |
string |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:398
checkDeleteValidation¶
▸ checkDeleteValidation(surveyId): Promise<void>
Parameters¶
| Name | Type |
|---|---|
surveyId |
string |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:442
checkIfAllowedToUpdateSurvey¶
▸ checkIfAllowedToUpdateSurvey(id): Promise<void>
Parameters¶
| Name | Type |
|---|---|
id |
string |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:364
checkPastDateValidation¶
▸ checkPastDateValidation(survey): void
Parameters¶
| Name | Type |
|---|---|
survey |
Survey<DataObject<Model>> |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:319
createSurvey¶
▸ createSurvey(survey): Promise<Survey<DataObject<Model>> & SurveyRelations>
This function creates a survey, performs various validations and operations, and returns the created survey.
Parameters¶
| Name | Type | Description |
|---|---|---|
survey |
Omit<SurveyDto, "id"> |
The createSurvey function takes a parameter survey of type SurveyDto, but with the id property omitted. The function performs several tasks such as copying survey data from a base survey, performing validations, setting weight flags, generating a unique survey ID, creating a new survey in |
Returns¶
Promise<Survey<DataObject<Model>> & SurveyRelations>
The createSurvey function returns the created survey object after performing various
operations such as copying from a base survey, setting weight flag, generating a survey ID,
creating the survey in the repository, handling survey status, creating questions from a template
(if applicable), and duplicating survey details (if applicable).
Defined in¶
services/survey-service/src/services/survey.service.ts:66
deleteRelatedObjects¶
▸ deleteRelatedObjects(surveyId): Promise<void>
Parameters¶
| Name | Type |
|---|---|
surveyId |
string |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:448
generateSurveyId¶
▸ generateSurveyId(): Promise<string>
Returns¶
Promise<string>
Defined in¶
services/survey-service/src/services/survey.service.ts:412
getHtmlTextContent¶
▸ Private getHtmlTextContent(html?): string
Parameters¶
| Name | Type |
|---|---|
html? |
string |
Returns¶
string
Defined in¶
services/survey-service/src/services/survey.service.ts:325
handleSurveyApprove¶
▸ handleSurveyApprove(id, updateSurvey): Promise<void>
Parameters¶
| Name | Type |
|---|---|
id |
string |
updateSurvey |
Survey<DataObject<Model>> |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:383
handleSurveyStatus¶
▸ Private handleSurveyStatus(id, survey): Promise<void>
Parameters¶
| Name | Type |
|---|---|
id |
string |
survey |
Survey<DataObject<Model>> |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:373
handleSurveyStatusApprove¶
▸ handleSurveyStatusApprove(id, status): Promise<void>
Parameters¶
| Name | Type |
|---|---|
id |
string |
status |
SurveyStatus |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:391
updateModifiedByAndOn¶
▸ updateModifiedByAndOn(surveyId): Promise<void>
Parameters¶
| Name | Type |
|---|---|
surveyId |
string |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:465
updateSurvey¶
▸ updateSurvey(id, survey): Promise<void>
Parameters¶
| Name | Type |
|---|---|
id |
string |
survey |
SurveyDto |
Returns¶
Promise<void>
Defined in¶
services/survey-service/src/services/survey.service.ts:336
validateActivationWithoutDates¶
▸ Private validateActivationWithoutDates(startDate?, endDate?, isActive?): void
Parameters¶
| Name | Type |
|---|---|
startDate? |
string |
endDate? |
string |
isActive? |
boolean |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:301
validateAndGetSurvey¶
▸ validateAndGetSurvey(surveyId, filter?): Promise<Survey<DataObject<Model>> & SurveyRelations>
Parameters¶
| Name | Type |
|---|---|
surveyId |
string |
filter |
Filter<Survey<DataObject<Model>>> |
Returns¶
Promise<Survey<DataObject<Model>> & SurveyRelations>
Defined in¶
services/survey-service/src/services/survey.service.ts:471
validateDraftWithStartDate¶
▸ Private validateDraftWithStartDate(startDate?, isDraft?): void
Parameters¶
| Name | Type |
|---|---|
startDate? |
string |
isDraft? |
boolean |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:311
validateEndDateAfterStartDate¶
▸ Private validateEndDateAfterStartDate(startDate?, endDate?): void
Parameters¶
| Name | Type |
|---|---|
startDate? |
string |
endDate? |
string |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:295
validateStartDateWithActiveStatus¶
▸ Private validateStartDateWithActiveStatus(startDate?, isActive?): void
Parameters¶
| Name | Type |
|---|---|
startDate? |
string |
isActive? |
boolean |
Returns¶
void
Defined in¶
services/survey-service/src/services/survey.service.ts:279
validateTitleLength¶
▸ validateTitleLength(title): void
Parameters¶
| Name | Type |
|---|---|
title |
string |
Returns¶
void