UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

82 lines (81 loc) 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnassignBadgeLog = exports.AssignBadgeLog = exports.DeleteBadgeLog = exports.UpdateBadgeLog = exports.CreateBadgeLog = void 0; const activity_log_base_use_case_dto_1 = require("../../activity-log-base-use-case.dto"); const enums_1 = require("../../enums"); const helpers_1 = require("../../helpers"); class CreateBadgeLog extends activity_log_base_use_case_dto_1.ActivityLogBaseUseCase { static toPayload(data) { return { useCase: this.useCase, eventTime: Date.now(), data, }; } static toDocument({ eventTime, data, useCase, }) { var _a; const { id, mainId, actor, originalState, currentState } = data; const isNotUpdate = [ enums_1.ACTIVITY_LOG_USE_CASES.CREATE_GROUP_BADGE, enums_1.ACTIVITY_LOG_USE_CASES.DELETE_GROUP_BADGE, ].includes(useCase); const loggedBadge = originalState.id ? originalState : currentState; return { id, mainId, eventTime, useCase: this.useCase, eventType: this.eventType, objectType: this.objectType, actorId: actor ? actor.id : undefined, communityId: loggedBadge.communityId, objectId: (_a = currentState.id) !== null && _a !== void 0 ? _a : originalState.id, data: { actor, object: loggedBadge, changes: isNotUpdate ? {} : (0, helpers_1.GetPropsChanged)(originalState, currentState), }, }; } toObjectIds() { const actorId = this.document.actorId; return { userIds: actorId ? [actorId] : [], badgeIds: [this.document.objectId], }; } toData(objectData) { const { actorId, data, objectId } = this.document; return Object.assign(Object.assign({}, data), { actor: objectData.users[actorId], badge: objectData.badges[objectId] }); } } CreateBadgeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.CREATE_GROUP_BADGE; CreateBadgeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.CREATE; CreateBadgeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_BADGE; exports.CreateBadgeLog = CreateBadgeLog; class UpdateBadgeLog extends CreateBadgeLog { } UpdateBadgeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.UPDATE_GROUP_BADGE; UpdateBadgeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE; UpdateBadgeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_BADGE; exports.UpdateBadgeLog = UpdateBadgeLog; class DeleteBadgeLog extends CreateBadgeLog { } DeleteBadgeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.DELETE_GROUP_BADGE; DeleteBadgeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.DELETE; DeleteBadgeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_BADGE; exports.DeleteBadgeLog = DeleteBadgeLog; class AssignBadgeLog extends CreateBadgeLog { } AssignBadgeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.ASSIGN_GROUP_BADGE; AssignBadgeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE; AssignBadgeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_BADGE; exports.AssignBadgeLog = AssignBadgeLog; class UnassignBadgeLog extends AssignBadgeLog { } UnassignBadgeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.UNASSIGN_GROUP_BADGE; UnassignBadgeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE; UnassignBadgeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_BADGE; exports.UnassignBadgeLog = UnassignBadgeLog;