UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

34 lines (33 loc) 1.58 kB
import { ActivityLogBaseUseCase, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto'; import { ActivityLogDocumentDTO, ActivityLogGroupDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ActivityLogUserDTO, ActivityPropChangedDTO } from '../../dtos'; import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums'; import { GroupSettingsState } from './update-group-settings.use-case'; export type GroupProfileState = Partial<{ name: string; description: string; privacy: string; backgroundImgUrl: string; icon: string; }>; declare class PayloadDTO extends BasePayloadPropsDTO { group: ActivityLogGroupDTO; originalState: GroupProfileState; currentState: GroupProfileState; } declare class DataDTO { actor: Partial<ActivityLogUserDTO>; group: Partial<ActivityLogGroupDTO>; changes: ActivityPropChangedDTO<GroupProfileState & { settings?: GroupSettingsState; }>; } export declare class UpdateGroupProfileLog extends ActivityLogBaseUseCase<DataDTO> { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_GROUP_PROFILE; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; static toPayload(data: PayloadDTO): ActivityLogPayloadDTO<PayloadDTO>; static toDocument({ eventTime, data, }: ActivityLogPayloadDTO<PayloadDTO>): ActivityLogDocumentDTO<DataDTO>; toObjectIds(): ActivityLogObjectIdDTO; toData(objectData: ActivityLogObjectDataDTO): DataDTO; } export {};