This repository was archived by the owner on Mar 11, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Workspace entity #19
Copy link
Copy link
Open
Milestone
Description
Workspace — space with members, publications and tuned platforms. Has a unique name.
API draft
# POST /workspaces
# Создание воркспейса
# class WorkspaceCreation(CreateApiView):
# permission_classes = [Authenticated]
# GET /workspaces
# Список воркспейсов
# class WorkspaceList(ListAPIView):
# permission_classes = [Superuser]
# GET, PUT, PATCH, DELETE /workspaces/<slug_name>
# Редактирование и удаление воркспейса
# class Workspace();
# permission_classes = [Superuser]
# POST /workspaces/<slug_name>/send-invite
# Отправка приглашения в воркспейс в виде письма с invite_link
# Логика на фронте:
# invite_link --user-already-logged-> POST /workspaces/<>/accept-invite
# invite_link --user-not-logged-> login/registration form with redirection to invite_link (`to` query param?)
# class InviteUser(CreateAPIView)
# permission_classes = [AdminWorkspace]
# POST /workspaces/<slug_name>/accept-invite
# Принятие приглашения в воркспейс
# class AcceptInvite(CreateAPIView)
# permissions_classes = [Authenticated]
# GET /workspaces/<slug_name>/users
# Просмотр пользователей воркспейса
# class UserWorkspaceList(ListApiView):
# permission_classes = [PublisherWorkspace]
# POST /workspaces/<slug_name>/users
# Интерфейс суперюзера, позволяющий добавлять пользователей в воркспейс без инвайтов
# class UserWorkspaceCreation(CreateAPIView):
# permission_classes = [Superuser]
# GET, DELETE /workspaces/<slug_name>/users/<username>
# Просмотр пользователя воркспейса, удаление пользователя из воркспейса
# class UserWorkspace(ModelView):
# permission_classes = [AdminWorkspace]
Metadata
Metadata
Assignees
Labels
No labels