analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
137 lines • 3.37 kB
TypeScript
import type { QuestionActivity as Question } from '../../index';
import type { ActivityMode } from '../../SendActivityModal/types';
export type { School, SchoolYear, Class, Student, } from '../../utils/categoryDataUtils';
/**
* Activity type enum
* RASCUNHO: Draft activity (not sent)
* MODELO: Template activity
* ATIVIDADE: Activity sent to students
*/
export declare enum ActivityType {
RASCUNHO = "RASCUNHO",
MODELO = "MODELO",
ATIVIDADE = "ATIVIDADE"
}
/**
* Activity status enum
* A_VENCER: Activity pending (not yet due)
*/
export declare enum ActivityStatus {
A_VENCER = "A_VENCER"
}
/**
* Backend filters format (from API)
*/
export interface BackendFiltersFormat {
questionTypes?: string[];
questionBanks?: string[];
subjects?: string[];
topics?: string[];
subtopics?: string[];
contents?: string[];
}
/**
* Input accepted by preFilters prop
* Supports receiving either the filters object directly or wrapped inside a
* `filters` property.
*/
export type ActivityPreFiltersInput = BackendFiltersFormat | {
filters?: BackendFiltersFormat | null;
};
/**
* Activity draft response from backend
*/
export interface ActivityDraftResponse {
message: string;
data: {
draft: {
id: string;
type: ActivityType;
title: string;
creatorUserInstitutionId: string;
subjectId: string;
filters: BackendFiltersFormat;
createdAt: string;
updatedAt: string;
};
questionsLinked: number;
};
}
/**
* Activity object interface for creating/editing activities
*/
export interface ActivityData {
id?: string;
type: ActivityType;
title: string;
subjectId: string;
filters: BackendFiltersFormat;
questionIds: string[];
selectedQuestions?: Question[];
updatedAt?: string;
}
/**
* Activity creation payload sent to API
*/
export interface ActivityCreatePayload {
createdBySys: boolean;
title: string;
subjectId: string;
questionIds: string[];
subtype: string;
difficulty: string;
notification: string;
status: ActivityStatus;
startDate: string;
finalDate: string;
canRetry: boolean;
mode?: ActivityMode;
}
/**
* Activity creation response from API
*/
export interface ActivityCreateResponse {
message: string;
data: {
id: string;
creatorUserId: string;
createdBySys: boolean;
title: string;
type: string;
subtype: string;
difficulty: string;
notification: string;
status: string;
startDate: string;
finalDate: string;
canRetry: boolean;
subjectId: string;
createdAt: string;
updatedAt: string;
};
}
/**
* Recommended class draft data from API
*/
export interface RecommendedClassDraftData {
id: string;
type: string;
title: string;
subjectId: string;
filters: BackendFiltersFormat;
activityDrafts?: Array<{
activityDraftId: string;
sequence: number;
}>;
lessons?: Array<{
lessonId: string;
sequence: number;
}>;
}
/**
* Recommended class draft response from API
*/
export interface RecommendedClassDraftResponse {
data: RecommendedClassDraftData;
}
//# sourceMappingURL=ActivityCreate.types.d.ts.map