UNPKG

@campusiq/sdk

Version:

Official JavaScript/TypeScript SDK for CampusIQ - A comprehensive school management system API

61 lines 1.84 kB
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