An template for an instance.
| 7 | import json |
| 8 | |
| 9 | class InstanceTemplate(Base): |
| 10 | """ |
| 11 | An template for an instance. |
| 12 | |
| 13 | """ |
| 14 | __tablename__ = 'instance_template' |
| 15 | |
| 16 | id = Column(BIGINT, primary_key = True) |
| 17 | |
| 18 | name = Column(String) |
| 19 | |
| 20 | project_id = Column(Integer, ForeignKey('project.id')) |
| 21 | project = relationship("Project") |
| 22 | |
| 23 | instance_relations = relationship(InstanceTemplateRelation,back_populates="instance_template") |
| 24 | |
| 25 | reference_width = Column(Integer) |
| 26 | reference_height = Column(Integer) |
| 27 | |
| 28 | # 'active, or 'archived' |
| 29 | status = Column(String(), default = 'active') |
| 30 | |
| 31 | mode = Column(String(), default = '1_click') |
| 32 | |
| 33 | member_created_id = Column(Integer, ForeignKey('member.id')) |
| 34 | member_created = relationship("Member", foreign_keys = [member_created_id]) |
| 35 | |
| 36 | member_updated_id = Column(Integer, ForeignKey('member.id')) |
| 37 | member_updated = relationship("Member", foreign_keys = [member_updated_id]) |
| 38 | |
| 39 | created_time = Column(DateTime, default = datetime.datetime.utcnow) |
| 40 | last_updated_time = Column(DateTime, onupdate = datetime.datetime.utcnow) |
| 41 | deleted_time = Column(DateTime, nullable = True) |
| 42 | |
| 43 | @staticmethod |
| 44 | def get_by_id(session, id): |
| 45 | return session.query(InstanceTemplate).filter( |
| 46 | InstanceTemplate.id == id |
| 47 | ).first() |
| 48 | |
| 49 | @staticmethod |
| 50 | def list( |
| 51 | session, |
| 52 | project, |
| 53 | schema: 'LabelSchema' = None, |
| 54 | status = 'active' |
| 55 | ): |
| 56 | """ |
| 57 | Returns the InstanceTemplates object list matching the given |
| 58 | parameters. |
| 59 | :param session: |
| 60 | :param project: |
| 61 | :return: |
| 62 | """ |
| 63 | query = session.query(InstanceTemplate).filter( |
| 64 | InstanceTemplate.project_id == project.id, |
| 65 | InstanceTemplate.status == status |
| 66 | ) |
no outgoing calls
no test coverage detected