provider.py 4.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from .template import Template
  2. class Provider():
  3. description = (
  4. "Provider – единица описания поставщика услуг/ответственного лица "
  5. "за определенный ресурс (например, машину). "
  6. "По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, "
  7. "что данный пользователь может выступать не только в роли потребителя. "
  8. "То есть, по тому, какие “провайдеры” находятся по идентификатору "
  9. "пользователя - можно установить конкретный список услуг "
  10. "данного пользователя."
  11. )
  12. # ID METASERVICE
  13. id_metaservice = Template.id_metaservice
  14. # DATA
  15. type = (
  16. "тип поставщика (партнер/ответственное лицо/поставщик услуг). Смысл "
  17. "такой - провайдер это статус пользователя, который, в зависимости от "
  18. "применения, может нести разный смысл и подразумевает под собой "
  19. "какой-то тип действия. Обычные исполнители - это провайдеры услуг "
  20. "(код 3). Ответственные за какое-то имущество, которые сдают его в "
  21. "аренду - это тоже провайдеры (код 2). Ответственные за набор услуг "
  22. "перед метасервисом (фактически - назначенные админы) - это "
  23. "провайдеры-партнеры (код 1)"
  24. )
  25. requirements = (
  26. "требования для того, чтобы можно было предоставлять услуги любые в "
  27. "этом метасервисе в целом (самые строгие)"
  28. )
  29. status = (
  30. "статус пользователя в системе относительно прохождения проверок "
  31. "(activity_status) (может быть active только в том случае, если "
  32. "ticket, влияющий на статус - закрыт."
  33. )
  34. service_status = (
  35. "статус спецификации типа услуги, принимает значения Online, Offline, "
  36. "Preorder with Gap. Online/offline выставляются по проверке параметров "
  37. "и желанию пользователя (например, если пользователь переключает себя "
  38. "online, но по какой-то причине ему такую услугу оказывать запрещено - "
  39. "оно не переключится, то есть надо перед сменой значения этого поля "
  40. "всегда запускать проверку)"
  41. )
  42. location_type = (
  43. "статическая или динамическая локация оказания услуги. Если "
  44. "статическая, а исполнитель находится существенно за пределами "
  45. "локации - то тогда статус автоматом оффлайн для приема новых заявок."
  46. )
  47. default_location = (
  48. "локация по умолчанию для объекта."
  49. )
  50. # OTHER
  51. is_global = Template.is_global
  52. is_visible = Template.is_visible
  53. # FK
  54. user = (
  55. "уникальный идентификатор конкретного пользователя системы "
  56. "(meta-user), который будет оказывать услугу. Один пользователь может "
  57. "быть провайдером нескольких услуг. Статус провайдера означает, что с "
  58. "данным пользователем может быть установлена связь, как с исполнителем."
  59. )
  60. ticket_status = (
  61. "id последнего актуального тикета, касающийся статуса. Если он меняет "
  62. "статус на закрытый - вызывается проверка, которая смотрит, нет ли "
  63. "другого открытого по пользователю."
  64. )
  65. service = (
  66. "id услуги, которую предостовляют"
  67. )