@@ -6,7 +6,6 @@ class Activity(Document):
6
6
config_collection_name = 'activity'
7
7
config_polymorphic = 'type'
8
8
config_polymorphic_collection = True
9
- config_extra_fields = 'ignore'
10
9
11
10
type = StringField ()
12
11
performed_by = StringField ()
@@ -22,8 +21,19 @@ def __str__(self):
22
21
class Like (Activity ):
23
22
config_polymorphic_identity = 'like'
24
23
25
- def __str__ (self ):
26
- return '%s: like by %s' % (self .created_at , self .performed_by )
24
+ post_id = IntField ()
25
+ post_image = StringField ()
26
+
27
+ def to_dict (self ):
28
+ return {
29
+ 'type' : self .type ,
30
+ 'performed_by' : self .performed_by ,
31
+ 'performer_avatar' : self .performer_avatar ,
32
+ 'post_id' : self .post_id ,
33
+ 'post_image' : self .post_image ,
34
+ 'created_at' : self .created_at .isoformat (),
35
+ 'clicked' : self .clicked
36
+ }
27
37
28
38
29
39
class Comment (Activity ):
@@ -32,8 +42,16 @@ class Comment(Activity):
32
42
post_id = IntField ()
33
43
post_image = StringField ()
34
44
35
- def __str__ (self ):
36
- return '%s: comment by %s' % (self .created_at , self .performed_by )
45
+ def to_dict (self ):
46
+ return {
47
+ 'type' : self .type ,
48
+ 'performed_by' : self .performed_by ,
49
+ 'performer_avatar' : self .performer_avatar ,
50
+ 'post_id' : self .post_id ,
51
+ 'post_image' : self .post_image ,
52
+ 'created_at' : self .created_at .isoformat (),
53
+ 'clicked' : self .clicked
54
+ }
37
55
38
56
39
57
class Repost (Activity ):
@@ -42,15 +60,29 @@ class Repost(Activity):
42
60
post_id = IntField ()
43
61
post_image = StringField ()
44
62
45
- def __str__ (self ):
46
- return '%s: repost by %s' % (self .created_at , self .performed_by )
63
+ def to_dict (self ):
64
+ return {
65
+ 'type' : self .type ,
66
+ 'performed_by' : self .performed_by ,
67
+ 'performer_avatar' : self .performer_avatar ,
68
+ 'post_id' : self .post_id ,
69
+ 'post_image' : self .post_image ,
70
+ 'created_at' : self .created_at .isoformat (),
71
+ 'clicked' : self .clicked
72
+ }
47
73
48
74
49
75
class Follow (Activity ):
50
76
config_polymorphic_identity = 'follow'
51
77
52
- def __str__ (self ):
53
- return '%s: follow by %s' % (self .created_at , self .performed_by )
78
+ def to_dict (self ):
79
+ return {
80
+ 'type' : self .type ,
81
+ 'performed_by' : self .performed_by ,
82
+ 'performer_avatar' : self .performer_avatar ,
83
+ 'created_at' : self .created_at .isoformat (),
84
+ 'clicked' : self .clicked
85
+ }
54
86
55
87
56
88
class Mention (Activity ):
@@ -59,8 +91,16 @@ class Mention(Activity):
59
91
post_id = IntField ()
60
92
post_image = StringField ()
61
93
62
- def __str__ (self ):
63
- return '%s: mention by %s' % (self .created_at , self .performed_by )
94
+ def to_dict (self ):
95
+ return {
96
+ 'type' : self .type ,
97
+ 'performed_by' : self .performed_by ,
98
+ 'performer_avatar' : self .performer_avatar ,
99
+ 'post_id' : self .post_id ,
100
+ 'post_image' : self .post_image ,
101
+ 'created_at' : self .created_at .isoformat (),
102
+ 'clicked' : self .clicked
103
+ }
64
104
65
105
66
106
class Badge (Activity ):
@@ -69,5 +109,13 @@ class Badge(Activity):
69
109
badge_name = StringField ()
70
110
badge_image = StringField ()
71
111
72
- def __str__ (self ):
73
- return '%s: badge by %s' % (self .created_at , self .performed_by )
112
+ def to_dict (self ):
113
+ return {
114
+ 'type' : self .type ,
115
+ 'performed_by' : self .performed_by ,
116
+ 'performer_avatar' : self .performer_avatar ,
117
+ 'badge_name' : self .badge_name ,
118
+ 'badge_image' : self .badge_image ,
119
+ 'created_at' : self .created_at .isoformat (),
120
+ 'clicked' : self .clicked
121
+ }
0 commit comments