forked from firka/firka
feat: from, to params
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
/// URL builders for Kreta ellenorzo API that depend only on [iss].
|
||||
/// Auth-related URLs (login, token) and Constants stay in the app (firka).
|
||||
class KretaEndpoints {
|
||||
static const String kretaBase = "e-kreta.hu";
|
||||
static DateFormat dateTimeFormat = DateFormat('yyyy-MM-dd');
|
||||
|
||||
static String kreta(String iss) {
|
||||
if (iss == "firka-test") {
|
||||
@@ -11,20 +14,40 @@ class KretaEndpoints {
|
||||
}
|
||||
}
|
||||
|
||||
static String dateQuery(DateTime? from, DateTime? to) {
|
||||
StringBuffer buffer = StringBuffer();
|
||||
|
||||
if (from == null) {
|
||||
if (to == null) {
|
||||
return buffer.toString();
|
||||
}
|
||||
throw Exception("'from' is required to use 'to'");
|
||||
}
|
||||
|
||||
buffer.write("?datumTol=");
|
||||
buffer.write(dateTimeFormat.format(from));
|
||||
|
||||
if (to != null) {
|
||||
buffer.write("&datumIg=");
|
||||
buffer.write(dateTimeFormat.format(to));
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
static String getStudentUrl(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/TanuloAdatlap";
|
||||
|
||||
static String getClassGroups(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/OsztalyCsoportok";
|
||||
|
||||
static String getNoticeBoard(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/FaliujsagElemek";
|
||||
static String getNoticeBoard(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/FaliujsagElemek${dateQuery(from, to)}";
|
||||
|
||||
static String getInfoBoard(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Feljegyzesek";
|
||||
static String getInfoBoard(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Feljegyzesek${dateQuery(from, to)}";
|
||||
|
||||
static String getGrades(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Ertekelesek";
|
||||
static String getGrades(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Ertekelesek${dateQuery(from, to)}";
|
||||
|
||||
static String getSubjectAvg(String iss, String studyGroupId) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Ertekelesek/Atlagok/TantargyiAtlagok?oktatasiNevelesiFeladatUid=$studyGroupId&oktatasiNevelesiFeladatUid=$studyGroupId";
|
||||
@@ -32,17 +55,17 @@ class KretaEndpoints {
|
||||
static String getClassGroupAvg(String iss, String studyGroupId) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Ertekelesek/Atlagok/OsztalyAtlagok?oktatasiNevelesiFeladatUid=$studyGroupId&oktatasiNevelesiFeladatUid=$studyGroupId";
|
||||
|
||||
static String getTimeTable(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/OrarendElemek";
|
||||
static String getTimeTable(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/OrarendElemek${dateQuery(from, to)}";
|
||||
|
||||
static String getOmissions(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Mulasztasok";
|
||||
static String getOmissions(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/Mulasztasok${dateQuery(from, to)}";
|
||||
|
||||
static String getHomework(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/HaziFeladatok";
|
||||
static String getHomework(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/HaziFeladatok${dateQuery(from, to)}";
|
||||
|
||||
static String getTests(String iss) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/BejelentettSzamonkeresek";
|
||||
static String getTests(String iss, [DateTime? from, DateTime? to]) =>
|
||||
"${kreta(iss)}/ellenorzo/v3/sajat/BejelentettSzamonkeresek${dateQuery(from, to)}";
|
||||
|
||||
static String getLessons(String iss) =>
|
||||
"${kreta(iss)}/dktapi/intezmenyek/munkaterek/tanulok";
|
||||
|
||||
Reference in New Issue
Block a user