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