Skip to content
This repository was archived by the owner on Mar 11, 2020. It is now read-only.

Workspace entity #19

@b0g3r

Description

@b0g3r

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
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions