@beincom/dto
Version:
Share dto for all projects of Beincom
57 lines (56 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutoJoinGroupSetLog = 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 AutoJoinGroupSetLog 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, autoJoinGroupSet } = data;
return {
id,
mainId,
eventTime,
useCase: this.useCase,
eventType: this.eventType,
objectType: this.objectType,
actorId: actor ? actor.id : undefined,
communityId: autoJoinGroupSet.communityId,
objectId: autoJoinGroupSet.userId,
data: {
actor: actor ? { id: actor.id } : null,
groupSet: { id: autoJoinGroupSet.groupSetId },
user: { id: autoJoinGroupSet.userId },
}
};
}
toObjectIds() {
const { actorId, data } = this.document;
return {
userIds: [actorId, data.user.id],
groupSetIds: [data.groupSet.id]
};
}
toData(objectData) {
const { actorId, data } = this.document;
return {
actor: objectData.users[actorId],
groupSet: objectData.groupSets[data.groupSet.id],
user: objectData.users[data.user.id]
};
}
}
AutoJoinGroupSetLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.AUTO_JOIN_GROUP_SET;
AutoJoinGroupSetLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.CREATE;
AutoJoinGroupSetLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.MEMBER;
exports.AutoJoinGroupSetLog = AutoJoinGroupSetLog;