forked from firka/student-legacy
126 lines
5.6 KiB
Dart
126 lines
5.6 KiB
Dart
import 'package:intl/intl.dart';
|
|
|
|
class KretaAPI {
|
|
// IDP API
|
|
static const login = BaseKreta.kretaIdp + KretaApiEndpoints.token;
|
|
static const nonce = BaseKreta.kretaIdp + KretaApiEndpoints.nonce;
|
|
static const clientId = "kreta-ellenorzo-mobile-android";
|
|
|
|
// ELLENORZO API
|
|
static String notes(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.notes;
|
|
static String events(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.events;
|
|
static String student(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.student;
|
|
static String grades(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.grades;
|
|
static String absences(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.absences;
|
|
static String groups(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.groups;
|
|
static String groupAverages(String iss, String uid) =>
|
|
BaseKreta.kreta(iss) +
|
|
KretaApiEndpoints.groupAverages +
|
|
"?oktatasiNevelesiFeladatUid=" +
|
|
uid;
|
|
static String averages(String iss, String uid) =>
|
|
BaseKreta.kreta(iss) +
|
|
KretaApiEndpoints.averages +
|
|
"?oktatasiNevelesiFeladatUid=" +
|
|
uid;
|
|
static String timetable(String iss, {DateTime? start, DateTime? end}) =>
|
|
BaseKreta.kreta(iss) +
|
|
KretaApiEndpoints.timetable +
|
|
(start != null && end != null
|
|
? "?datumTol=" +
|
|
start.toUtc().toIso8601String() +
|
|
"&datumIg=" +
|
|
end.toUtc().toIso8601String()
|
|
: "");
|
|
static String exams(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.exams;
|
|
static String homework(String iss, {DateTime? start, String? id}) =>
|
|
BaseKreta.kreta(iss) +
|
|
KretaApiEndpoints.homework +
|
|
(id != null ? "/$id" : "") +
|
|
(id == null && start != null
|
|
? "?datumTol=" + DateFormat('yyyy-MM-dd').format(start)
|
|
: "");
|
|
static String capabilities(String iss) =>
|
|
BaseKreta.kreta(iss) + KretaApiEndpoints.capabilities;
|
|
static String downloadHomeworkAttachments(
|
|
String iss, String uid, String type) =>
|
|
BaseKreta.kreta(iss) +
|
|
KretaApiEndpoints.downloadHomeworkAttachments(uid, type);
|
|
|
|
// ADMIN API
|
|
static const sendMessage =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.sendMessage;
|
|
static String messages(String endpoint) =>
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.messages(endpoint);
|
|
static String message(String id) =>
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.message(id);
|
|
static const recipientCategories =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.recipientCategories;
|
|
static const availableCategories =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.availableCategories;
|
|
static const recipientsTeacher =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.recipientsTeacher;
|
|
static const uploadAttachment =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.uploadAttachment;
|
|
static String downloadAttachment(String id) =>
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.downloadAttachment(id);
|
|
static const trashMessage =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.trashMessage;
|
|
static const deleteMessage =
|
|
BaseKreta.kretaAdmin + KretaAdminEndpoints.deleteMessage;
|
|
}
|
|
|
|
class BaseKreta {
|
|
static String kreta(String iss) => "https://$iss.e-kreta.hu";
|
|
static const kretaIdp = "https://idp.e-kreta.hu";
|
|
static const kretaAdmin = "https://eugyintezes.e-kreta.hu";
|
|
static const kretaFiles = "https://files.e-kreta.hu";
|
|
}
|
|
|
|
class KretaApiEndpoints {
|
|
static const token = "/connect/token";
|
|
static const nonce = "/nonce";
|
|
static const notes = "/ellenorzo/V3/Sajat/Feljegyzesek";
|
|
static const events = "/ellenorzo/V3/Sajat/FaliujsagElemek";
|
|
static const student = "/ellenorzo/V3/Sajat/TanuloAdatlap";
|
|
static const grades = "/ellenorzo/V3/Sajat/Ertekelesek";
|
|
static const absences = "/ellenorzo/V3/Sajat/Mulasztasok";
|
|
static const groups = "/ellenorzo/V3/Sajat/OsztalyCsoportok";
|
|
static const groupAverages =
|
|
"/ellenorzo/V3/Sajat/Ertekelesek/Atlagok/OsztalyAtlagok";
|
|
static const averages = "/ellenorzo/V3/idk";
|
|
static const timetable = "/ellenorzo/V3/Sajat/OrarendElemek";
|
|
static const exams = "/ellenorzo/V3/Sajat/BejelentettSzamonkeresek";
|
|
static const homework = "/ellenorzo/V3/Sajat/HaziFeladatok";
|
|
// static const homeworkDone = "/ellenorzo/V3/Sajat/HaziFeladatok/Megoldva"; // Removed from the API
|
|
static const capabilities = "/ellenorzo/V3/Sajat/Intezmenyek";
|
|
static String downloadHomeworkAttachments(String uid, String type) =>
|
|
"/ellenorzo/V3/Sajat/Csatolmany/$uid";
|
|
}
|
|
|
|
class KretaAdminEndpoints {
|
|
//static const messages = "/api/v1/kommunikacio/postaladaelemek/sajat";
|
|
static const sendMessage = "/api/v1/kommunikacio/uzenetek";
|
|
static String messages(String endpoint) =>
|
|
"/api/v1/kommunikacio/postaladaelemek/$endpoint";
|
|
static String message(String id) =>
|
|
"/api/v1/kommunikacio/postaladaelemek/$id";
|
|
static const recipientCategories = "/api/v1/adatszotarak/cimzetttipusok";
|
|
static const availableCategories = "/api/v1/kommunikacio/cimezhetotipusok";
|
|
static const recipientsTeacher = "/api/v1/kreta/alkalmazottak/tanar";
|
|
static const uploadAttachment = "/ideiglenesfajlok";
|
|
static String downloadAttachment(String id) =>
|
|
"/api/v1/dokumentumok/uzenetek/$id";
|
|
static const trashMessage = "/api/v1/kommunikacio/postaladaelemek/kuka";
|
|
static const deleteMessage = "/api/v1/kommunikacio/postaladaelemek/torles";
|
|
// profile management
|
|
static const editProfile = "/api/profilapi/saveprofildata";
|
|
}
|