@beincom/dto
Version:
Share dto for all projects of Beincom
66 lines (65 loc) • 2.97 kB
JavaScript
;
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;