@beincom/dto
Version:
Share dto for all projects of Beincom
63 lines (62 loc) • 2.53 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssignGroupSchemeLog = 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 AssignGroupSchemeLog 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, community, originalState, currentState } = data;
const { assigned: originalAssigned } = originalState;
const { assigned: currentAssigned } = currentState, restCurrentScheme = __rest(currentState, ["assigned"]);
return {
id,
mainId,
eventTime,
useCase: this.useCase,
eventType: this.eventType,
objectType: this.objectType,
actorId: actor ? actor.id : undefined,
communityId: community.id,
objectId: restCurrentScheme.id,
data: {
actor,
community,
object: restCurrentScheme,
changes: (0, helpers_1.GetPropsChanged)({ assigned: originalAssigned }, { assigned: currentAssigned }),
},
};
}
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] });
}
}
AssignGroupSchemeLog.useCase = enums_1.ACTIVITY_LOG_USE_CASES.ASSIGN_GROUP_SCHEME;
AssignGroupSchemeLog.eventType = enums_1.ACTIVITY_EVENT_TYPES.UPDATE;
AssignGroupSchemeLog.objectType = enums_1.ACTIVITY_OBJECT_TYPES.GROUP_SCHEME;
exports.AssignGroupSchemeLog = AssignGroupSchemeLog;