MCPcopy Index your code
hub / github.com/diffgram/diffgram / TaskEvent

Class TaskEvent

shared/database/task/task_event.py:8–206  ·  view source on GitHub ↗

AKA: Streaming TaskEvents track all the actions or occurences related with a task. For example a change of status, archiving a task, creating a task or any other action related with a task object.

Source from the content-addressed store, hash-verified

6from shared.database.project import Project
7
8class TaskEvent(Base, SerializerMixin):
9 """
10 AKA: Streaming
11
12 TaskEvents track all the actions or occurences related with a task. For example a change of status,
13 archiving a task, creating a task or any other action related with a task object.
14 """
15 __tablename__ = 'task_event'
16 id = Column(BIGINT, primary_key = True)
17
18 # The job context on where this sync happened.
19 job_id = Column(Integer, ForeignKey('job.id'))
20 job = relationship("Job", foreign_keys = [job_id])
21
22 # For knowing in what project did the sync occurred.
23 project_id = Column(Integer, ForeignKey('project.id'))
24 project = relationship("Project", foreign_keys = [project_id])
25
26 # For knowing which task was created.
27 task_id = Column(Integer, ForeignKey('task.id'))
28 task = relationship("Task", foreign_keys = [task_id])
29
30 event_type = Column(String()) # ["completed", "archived", "in_review", "created", "task_comment_created"]
31
32 comment_id = Column(Integer, ForeignKey('discussion_comment.id'))
33 comment = relationship("DiscussionComment", foreign_keys = [comment_id])
34
35 time_created = Column(DateTime, default = datetime.datetime.utcnow)
36 time_updated = Column(DateTime, onupdate = datetime.datetime.utcnow)
37
38 user_reviewer_id = Column(Integer, ForeignKey('userbase.id'))
39 user_reviewer = relationship("User", foreign_keys = [user_reviewer_id])
40
41 user_assignee_id = Column(Integer, ForeignKey('userbase.id'))
42 user_assignee = relationship("User", foreign_keys = [user_assignee_id])
43
44 member_created_id = Column(Integer, ForeignKey('member.id'))
45 member_created = relationship("Member", foreign_keys = [member_created_id])
46
47 member_updated_id = Column(Integer, ForeignKey('member.id'))
48 member_updated = relationship("Member", foreign_keys = [member_updated_id])
49
50 def serialize(self):
51 data = self.to_dict(rules = (
52 '-member_created',
53 '-member_updated',
54 '-job',
55 '-user_assignee',
56 '-user_reviewer',
57 '-task',
58 '-comment',
59 '-project'))
60
61 if self.comment_id:
62 data['comment'] = self.comment.serialize()
63 return data
64
65 @staticmethod

Callers 2

create_task_eventFunction · 0.90
newMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected