UNPKG

@campusiq/sdk

Version:

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

80 lines 2.44 kB
import { BaseResource } from './base'; import { Attendance, ListResponse, PaginationParams } from '../types'; export interface CreateAttendanceData { studentId: string; courseId: string; date: string; status: 'present' | 'absent' | 'tardy' | 'excused'; notes?: string; recordedBy: string; } export interface UpdateAttendanceData extends Partial<Omit<CreateAttendanceData, 'studentId' | 'courseId' | 'date'>> { } export interface AttendanceFilters extends PaginationParams { studentId?: string; courseId?: string; status?: 'present' | 'absent' | 'tardy' | 'excused'; startDate?: string; endDate?: string; recordedBy?: string; } export declare class AttendanceResource extends BaseResource { /** * List all attendance records with optional filtering and pagination */ list(filters?: AttendanceFilters): Promise<ListResponse<Attendance>>; /** * Get a specific attendance record by ID */ getAttendance(attendanceId: string): Promise<Attendance>; /** * Create a new attendance record */ createAttendance(data: CreateAttendanceData): Promise<Attendance>; /** * Update an existing attendance record */ updateAttendance(attendanceId: string, data: UpdateAttendanceData): Promise<Attendance>; /** * Delete an attendance record */ deleteAttendance(attendanceId: string): Promise<{ success: boolean; message: string; }>; /** * Bulk create attendance records */ bulkCreate(records: CreateAttendanceData[]): Promise<{ created: Attendance[]; errors: any[]; }>; /** * Get attendance statistics for a student */ getStudentStats(studentId: string, filters?: { courseId?: string; startDate?: string; endDate?: string; }): Promise<any>; /** * Get attendance statistics for a course */ getCourseStats(courseId: string, filters?: { date?: string; startDate?: string; endDate?: string; }): Promise<any>; /** * Mark attendance for multiple students */ markBulkAttendance(courseId: string, date: string, records: Array<{ studentId: string; status: 'present' | 'absent' | 'tardy' | 'excused'; notes?: string; }>): Promise<{ created: Attendance[]; errors: any[]; }>; } //# sourceMappingURL=attendance.d.ts.map