forked from droidconKE/flutterconKEApp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocal_session.dart
More file actions
80 lines (74 loc) · 1.67 KB
/
local_session.dart
File metadata and controls
80 lines (74 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import 'package:isar_community/isar.dart';
part 'local_session.g.dart';
@collection
class LocalSession {
LocalSession({
required this.serverId,
required this.title,
required this.description,
required this.slug,
required this.sessionCategory,
required this.sessionFormat,
required this.startDateTime,
required this.endDateTime,
required this.startTime,
required this.endTime,
required this.sessionLevel,
required this.isKeynote,
required this.isBookmarked,
required this.isServiceSession,
required this.speakers,
required this.rooms,
required this.sessionImage,
});
Id id = Isar.autoIncrement;
@Index(unique: true, replace: true)
late int serverId;
late String title;
late String description;
late String slug;
late String sessionCategory;
late String sessionFormat;
late DateTime startDateTime;
late DateTime endDateTime;
late String startTime;
late String endTime;
late String sessionLevel;
late bool isKeynote;
late bool isBookmarked;
late bool isServiceSession;
late String sessionImage;
late List<EmbeddedSpeaker> speakers;
late List<LocalRoom> rooms;
}
@embedded
class EmbeddedSpeaker {
EmbeddedSpeaker({
this.name,
this.biography,
this.avatar,
this.tagline,
this.twitter,
this.facebook,
this.linkedin,
this.instagram,
this.blog,
this.companyWebsite,
});
String? name;
String? biography;
String? avatar;
String? tagline;
String? twitter;
String? facebook;
String? linkedin;
String? instagram;
String? blog;
String? companyWebsite;
}
@embedded
class LocalRoom {
LocalRoom({this.title, this.id});
int? id;
String? title;
}