UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

57 lines (56 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BanCommunityMemberLog = void 0; const activity_log_base_use_case_dto_1 = require("../../activity-log-base-use-case.dto"); const enums_1 = require("../../enums"); class PayloadDTO extends activity_log_base_use_case_dto_1.BasePayloadPropsDTO { } class DataDTO { } class BanCommunityMemberLog extends activity_log_base_use_case_dto_1.ActivityLogBaseUseCase { static toPayload(data) { return { useCase: this.useCase, eventTime: Date.now(), data, }; } static toDocument({ eventTime, data }) { const { id, mainId, actor, bannedCommunityMember } = data; return { id, mainId, eventTime, useCase: this.useCase, eventType: this.eventType, objectType: this.objectType, actorId: actor ? actor.id : undefined, communityId: bannedCommunityMember.communityId, objectId: bannedCommunityMember.userId, data: { actor: actor ? { id: actor.id } : null, community: { id: bannedCommunityMember.communityId }, bannedUser: { id: bannedCommunityMember.userId }, } }; } toObjectIds() { const { actorId, data } = this.document; return { userIds: [actorId, data.bannedUser.id], communityIds: [data.community.id] }; } toData(objectData) { const { actorId, data } = this.document; return { actor: objectData.users[actorId], community: objectData.communities[data.community.id], bannedUser: objectData.users[data.bannedUser.id] }; } } BanCommunityMemberLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.BAN_MEMBER; BanCommunityMemberLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE; BanCommunityMemberLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.MEMBER; exports.BanCommunityMemberLog = BanCommunityMemberLog;