-
Notifications
You must be signed in to change notification settings - Fork 51
API Documentation
POST http://snf-538265.vm.okeanos.grnet.gr/modules/rest/login - Δέχεται ένα JSON string σαν POST parameters με το uname και pass ({"uname":"admin","pass":"apostolos"}
) και επιστρέφει ένα JSON string με το access_token. Αυτό χρησιμοποιείται για να αυθεντικοποιούνται όλα τα επόμενα requests
GET http://snf-538265.vm.okeanos.grnet.gr/modules/rest/login/status - Επιστρέφει session_status:true εάν είναι logged in και επιστρέφει session_status:EXPIRED και session_status:NOT_LOGGED_IN εάν είναι expired ή όχι logged in αντίστοιχα.
Type | REST uri | Description |
---|---|---|
GetForums | /courses/:cid/forums | Δέχεται με GET ως όρισμα το id του μαθήματος και εμφανίζει τα Forum που σχετίζονται με αυτό. Επιστρέφει json με τα πεδία id, name, course_id, num_topics . |
GetTopics | /courses/:cid/forums/:fid/topics | Δέχεται με GET ως ορίσματα το id του μαθήματος και το id του Forum και εμφανίζει τα topics που σχετίζονται με αυτό το Forum. |
PostTopic | /courses/:cid/forums/:fid/topics | Δέχεται με POST ένα json της μορφής {"title" : "Τίτλος Θέματος"} και προσθέτει ένα νέο Topic. Αν ο χρήστης δεν συμπληρώσει τον τίτλο επιστρέφει ένα json της μορφής {"success" : "False"} , διαφορετικά {"success" : "True"} . |
GetPosts | /courses/:cid/forums/:fid/topics/:tid/posts | Δέχεται με GET ως ορίσματα το id του μαθήματος, το id του Forum, το id του Topic και εμφανίζει τα Posts που σχετίζονται με αυτό το Topic. |
PostPosts | /courses/:cid/forums/:fid/topics/:tid/posts | Δέχεται με POST ένα json της μορφής {"post_test" : "Κείμενο του post"} και προσθέτει ένα νέο Post. Αν ο χρήστης δεν συμπληρώσει τον τίτλο επιστρέφει ένα json της μορφής {"success" : "False"} , διαφορετικά {"success" : "True"} . |
#Λειτουργία courses
Delete courses with Course ID
/courses/:cid
Δέχεται σαν παράμετρο τον κωδικό του μαθήματος πάνω στο URL και διαγράφει τον χρήστη από το μάθημα (unenroll). Δεν επιστρέφει κάτι.
Get Enrolled Courses
/enrolledcourses
Δέχεται σαν get παράμετρο το access_token και επιστρέφει όλα τα μαθήματα του χρήστη.
Post Enroll Course με :cid
/enrollcourse
Δέχεται σαν get παράμετρο το access_token και σαν post παράμετρο το cid και εγγράφει το χρήστη στο μάθημα με id το cid.
Επιστρέφει μια μεταβλητή error με τους εξής κωδικούς:
$SUCCESS = 0;
$RESTRICTED = 1;
$PASS_PROTECTED = 2;
$COURSE_NOT_EXISTS = 3;
$ALREADY_ENROLLED = 4;
#Λειτουργία Announcements
GET Announcements with Course ID
/courses/:cid/announcements
Δέχεται με GET ως όρισμα το id του μαθήματος και εμφανίζει τις ανακοινώσεις για το συγκεκριμένο μάθημα.Επιστρέφει σε
μορφή JSON πεδία της μορφής {id,title,content,date} και το {"error":"0/1"} το οποίο ειναι 0 αν ολα πήγαν καλά αλλιώς επιστρεφει
{"error":"1"}
GET Announcements
/courses/announcements
Δέχεται αίτημα GET και επιστρέφει σε JSON μορφή πεδία τηςμορφής {id,announcement.title,content,date,course.title,visible}.
Το πεδίο visible ειναι 0/1 ανάλογα με το αν ο χρήστης έχει δει την ανακοίνωση ή οχι.Αν την εχει δει επιστρέφει {"visible":"1"}
αλλίως {"visible":"0"}.Τέλος ύπαρχει και το {"error","0/1"} όπως αναφέρθηκε και παραπάνω το οποίο δεν ειναι πεδίο του
παραπάνω JSON αλλά ένα ξεχωριστό.
Mark announcements as read
/courses/announcements/:aid/read
Μαρκάρει τις διαβασμένες ανακοινώσεις εισάγοντας το ID της ανακοίνωσης και του χρήστη σε έναν πίνακα στη ΒΔ.
Δεν επιστρέφει κάτι.
#Λειτουργία εγγράφων
/courses/:cid/documents
Μέθοδος GET.Δέχεται το cid τον κωδικό του μαθήματος για τα έγγραφα που αφορά το συγκεκριμένο μάθημα.
Επιστρέφει δεδομένα σε μορφη JSON όπως :{id,path,filename,date,creator,comment,title,} καθως και δεδομενο {error:1} αν υπαρχει πρόβλημα.
Για κατέβασμα των αρχείων πρεπει να επιλεχθεί το path του εγγράφου.