При создании клиента через API, как мы назначаем ему роль Client + и проектируем их?

При создании клиента через API, как мы назначаем ему роль Client + и назначаем его проекту? Я создал скрипт, который перенаправляет пользователей в проекты на основе их адресов электронной почты.

Клиент создан, но я считаю, что ему может быть назначена только роль Клиента (клиент + роль не существует). Дополнительный клиент плюс разрешения происходят из настраиваемого разрешения: управлять задачами, из того, что я вижу в базе данных.

Когда я включаю это разрешение, клиент никогда не создается.

Это мой код для создания клиента:

    $payload = [
"type" => "Client",
"first_name" => $first_name,
"last_name" => $last_name,
"email" => $email,
"password" => $this->rand_string(15),
"company_id" => $company,
];

$result = $this->client->post("/users", $payload);
$result_json = $result->getJson();
$client_id = @$result_json['single']['id'];

$payload = [
"id" => $project,
"members" => array(
$client_id
),
];
$result = $this->client->post("/projects", $payload);

Клиент создается, хотя и без необходимых разрешений, и клиент никогда не добавляется в проект (что означает, что он не может выполнить задачу против него).

1

Решение

Клиент + — это обычный экземпляр клиента с дополнительными разрешениями. Эти дополнительные разрешения устанавливаются с помощью custom permissions имущество. Обратите внимание, что это работает, только если Client + включен в разделе дополнений приложения.

Видимо, POST-ин к /users API ломается, но вы можете использовать обычный маршрут приглашения и POST на /users/invite Конечная точка API с этой полезной нагрузкой:

$payload = [
"role" => "Client",
"custom_permissions" => ["can_manage_tasks"],
"email_addresses" => [$email],
"company_id" => $company_id,
"project_ids" : [1, 2, 3],
];

пригласить пользователей с разрешениями Client +.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector