-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathactions.js
More file actions
65 lines (48 loc) · 1.72 KB
/
actions.js
File metadata and controls
65 lines (48 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { sendResponse as send } from '@utils/helpers';
import * as surveyService from '@modules/survey/service';
import { HttpStatuses, SuccessMessages } from '@utils/constants';
import Logger from '@common/libs/logger';
export const getSurveys = async (ctx) => {
Logger.log(`getSurveys, params: ${JSON.stringify(ctx.params)}`);
const { campaignId } = ctx.params;
const surveys = await surveyService.getSurveysWithRelations(campaignId);
return send({
ctx,
status: HttpStatuses.HTTP_STATUS_SUCCESS,
message: SuccessMessages.MSG_OPERATION_IS_SUCCESSFULL,
content: surveys,
});
};
export const deleteSurvey = async (ctx) => {
Logger.log(`deleteSurvey, params: ${JSON.stringify(ctx.params)}`);
const { surveyId } = ctx.params;
await surveyService.deleteSurvey(surveyId);
return send({
ctx,
status: HttpStatuses.HTTP_STATUS_SUCCESS,
message: SuccessMessages.MSG_OPERATION_IS_SUCCESSFULL,
});
};
export const upsertSurvey = async (ctx) => {
Logger.log(`upsertSurvey, body: ${JSON.stringify(ctx.request.body)}`);
const input = ctx.request.body;
const surveys = await surveyService.upsertSurvey(input);
return send({
ctx,
status: HttpStatuses.HTTP_STATUS_SUCCESS,
message: SuccessMessages.MSG_SURVEY_SUCCESS,
content: surveys,
});
};
export const exportSurveys = async (ctx) => {
Logger.log(`exportSurveys, query: ${JSON.stringify(ctx.request.query)}`);
const filters = ctx.request.query;
const { campaignId } = ctx.params;
const surveys = await surveyService.getSurveysClientView(filters, campaignId, ctx.user);
return send({
ctx,
status: HttpStatuses.HTTP_STATUS_SUCCESS,
message: SuccessMessages.MSG_OPERATION_IS_SUCCESSFULL,
content: surveys,
});
};