Basic structure and courses api
This commit is contained in:
parent
1c60f68c62
commit
9f4eb7f79a
5 changed files with 71 additions and 0 deletions
1
bin/packages
Symbolic link
1
bin/packages
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../packages
|
22
bin/titama.dart
Normal file
22
bin/titama.dart
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
library titama;
|
||||||
|
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:logging/logging.dart';
|
||||||
|
import 'package:rpc/rpc.dart';
|
||||||
|
|
||||||
|
import '../lib/server/titamaapi.dart';
|
||||||
|
|
||||||
|
final ApiServer _apiServer = new ApiServer(prettyPrint: true);
|
||||||
|
|
||||||
|
main() async {
|
||||||
|
Logger.root
|
||||||
|
..level = Level.INFO
|
||||||
|
..onRecord.listen(print);
|
||||||
|
|
||||||
|
_apiServer.addApi(new TitamaApi());
|
||||||
|
|
||||||
|
HttpServer server = await HttpServer.bind(InternetAddress.ANY_IP_V4, 8080);
|
||||||
|
server.listen(_apiServer.httpRequestHandler);
|
||||||
|
print('Server listening on http://${server.address.host}:${server.port}');
|
||||||
|
}
|
14
lib/common/messages.dart
Normal file
14
lib/common/messages.dart
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
library titama.messages;
|
||||||
|
|
||||||
|
class Course {
|
||||||
|
String title;
|
||||||
|
String time;
|
||||||
|
String day;
|
||||||
|
String kind;
|
||||||
|
String place;
|
||||||
|
String prof;
|
||||||
|
String turnin;
|
||||||
|
int id;
|
||||||
|
|
||||||
|
Course();
|
||||||
|
}
|
0
lib/common/utils.dart
Normal file
0
lib/common/utils.dart
Normal file
34
lib/server/titamaapi.dart
Normal file
34
lib/server/titamaapi.dart
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
library titama.server;
|
||||||
|
|
||||||
|
import 'package:rpc/rpc.dart';
|
||||||
|
|
||||||
|
import '../common/messages.dart';
|
||||||
|
|
||||||
|
@ApiClass(version: 'v1')
|
||||||
|
class TitamaApi {
|
||||||
|
|
||||||
|
final List<Course> _courses = new List<Course>();
|
||||||
|
|
||||||
|
TitamaApi() {
|
||||||
|
// example course, to remove once the database connection is implemented
|
||||||
|
Course course = new Course();
|
||||||
|
course
|
||||||
|
..title = "UlmAPI"
|
||||||
|
..time = "18:00"
|
||||||
|
..day = "Monday"
|
||||||
|
..id = 0
|
||||||
|
..kind = "Lab"
|
||||||
|
..place = "O27/343"
|
||||||
|
..prof = ""
|
||||||
|
..turnin = "";
|
||||||
|
_courses.add(course);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiMethod(path: 'courses')
|
||||||
|
List<Course> listCourses() {
|
||||||
|
return _courses;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Reference in a new issue