@beincom/dto
Version:
Share dto for all projects of Beincom
39 lines (38 loc) • 2.32 kB
TypeScript
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 {};