UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

32 lines (31 loc) 1.57 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'; type SettingKey = 'isJoinApproval' | 'isInvitedOnly' | 'isActiveGroupTerms' | 'isActiveMembershipQuestions'; export type GroupSettingsState = { [k in SettingKey]?: boolean; }; declare class PayloadDTO extends BasePayloadPropsDTO { group: Group; originalState: GroupSettingsState; currentState: GroupSettingsState; } type Group = ActivityLogGroupDTO & { settings: GroupSettingsState; }; declare class DataDTO { actor: Partial<ActivityLogUserDTO>; group: Partial<ActivityLogGroupDTO>; object: Group; changes: ActivityPropChangedDTO<GroupSettingsState>; } export declare class UpdateGroupSettingsLog extends ActivityLogBaseUseCase<DataDTO> { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_GROUP_SETTINGS; 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 {};