changed everything from filcnaplo to refilc finally
This commit is contained in:
145
refilc_kreta_api/lib/client/api.dart
Normal file
145
refilc_kreta_api/lib/client/api.dart
Normal file
@@ -0,0 +1,145 @@
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class KretaAPI {
|
||||
// IDP API
|
||||
static const login = BaseKreta.kretaIdp + KretaApiEndpoints.token;
|
||||
static const logout = BaseKreta.kretaIdp + KretaApiEndpoints.revoke;
|
||||
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);
|
||||
static String subjects(String iss, String uid) =>
|
||||
"${BaseKreta.kreta(iss)}${KretaApiEndpoints.subjects}?oktatasiNevelesiFeladatUid=$uid";
|
||||
// Structure:
|
||||
// {
|
||||
// "Uid": 000,
|
||||
// "Tantargy": {
|
||||
// "Uid": 000,
|
||||
// "Nev": "Irodalom",
|
||||
// "Kategoria": {
|
||||
// "Uid": "000,magyar_nyelv_es_irodalom",
|
||||
// "Nev": "magyar_nyelv_es_irodalom",
|
||||
// "Leiras": "Magyar nyelv és irodalom"
|
||||
// },
|
||||
// "SortIndex": 0,
|
||||
// },
|
||||
// "Atlag": null, // float
|
||||
// "AtlagAlakulasaIdoFuggvenyeben": Array[], // no idea what this is
|
||||
// "SulyozottOsztalyzatOsszege": null, // int | float
|
||||
// "SulyozottOsztalyzatSzama": null, // int | float
|
||||
// "SortIndex": 0
|
||||
// }
|
||||
// refer to https://discord.com/channels/1111649116020285532/1111798771513303102/1148368925969612920
|
||||
|
||||
// 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 recipientTeachers =
|
||||
BaseKreta.kretaAdmin + KretaAdminEndpoints.recipientTeachers;
|
||||
static const recipientDirectorate =
|
||||
BaseKreta.kretaAdmin + KretaAdminEndpoints.recipientDirectorate;
|
||||
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 revoke = "/connect/revocation";
|
||||
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";
|
||||
static const subjects =
|
||||
"/ellenorzo/V3/Sajat/Ertekelesek/Atlagok/TantargyiAtlagok";
|
||||
}
|
||||
|
||||
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 recipientTeachers = "/api/v1/kreta/alkalmazottak/tanar";
|
||||
static const recipientDirectorate = "/api/v1/kreta/alkalmazottak/igazgatosag";
|
||||
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";
|
||||
}
|
||||
Reference in New Issue
Block a user