Skip to content

Организации

Организации — сущности верхнего уровня для группировки команд и проектов. Каждая организация имеет собственных участников, роли и настройки.

Модель

Organization
├── name, slug, description, logoUrl
├── members (с ролями: OWNER, ADMIN, MANAGER, MEMBER)
├── teams (команды, привязанные к организации)
└── projects (проекты, привязанные к организации)

API Endpoints

МетодПутьОписание
GET/api/organizationsСписок организаций пользователя
POST/api/organizationsСоздать организацию
GET/api/organizations/by-slug/:slugДетали организации
PATCH/api/organizations/by-slug/:slugОбновить организацию
DELETE/api/organizations/by-slug/:slugУдалить организацию
GET/api/organizations/by-slug/:slug/membersСписок участников
POST/api/organizations/by-slug/:slug/membersПригласить участника
PATCH/api/organizations/by-slug/:slug/members/:userIdИзменить роль участника
DELETE/api/organizations/by-slug/:slug/members/:userIdУдалить участника
GET/api/organizations/by-slug/:slug/quotaИнформация о квоте
PATCH/api/organizations/by-slug/:slug/planСменить тариф организации
POST/api/organizations/by-slug/:slug/avatarЗагрузить аватар организации

Маршруты фронтенда

МаршрутПредставлениеОписание
/organizationsOrganizationsListViewСписок всех организаций пользователя
/organizations/:orgIdOrganizationDetailViewОбзор организации
/organizations/:orgId/settingsOrganizationSettingsViewНастройки организации

Store фронтенда

typescript
const store = useOrganizationsStore()
const { organizations, currentOrganization } = storeToRefs(store)

await store.fetchOrganizations()
await store.fetchOrganization(orgId)

await store.createOrganization({ name, slug, description })
await store.updateOrganization(orgId, { name, description })

// Участники
await store.addMember(orgId, email, role)
await store.removeMember(orgId, userId)

Ключевые детали реализации

  • Организации поддерживают пользовательские роли с детальными разрешениями
  • Slug используется для URL-дружественных идентификаторов
  • Каскадное удаление удаляет все связанные команды, проекты и задачи
  • Разрешения уровня организации контролируют доступ к настройкам, управлению участниками и биллингу