milestones.py 692 B

12345678910111213141516171819202122232425262728293031
  1. from dataclasses import dataclass
  2. from datetime import datetime
  3. from .mixins import SchemaMixin, DbMixin
  4. @dataclass(repr=False)
  5. class Milestone(SchemaMixin, DbMixin):
  6. document: dict
  7. name: str
  8. description: str
  9. date_expected: datetime = None
  10. date_started: datetime = None
  11. schema_yaml = """
  12. name:
  13. required: true
  14. type: string
  15. is_unique: milestone
  16. description:
  17. required: true
  18. type: string
  19. date_expected:
  20. type: date
  21. date_started:
  22. type: date
  23. """
  24. def __repr__(self):
  25. return "{}(name='{}')".format(self.__class__.__qualname__, self.name)