Skip to content

@sourceloop/survey-service / Exports / SurveyService

Class: SurveyService

Table of contents

Constructors

Properties

Methods

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

Defined in

services/survey-service/src/services/survey.service.ts:330