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