UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

39 lines (38 loc) 2.32 kB
import { ActivityLogBaseUseCase, BaseDataDTO, BasePayloadDTO, BasePayloadPropsDTO } from '../../activity-log-base-use-case.dto'; import { ActivityLogDocumentDTO, ActivityLogObjectDataDTO, ActivityLogObjectIdDTO, ActivityLogPayloadDTO, ChangeBaseDTO } from '../../dtos'; import { ACTIVITY_EVENT_TYPES, ACTIVITY_LOG_USE_CASES, ACTIVITY_OBJECT_TYPES } from '../../enums'; type QuestionStates = { question: string; isRequired: boolean; }; type PayloadDTO = BasePayloadPropsDTO & Pick<BasePayloadDTO<QuestionStates>, 'group' | 'originalState' | 'currentState'>; type DataDTO = Pick<BaseDataDTO, 'actor' | 'group'> & { changes: { membershipQuestion: ChangeBaseDTO<QuestionStates>; }; }; export declare class BaseMembershipQuestionLog extends ActivityLogBaseUseCase<DataDTO> { static readonly useCase: ACTIVITY_LOG_USE_CASES.CREATE_MEMBERSHIP_QUESTION | ACTIVITY_LOG_USE_CASES.UPDATE_MEMBERSHIP_QUESTION | ACTIVITY_LOG_USE_CASES.DELETE_MEMBERSHIP_QUESTION; static readonly eventType: ACTIVITY_EVENT_TYPES.CREATE | ACTIVITY_EVENT_TYPES.UPDATE | ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; static toPayload(data: PayloadDTO): ActivityLogPayloadDTO<PayloadDTO>; static toDocument(payload: ActivityLogPayloadDTO<PayloadDTO>): ActivityLogDocumentDTO<DataDTO>; toObjectIds(): ActivityLogObjectIdDTO; toData(objectData: ActivityLogObjectDataDTO): DataDTO; } export declare class CreateMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.CREATE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.CREATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export declare class UpdateMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.UPDATE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.UPDATE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export declare class DeleteMembershipQuestionLog extends BaseMembershipQuestionLog { static readonly useCase = ACTIVITY_LOG_USE_CASES.DELETE_MEMBERSHIP_QUESTION; static readonly eventType = ACTIVITY_EVENT_TYPES.DELETE; static readonly objectType = ACTIVITY_OBJECT_TYPES.GROUP; } export {};