UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

43 lines (42 loc) 2.47 kB
import { ActivityLogBaseUseCase, BaseDataDTO, BasePayloadDTO, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto'; import { ActivityLogBadgeDTO, ActivityLogDocumentDTO, ActivityLogGroupDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ActivityPropChangedDTO } from '../../dtos'; import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums'; export type BadgeLogDto = ActivityLogBadgeDTO & { assignedTo?: ActivityLogGroupDTO; }; type BadgeChanges = ActivityPropChangedDTO<BadgeLogDto>; type PayloadDTO = BasePayloadPropsDTO & Omit<BasePayloadDTO<BadgeLogDto>, 'group' | 'community'>; type DataDTO = Omit<BaseDataDTO<BadgeLogDto>, 'group' | 'community'> & { changes: BadgeChanges; badge?: ActivityLogBadgeDTO; }; export declare class CreateBadgeLog extends ActivityLogBaseUseCase<DataDTO> { static readonly useCase: ACTIVITY_LOG_USE_CASES; static readonly eventType: ACTIVITY_EVENT_TYPES; static readonly objectType: ACTIVITY_OBJECT_TYPES; static toPayload(data: PayloadDTO): ActivityLogPayloadDTO<PayloadDTO>; static toDocument({ eventTime, data, useCase, }: ActivityLogPayloadDTO<PayloadDTO>): ActivityLogDocumentDTO<DataDTO>; toObjectIds(): ActivityLogObjectIdDTO; toData(objectData: Partial<ActivityLogObjectDataDTO>): DataDTO; } export declare class UpdateBadgeLog extends CreateBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class DeleteBadgeLog extends CreateBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.DELETE_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class AssignBadgeLog extends CreateBadgeLog { static readonly useCase: ACTIVITY_LOG_USE_CASES.ASSIGN_GROUP_BADGE | ACTIVITY_LOG_USE_CASES.UNASSIGN_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export declare class UnassignBadgeLog extends AssignBadgeLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UNASSIGN_GROUP_BADGE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP_BADGE; } export {};