@cmru-comsci-66/cmru-api - v0.5.0
    Preparing search index...

    Class Reg

    คลาสสำหรับเรียกใช้ API ของระบบทะเบียนนักศึกษา CMRU ใช้สำหรับดึงข้อมูลนักศึกษา ตารางเรียน เกรด กิจกรรม และแผนการศึกษา

    import { ApiClient, ApiServer } from '@cmru-comsci-66/cmru-api';

    const client = new ApiClient(ApiServer.REG);
    const regApi = client.api();

    // เข้าสู่ระบบ
    await regApi.login({
    username: '66143000',
    password: 'yourpassword'
    });

    // ดึงข้อมูลนักศึกษา
    const studentInfo = await regApi.getStudentInfo();
    console.log(studentInfo);
    // Output: { studentId: '66143000', fullName: 'นายจอห์น โด', ... }
    Index

    Methods

    • ดึงข้อมูลกิจกรรมนักศึกษา

      Returns Promise<ActivityData>

      const activities = await regApi.getActivity();
      console.log(activities);
      // Output: {
      // records: [
      // {
      // activityName: 'กิจกรรมวันแรกเข้าเรียน',
      // date: '2024-08-15',
      // status: 'ผ่าน',
      // hours: 8
      // }
      // ],
      // summary: { totalHours: 120, requiredHours: 180 }
      // }
    • ดึงข้อมูลกิจกรรมแบบมี Pagination

      Returns Promise<PaginatedActivityResult>

      const activitiesWithPagination = await regApi.getActivityWithPagination();
      console.log(activitiesWithPagination);
      // Output: {
      // data: { records: [...], summary: {...} },
      // pagination: { currentPage: 1, totalPages: 2, hasNextPage: true },
      // isComplete: false
      // }
    • ดึงข้อมูลเกรดทั้งหมด (รวมทุกหน้า)

      Returns Promise<GradeData>

      const completeGrades = await regApi.getCompleteGrades();
      console.log(completeGrades);
      // Output: { records: [...ทุกเทอม...], summary: { gpa: 3.75 } }
    • ดึงข้อมูลเกรด

      Returns Promise<GradeData>

      const grades = await regApi.getGrades();
      console.log(grades);
      // Output: {
      // records: [
      // {
      // courseCode: 'COM 2305-63',
      // courseName: 'การเขียนโปรแกรมเว็บ',
      // credits: 3,
      // grade: 'A',
      // gradePoints: 4.0
      // }
      // ],
      // summary: { totalCredits: 120, gpa: 3.75 }
      // }
    • ดึงข้อมูลเกรดแบบมี Pagination

      Returns Promise<PaginatedGradeResult>

      const gradesWithPagination = await regApi.getGradesWithPagination();
      console.log(gradesWithPagination);
      // Output: {
      // data: { records: [...], summary: {...} },
      // pagination: { currentPage: 1, totalPages: 3, hasNextPage: true },
      // isComplete: false
      // }
    • ดึงข้อมูลนักศึกษา

      Returns Promise<StudentInfo>

      const studentInfo = await regApi.getStudentInfo();
      console.log(studentInfo);
      // Output: {
      // studentId: '66143000',
      // fullName: 'นายจอห์น โด',
      // thaiName: 'นายจอห์น โด',
      // hasOutstandingPayment: false
      // }
    • ดึงแผนการศึกษา

      Returns Promise<StudyPlanData>

      const studyPlan = await regApi.getStudyPlan();
      console.log(studyPlan);
      // Output: {
      // categories: [
      // {
      // name: 'วิชา',
      // totalCredits: 18,
      // courses: [
      // {
      // courseCode: 'COM 2305-63',
      // courseName: 'การเขียนโปรแกรมเว็บ',
      // credits: 3,
      // year: 1,
      // semester: 1
      // }
      // ]
      // }
      // ]
      // }
    • ดึงแผนการศึกษาแบบมี Pagination

      Returns Promise<PaginatedStudyPlanResult>

      const studyPlanWithPagination = await regApi.getStudyPlanWithPagination();
      console.log(studyPlanWithPagination);
      // Output: {
      // data: { categories: [...] },
      // pagination: { currentPage: 1, totalPages: 4, hasNextPage: true },
      // isComplete: false
      // }
    • ดึงตารางเรียน

      Returns Promise<TimetableData>

      const timetable = await regApi.getTimeTable();
      console.log(timetable);
      // Output: {
      // schedule: [
      // {
      // day: 'จันทร์',
      // time: '08:00-10:00',
      // courseCode: 'COM 2305-63',
      // courseName: 'การเขียนโปรแกรมเว็บ',
      // room: 'SCI9-306'
      // }
      // ]
      // }
    • เข้าสู่ระบบทะเบียนนักศึกษา CMRU

      Parameters

      • credentials: SessionCredentials
      • OptionalbuildKey: string

      Returns Promise<AxiosResponse<SessionResponse, any, {}>>

      await regApi.login({
      username: '66143000',
      password: 'yourpassword'
      });