@campusiq/sdk
Version:
Official JavaScript/TypeScript SDK for CampusIQ - A comprehensive school management system API
61 lines • 1.84 kB
TypeScript
import { BaseResource } from './base';
import { Enrollment, ListResponse, PaginationParams } from '../types';
export interface CreateEnrollmentData {
studentId: string;
courseId: string;
semester: string;
enrollmentDate?: string;
}
export interface UpdateEnrollmentData {
status?: 'enrolled' | 'dropped' | 'completed';
grade?: string;
}
export interface EnrollmentFilters extends PaginationParams {
studentId?: string;
courseId?: string;
semester?: string;
status?: 'enrolled' | 'dropped' | 'completed';
enrollmentDateFrom?: string;
enrollmentDateTo?: string;
}
export declare class EnrollmentsResource extends BaseResource {
/**
* List all enrollments with optional filtering and pagination
*/
list(filters?: EnrollmentFilters): Promise<ListResponse<Enrollment>>;
/**
* Get a specific enrollment by ID
*/
get(enrollmentId: string): Promise<Enrollment>;
/**
* Create a new enrollment
*/
create(data: CreateEnrollmentData): Promise<Enrollment>;
/**
* Update an existing enrollment
*/
update(enrollmentId: string, data: UpdateEnrollmentData): Promise<Enrollment>;
/**
* Delete an enrollment
*/
delete(enrollmentId: string): Promise<{
success: boolean;
message: string;
}>;
/**
* Bulk enroll students in a course
*/
bulkEnroll(courseId: string, studentIds: string[], semester: string): Promise<{
created: Enrollment[];
errors: any[];
}>;
/**
* Drop a student from a course
*/
drop(enrollmentId: string, reason?: string): Promise<Enrollment>;
/**
* Complete an enrollment (mark as completed)
*/
complete(enrollmentId: string, finalGrade?: string): Promise<Enrollment>;
}
//# sourceMappingURL=enrollment.d.ts.map