UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

66 lines (65 loc) 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeleteMembershipQuestionLog = exports.UpdateMembershipQuestionLog = exports.CreateMembershipQuestionLog = exports.BaseMembershipQuestionLog = void 0; const activity_log_base_use_case_dto_1 = require("../../activity-log-base-use-case.dto"); const enums_1 = require("../../enums"); class BaseMembershipQuestionLog extends activity_log_base_use_case_dto_1.ActivityLogBaseUseCase { static toPayload(data) { return { useCase: this.useCase, eventTime: Date.now(), data, }; } static toDocument(payload) { const { eventTime, data } = payload; const { id, mainId, actor, group } = data; return { id, mainId, eventTime, useCase: this.useCase, eventType: this.eventType, objectType: this.objectType, actorId: actor ? actor.id : undefined, communityId: group.communityId, objectId: group.id, groupId: group.id, data: { actor: actor ? { id: actor.id } : null, group: data.group, changes: { membershipQuestion: { old: data.originalState, new: data.currentState } }, }, }; } toObjectIds() { const { actorId } = this.document; return { userIds: [actorId].filter((id) => id), }; } toData(objectData) { const { actorId, data } = this.document; return Object.assign(Object.assign({}, data), { actor: objectData.users[actorId] }); } } BaseMembershipQuestionLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP; exports.BaseMembershipQuestionLog = BaseMembershipQuestionLog; class CreateMembershipQuestionLog extends BaseMembershipQuestionLog { } CreateMembershipQuestionLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.CREATE_MEMBERSHIP_QUESTION; CreateMembershipQuestionLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.CREATE; CreateMembershipQuestionLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP; exports.CreateMembershipQuestionLog = CreateMembershipQuestionLog; class UpdateMembershipQuestionLog extends BaseMembershipQuestionLog { } UpdateMembershipQuestionLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.UPDATE_MEMBERSHIP_QUESTION; UpdateMembershipQuestionLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE; UpdateMembershipQuestionLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP; exports.UpdateMembershipQuestionLog = UpdateMembershipQuestionLog; class DeleteMembershipQuestionLog extends BaseMembershipQuestionLog { } DeleteMembershipQuestionLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.DELETE_MEMBERSHIP_QUESTION; DeleteMembershipQuestionLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.DELETE; DeleteMembershipQuestionLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP; exports.DeleteMembershipQuestionLog = DeleteMembershipQuestionLog;