@mbc-cqrs-serverless/survey-template
Version:
50 lines • 2.69 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var SurveyAnswerService_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SurveyAnswerService = void 0;
const core_1 = require("@mbc-cqrs-serverless/core");
const common_1 = require("@nestjs/common");
const ulid_1 = require("ulid");
const survey_answer_command_dto_1 = require("./dto/survey-answer-command.dto");
const survey_answer_data_entity_1 = require("./entity/survey-answer-data.entity");
const keys_1 = require("./keys");
let SurveyAnswerService = SurveyAnswerService_1 = class SurveyAnswerService {
constructor(commandService, dataService) {
this.commandService = commandService;
this.dataService = dataService;
this.logger = new common_1.Logger(SurveyAnswerService_1.name);
}
async create(createDto, opts) {
this.logger.debug('createDto:', createDto);
const { tenantCode } = (0, core_1.getUserContext)(opts.invokeContext);
const pk = `SURVEY${core_1.KEY_SEPARATOR}${tenantCode}`;
const sk = `${keys_1.SURVEY_ANSWER_SK_PREFIX}${core_1.KEY_SEPARATOR}${createDto.attributes.surveyId}${core_1.KEY_SEPARATOR}${(0, ulid_1.ulid)()}`;
const surveyAnswer = new survey_answer_command_dto_1.SurveyAnswerCommandDto({
pk,
sk,
id: (0, core_1.generateId)(pk, sk),
tenantCode,
name: '',
code: sk,
attributes: createDto.attributes,
});
const item = await this.commandService.publishAsync(surveyAnswer, opts);
return new survey_answer_data_entity_1.SurveyAnswerDataEntity(item);
}
};
exports.SurveyAnswerService = SurveyAnswerService;
exports.SurveyAnswerService = SurveyAnswerService = SurveyAnswerService_1 = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [core_1.CommandService,
core_1.DataService])
], SurveyAnswerService);
//# sourceMappingURL=survey-answer.service.js.map