provider.py 4.5 KB

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