Skip to content

SomethingAnotherBeer/taskmanager_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

taskmanager_api

Приложение taskmanager представляет собой API сервис, позволяющий пользователям назначать и исполнять задачи.

Участники системы:

-Администратор -Пользователь

Тезаурус действий администратора расширен возможностью создания, удаления и изменения пользователей относительно полномочий пользователя.

Базовые действия участников в системе:

-Относительно задач -Как создатель задачи

  1. Назначить задачу коллеге (данное действие подразумевает, что пользователь, которому назначается задача, является ассоциированным партнером создателя задачи).

  2. Назначить задачу по членству в группе (данное действие подразумевает, что пользователь, которому назначается задача, состоит в одной группе с создателем задачи).

  3. Удалить задачу (данное действие подразумевает, что пользователь, которому была назначена задача, не приступил к выполнению данной задачи).

-Как исполнитель задачи

  1. Начать выполнение задачи
  2. Поставить задачу на паузу
  3. Поставить задачу на исполнение
  4. Завершить задачу
  5. Удалить задачу (данное действие, в отличии от создателя задачи, исполнитель может произвести на любой стадии выполнения задачи)

Относительно групп:

  1. Создать группу
  2. Переименовать группу (как администратор группы: права администратора группы назначаются создателю группы)
  3. Удалить группу(как администратор группы)

Относительно пользователей в группах:

  1. Пригласить пользователя в группу
  2. Принять приглашение в группу
  3. Отколнить приглашение в группу
  4. Выйти из группы
  5. Удалить пользователя из группы(только администратор группы)

Концептуальная схема данных:

Примечание: Булевы атрибуты в концептуальной схеме данных представлены именем существительным с последующим вопросительным знаком.

  1. Сущность “пользователи” представляет собой пользователей в системе и состоит из следующих атрибутов:

     1) Идентификатор пользователя
     2) Идентификатор прав пользователя
     3) Логин пользователя
     4) Пароль пользователя
     5) Имя пользователя
     6) Фамилия пользователя
    
  2. Сущность “права пользователей” представляет собой права пользователей в системе и состоит из следующих атрибутов:

     1) Идентификатор прав пользователя
     2) Наименование прав пользователя
    
  3. Сущность “токены” вкупе с логином и паролем пользователя из сущности “пользователи” представляет собой единицы аутентификации, каждая из которых принадлежит определенному пользователю и используется при каждом взаимодействии пользователя с системой. Состоит из следующих атрибутов:

     1) идентификатор токена
     2) идентификатор пользователя
     3) значение токена
     4) срок окончания действия токена в формате unix timestamp
    
  4. Сущность “Задачи” представляет собой определяемые пользователями задачи и состоит из следующих атрибутов:

     1) Идентификатор задачи
     2) Идентификатор создателя задачи
     3) Идентификатор статуса задачи
     4) Идентификатор исполнителя задачи
     5) Уникальный ключ задачи
     6) Название задачи
     7) Описание задачи
     8) Дата создания задачи в формате unix timestamp
     9) Дата первой постановки задачи на исполнение формате unix timestamp
     10) Дата последней постановки задачи на исполнение в формате unix timestamp
     11) Дата завершения задачи в формате unix timestamp
    
  5. Сущность “Статусы задач” представляет собой статусы исполнения (активная задача, на паузе, завершенная) задачи и состоит из следующих атрибутов:

     1) Идентификатор статуса задачи
     2) Наименование статуса задачи
    
  6. Сущность “Группы” представляет собой пользовательские группы в системе и состоит из следующих атрибутов:

     1) Идентификатор группы
     2) Наименование группы
    
  7. Сущность “Пользовательские ассоциации” представляет собой сущность, содержащую пользователей, которые являеются коллегами и запросы на сотрудничество другим пользователям. Состоит из следующих атрибутов:

     1) Идентификатор ассоциации
     2) Идентификатор первого пользователя
     3) Идентификатор второго пользователя
     4) Статус сотрудничества
    
  8. Сущность “Пользователи в группах” представляет собой сущность, отражающую членство определенных пользователей в определенных группах . Состоит из следующих атрибутов:

     1) Идентификатор сущности
     2) Идентификатор пользователя
     3) Идентификатор группы
     4) Администратор?
     5) Статус пользователя
    

Физическая схема данных:

Используемая СУБД – postgresql

users:

CREATE TABLE users(
	user_id SERIAL PRIMARY KEY,
	user_rights_id INTEGER NOT NULL,
	user_login VARCHAR(255) UNIQUE NOT NULL,
	user_password VARCHAR(255) NOT NULL,
	user_email VARCHAR(255) UNIQUE,
	user_name VARCHAR(255),
	user_surname VARCHAR(255),

	FOREIGN KEY(user_rights_id) REFERENCES user_rights(user_rights_id)

);

user_rights:

CREATE TABLE user_rights(
	user_rights_id SERIAL PRIMARY KEY,
	user_rights_name VARCHAR(255) UNIQUE NOT NULL

);

tokens:

CREATE TABLE tokens(
	token_id SERIAL PRIMARY KEY,
	user_id INTEGER NOT NULL,
	token_key VARCHAR(255) UNIQUE NOT NULL,
	token_untill INTEGER NOT NULL,

	FOREIGN KEY(user_id) REFERENCES users(user_id) ON DELETE CASCADE
);

tasks:

CREATE TABLE tasks(
	task_id SERIAL PRIMARY KEY,
	formulator_id INTEGER NOT NULL,
	executor_id INTEGER NOT NULL,
	task_status_id INTEGER NOT NULL,
	task_key VARCHAR(255) UNIQUE NOT NULL,
	task_name VARCHAR(255) NOT NULL,
	task_description TEXT,
	task_create_timestamp INTEGER NOT NULL DEFAULT EXTRACT (EPOCH FROM NOW()),
	task_first_processing_timestamp INTEGER DEFAULT 0 CHECK ((task_first_processing_timestamp > task_create_timestamp AND task_first_processing_timestamp != 0) OR  (task_first_processing_timestamp = 0)),

	task_last_processing_timestamp INTEGER DEFAULT 0 CHECK ((task_last_processing_timestamp > task_first_processing_timestamp AND task_last_processing_timestamp != 0) OR (task_last_processing_timestamp = 0)),

	task_end_timestamp INTEGER DEFAULT 0,

	FOREIGN KEY(formulator_id) REFERENCES users(user_id),
	FOREIGN KEY(executor_id) REFERENCES users(user_id),
	FOREIGN KEY(task_status_id) REFERENCES task_statuses(task_status_id)
);

task_statuses:

CREATE TABLE task_statuses(
	task_status_id SERIAL PRIMARY KEY,
	task_status_name VARCHAR(255) UNIQUE NOT NULL


);

groups:

CREATE TABLE groups(
	group_id SERIAL PRIMARY KEY,
	group_name VARCHAR(255) UNIQUE NOT NULL

);

users_associates

CREATE TABLE users_associates(
	users_associate_id SERIAL PRIMARY KEY,
	user_one_id INTEGER NOT NULL,
	user_two_id INTEGER NOT NULL,
	associate_status VARCHAR(25) NOT NULL,

	FOREIGN KEY(user_one_id)  REFERENCES users(user_id) ON DELETE CASCADE,
	FOREIGN KEY(user_two_id) REFERENCES users(user_id) ON DELETE CASCADE
);

users_per_groups

CREATE TABLE users_per_groups(
	user_per_group_id SERIAL PRIMARY KEY,
	user_id INTEGER NOT NULL,
	group_id INTEGER NOT NULL,

	FOREIGN KEY(user_id) REFERENCES users(user_id) ON DELETE CASCADE,
	FOREIGN KEY(group_id) REFERENCES groups(group_id) ON DELETE CASCADE
);

Действия:

Для всех пользовательских действий определены следующие заголовки запроса:

“Content-Type: application/json” “accept:json” “Authorization: %authorization_key%”

Единственным исключением является аутентификация пользователя, которая не требует заголовка аутентификации.

Для всех методов приложения, требующих параметры запросы, присылаемые в теле или параметрах запроса, в случае несовпадения ожидаемых параметров и фактических, определен следующий формат ответа:

{ “error:”Ошибка: Параметр %param_name% не является валидным для данного запроса” }

Для всех методов приложения, ожидающих тело запроса, и если таковое является пустым, определен следующий формат ответа: { “error”:”Ошибка: Пустое или некорректное тело запроса” }

  1. Аутентификация:

Примечание: При запуске приложения в docker, shell скрипт добавляет в бд пользователя с правами администратора с логином some111 и паролем 111

1.1) аутентификация пользователя

Формат данных запроса: 
{
“user_login”:”%user_login%”,
”user_password”:”%user_password%”}

Метод: POST 

url – http://hostname/authentication/login

Ответы:

а) Операция произведена успешно:
	{	
		“message”:”Аутентификация прошла успешно”,
		“token_key”:”%token_key%”	
	}
б) Операция произведена неудачно:

	{
		“message”:”Неправильный логин или пароль”	

	}

1.2) Выход из системы

Метод: POST

url – http://hostname/authentication/logout

Используется заголовок аутентификации

Ответы:

а)  {
	“message”:”Выход произведен успешно”
     }

б) {
	“error”:”Вы не аутентифицированы”

    }

2.Пользователь

2.1 Создать пользователя

Метод: POST

url – http://hostname/user/createuser

Формат данных запроса:

{	
    “user_login”:”%user_login%”,
    “user_password”:”%user_password%”, 
    “user_rights_name”:”%user_rights_name%”,
    “user_email”:”%user_email%”
    “user_name”:”%user_name%”,
    “user_surname”:”%user_surname%”,
}

Ответы:

В случае успеха:

{
    “message”:”Пользователь успешно создан”
},

В случае, если пользователь с данных логином уже существует в системе:

{
    “error”:”Данный пользователь уже существует в системе”
},

Если не указаны требумые параметры тела запроса user_login или user_password:

{
    “error”:”Ошибка: Ожидаемый параметр user_login/user_password не найден в теле запроса”
}

Примечание: Параметр user_rights_name используется для указания прав доступа пользователя и може принимать два строковых значения: “admin” и “user”. При отсутствии данного параметра в теле запроса, по умолчанию используется значение “user”. 

2.2) Изменить логин пользователя

Метод: PATCH

url – http://hostname/user/changeuserlogin

Данные запроса

{
    “user_login”:”%user_login%”,
    “updatable_params”:
	{
	“new_user_login”:”%new_user_login%”
	}
}

Ответы:

В случае успеха:

{
    “message”:”Логин пользователя успешно изменен”
}


В случае, если искомый пользователь не найден:

{
    “error”:”Пользователь не найден”
},

В случае, если новый логин пользователя идентичен текущему логину пользователя

{
    “message”:”Логин пользователя идентичен текущему”
},

В случае, если новый логин пользователя идентичен логину иного пользователя в системе

{
    “error”:”Пользователь с данным логином уже определен в системе”
}

2.3) Изменить пароль пользователя

Метод: PATCH

url – http://hostname/user/changeuserpassword

Данные запроса

{
    “user_login”:”%user_login%”,
    “updatable_params”:
	{
	“new_user_password”:”%new_user_password%”
	}
}


Ответы:

В случае успеха:

{
    “message”:”Пароль пользователя успешно изменен”

}

В случае, если пользователь не найден:
{
    “error”:”Пользователь не найден”
}

В случае, если новый пароль пользователя идентичен текущему паролю
{
    “message”:”Новый пароль пользователя не может совпадать с текущим”
}

2.4) Изменить имя/фамилию пользователя

Метод: PATCH

url – http://hostname/user/changeuserfullname 


Данные запроса:

{
	"user_login":"%user_login%",
	"updatable_params":
	{
		"new_user_name":"%new_user_name%",
		"new_user_surname":"%new_user_password%"
	}
}

Ответы:

В случае успеха:

{
    “message”:”Пользователь успешно обновлен”
}

В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}

В случае, если новые имя и фамилия пользователя идентичны текущему имени и фамилии:

{
    “message”:”Параметры обновления идентичны текущим параметрам пользователя”
}

2.5) Удалить пользователя

Метод: DELETE

url – http://hostname/user/deleteuser

Данные запроса

{
    “user_login”:”%user_login%”
}

Ответы:

В случае успеха:

{
    “message”:”Пользователь успешно обновлен”
}

В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}
  1. Группы

3.1) Создать группу

Метод: POST

url – http://hostname/group/creategroup

Данные запроса:

{
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
     “message”:”Группа успешно создана”
}

В случае, если группа с данным именем уже определена в системе

{
    “error”:”Данная группа уже существует”
}

В случае, если имя группы является пустым:

{
    “error”:”Название группы не может быть пустым”
}

3.2) Переименовать группу

Метод: PATCH

url – http://hostname/group/renamegroup

Данные запроса 
{
    “group_name”:”%group_name%”,
    “new_group_name”:”%new_group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Название группы успешно изменено”
}

В случае, если группа не найдена:

{
    “error”:”Группа не найдена”
},

В случае, если пользователь не является членом группы:

{
    “error”:”Вы не являетесь членом группы”
}

В случае, если пользователь не является администратором группы:

{
    “error”:”Вы не являетесь администратором группы”
}

3.3) Удалить группу

Метод: DELETE

url – http://hostname/group/deletegroup

Данные запроса:

{
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Группа успешно удалена”
}

В случае, если группа не найдена:
{
    “error”:”Группа не найдена”
}

В случае, если пользователь не является членом группы:

{
    “error”:”Вы не являетесь членом группы”
}

В случае, если пользователь не является администратором группы:

{
   “error”:”Вы не являетесь администратором группы”
}
  1. Пользовательские ассоциации

4.1) Отправить запрос на сотрудничество

Метод: POST

url – http://hostname/usersassociate/send

Данные запроса:

{
    “receiving_login”:”%user_login%”

}

Ответы:

В случае успеха:

{
    “message”:”Запрос на сотрудничество отправлен пользователю”
}

В случае, если запрос на сотрудничество был ранее отправлен этому же пользователю или если пользователи являются коллегами:

{
    “error”:”Вы уже посылали запрос данному пользователю или являетесь коллегами”
}

В случае, если пользователь послал запрос на сотрудничество самому себе:

{
    “error”:”Невозможно послать запрос на сотрудничество самому себе”
}

В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}

4.2) Принять запрос на сотрудничество:

Метод: POST

url – http://hostname/usersassociate/accept

Данные запроса
{
    “requesting_login”:”%user_login%”
}


Ответы:

В случае успеха:

{
    “message”:”Вы приняли запрос на сотрудничество”
}

В случае, если пользователи являются коллегами:

{
    “error”:”Вы уже являетесь коллегами”
},

В случае, если пользователь не отправлял запрос на сотрудничество:

{
     “error”:”Данный пользователь не отправлял вам запрос на сотрудничество”
}

В случае, если пользователь не найден в системе:

{
    “error”:”Пользователь не найден”
}

4.3) Отклонить запрос на сотрудничество:

Метод: POST

url – http://hostname/usersassociate/deny

Данные запроса

{
    “requesting_login”:”user_login”
}

Ответы:

В случае успеха:


{
    “message”:”Запрос на сотрудничество отклонен”
}

В случае, если запрос на сотрудничество не найден:

{
    “error”:”Данный пользователь не посылал вам запрос на сотрудничество”
}

В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}

4.4) Удалить пользователя из списка колллег:

Метод: DELETE 

url – http://hostname/usersassociate/removeassociate

Данные запроса:

{
   “target_user_login”:”%user_login%”
}

Ответы:

В случае успеха:

{
    “message”:”Пользователь удален из списка ваших коллег”
}

В случае, если вы не являетесь коллегами или запрос на сотрудничество не был принят одной из сторон:

{
    “error”:”Вы не являетесь коллегами”
}

В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}
  1. Взаимодействие пользователей с группами:

5.1) Пригласить пользователя в группу:

Метод: POST

url – http://hostname/userpergroup/inviteusertogroup

Данные запроса:

{
    “user_login”:”%user_login%”,
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Пользователь приглашен”
}

В случае, если приглашаемый пользователь был приглашен ранее или является членом группы:

{
    “error”:”Данный пользователь либо уже приглашен, либо является членом группы”
}

В случае, если осуществляющий запрос пользователь не является членом группы:

{
    “error”:”Вы не являетесь членом данной группы”
}


В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}

5.2) Принять запрос на приглашение в группу:

Метод: POST

url – http://hostname/userpergroup/acceptinvitetogroup

Данные запроса:

{
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Теперь вы член группы”
}

В случае, если пользователь является членом группы:

{
    “error”:”Приглашение недействительно: Вы являетесь членом группы”
}

В случае, если пользователь не был приглашен в группу:

{
    “error”:”Вы не были приглашены в группу”
}

В случае, если группа не найдена:

{
    “error”:”Группа не найдена”
}

5.3) Отклонить запрос на приглашение в группу:

Метод: POST

url – http://hostname/userpergroup/denyinvitetogroup

Данные запроса:

{
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Приглашение в группу отклонено”
}

В случае, если пользователь не был приглашен в группу:

{
    “error”:”Вы не были приглашены в группу”
}

В случае, если пользователь является членом группы

{
    “error”:”Приглашение в группу недействительно: Вы являетесь членом группы’
}

В случае, если группа не найдена:

{
    “error”:”Группа не найдена”
}

5.4) Выйти из группы:

Метод: DELETE

url – http://hostname/userpergroup/exitfromgroup

Данные запроса
{
    “group_name”:”%group_name%”
}

Ответы:

В случае успеха:

{
    “message”:”Выход из группу осуществлен”
}

В случае, если пользователь не был приглашен в группу или не принял запрос на приглашение в группу:

{
    “message”:”Вы не были приглашены в группу”
}

В случае, если группа не была найдена:

{
    “message”:”Группа не найдена”
}
  1. Сформулированные задачи

6.1) Создать задачу для коллеги:

Метод: POST

url – http://hostname/task/formulatetaskforassociate

Данные запроса:

{
	"executor_login":"%user_login%",
	"task_params":{
		"task_name":"%task_name%",
		"task_description":"%task_description%"
	}
}

Ответы:

В случае успеха:

{
    “message”:”Задача успешно создана”,
    “task_key”:”%task_key%”
}

В случае, если пользователи не являются коллегами:

{
     “error”:”Вы не можете назначить задачу пользователю, не являясь коллегами”
}




В случае, если пользователь не найден:

{
    “error”:”Пользователь не найден”
}

6.2) Создать задачу пользователю, состоящим в одной группе с создателем задачи:

Метод: POST

url – http://hostname/task/formulatetaskbygroup

Данные запроса:

{
	"executor_login":"%user_login%",
	"group_name":"%group_name%",
	"task_params":{
		"task_name":"%task_name%",
		"task_description":"%task description%"
	}
}

Ответы:

В случае успеха:

{
    “message”:”Задача успешно создана”,
    “task_key”:”%task_key%”
}

В случае, если пользователи не состоят в одной группе или группы не существует:

{
    “error”:”Вы не состоите с пользователем в одной группе или группы не существует”
}

В случае, если пользователя не существует:

{
    “error”:”Пользователь не найден”
}

6.3) Получить информацию о созданной задаче:

Метод: GET

url – http://hostname/task/{task_key}

Ответы:

В случае успеха:

{
   “executor_login”:”%user_login%”,
    “task_create_date”:”Дата постановки задачи %YYY:MM:DD HH:II:SS%”,
    “task_status”:”Статус задачи %task_status%”
}

В случае, если задачи не существует:
{
    “error”:”Задача не найдена”
}

6.4) Удалить созданную задачу:

Метод: DELETE

url – http://hostname/task/dropformulatedtask

Данные запроса:

{
    “task_key”:”%task_key%”
}

Ответы:

В случае успеха:

{
   “message”:”Задача успешно удалена”
}

В случае, если исполнитель задачи начал выполнять задачу:

{
    “error”:”Невозможно отозвать поставленную на выполнение задачу”
}



В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}
  1. Порученные задачи

7.1) Инициализировать задачу на выполнение:

Метод: POST

url – http://hostname/task/inittask

Данные запроса:

{
    “task_key”:”%task_key%”
}


Ответы:

В случае успеха:

{
    “message”:”Задача поставлена на исполнение”
}

В случае, если задачи уже инициализирована на выполнение:

{
    “error”:”Задача уже инициализирована на выполнение”
}

В случае, если задача завершена:

{
    “error”:”Невозможно инициализировать завершенную задачу”
}

В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}

7.2) Поставить задачу на паузу:

Метод: POST

url – http://hostname/task/stoptask

Данные запроса:

{
    “task_key”:”%task_key%”
}

Ответы:

В случае успеха:

{
    “message”:”Задача поставлена на паузу”
}

В случае, если задача уже на паузе:

{
   “error”:”Задача уже поставлена на паузу”
}

В случае, если задача не инициализирована:

{
    “error”: “Задача еще не начата”
}

В случае, если задача завершена:

{
    “error”:”Задача уже завершена”
}

В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}

7.3) Возобновить выполнение задачи:

Метод: POST

url – http://hostname/task/starttask

Данные запроса;

{
    “task_key”:”%task_key%”
}


Ответы:


В случае успеха:

{
    “message”:”Задача поставлена на исполнение”
}

В случае, если задача уже находится на исполнении:

{
    “error”:”Задача уже на исполнении”
}

В случае, если задача не инициализирована:

{
    “error”:”Невозможно начать неинициализированную задачу”
}

В случае, если задача завершена:

{
   “error”:”Невозможно возобновить завершенную задачу”
}

В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}

7.4) Завершить задачу:

Метод: POST

url – http://hostname/task/completetask

Данные запроса:

{
    “task_key”:”%task_key%”
}

Ответы:

В случае успеха:

{
    “message”:”Задача успешно завершена”
}

В случае, если задача уже была завершена:

{
    “error”:”Задача уже завершена”
}

В случае, если задача не была инициализирована на выполнение:

{
    “error”:”Невозможно завершить неинициализированную задачу”
}

В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}


7.5) Удалить задачу:

Метод: DELETE

url – http://hostname/task/droptask


Данные запроса:

{
    “task_key”:”%task_key%”
}

Ответы:

В случае успеха:

{
    “message”:”Задача успешно удалена”
}

В случае, если задача не найдена:

{
    “error”:”Задача не найдена”
}

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

{ “validation_error”:”Номер страницы должен быть целым положительным числом” }

  1. Работа с пользователями:

8.1) Получить пользователей в системе:

Метод: GET

url – http://hostname/users/getusers

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”
	},

	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”
	….
    ]

2) {
	 “message”:”Пользователи не найдены”

    }

8.2) Получить пользователей с определенными правами доступа в системе:

Метод: GET

url – http://hostname/users/getusersbystatus/{%status_name%}

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”
	},

	{
	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”	
	}
	….
    ]

2) {
	“message”:”Не найдены пользователи со статусом %user_status%”

     }

8.3) Получить пользователей по группе:

Метод: GET

url – http://hostname/users/getusersbygroup/{%group_name%}

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”
	},

	{
	    “user_login”:”%user_login%”,
	    “user_rights_name”:”%user_rights_name%”	
	}
	….
    ]

2) {
	“message”:”В данной группе нет пользователей”

    }

3) {
	“message”:”В данной группе больше нет пользователей”

    }

8.4) Получить входящие запросы на сотрудничество:

Метод: GET

url – http://hostname/users/getinrequestsonassociate

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_login”:”%user_login%”,
	    ….
	}
    ]

2) {
	“message”:”У вас нет входящих запросов на сотрудничество”

    }

8.5) Получить исходящие запросы на сотрудничество:

Метод: GET

url – http://hostname/users/getoutrequestsonassociate

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_login”:”%user_login%”,
	    ….
	}
    ]

2) {
	“message”:”У вас нет исходящих запросов на сотрудничество”

     }

8.6) Получить список коллег:

Метод: GET

url – http://hostname/users/getassociatedusers

Ответы:

В случае успеха:

1) [
	{
	    “user_login”:”%user_login%”,
	    “user_login”:”%user_login%”
	}

    ]



2) {
	“message”:”Коллеги не найдены”
    }
  1. Работа с задачами:

9.1) Получить список созданных задач

Метод: GET

url – http://hostname/tasks/getformulatedtasks

Параметры запроса:

task_status=%task_status%

Параметр task_status может принимать следующие значения: not_started, processing, stopped, complete. В случае отсутствия данного параметра, производится поиск всех созданных задач.

Ответы:

В случае успеха:

1) [
	{
	    “task_key”:”%task_key%”,
	    “task_name”:”%task_name%”,
	    “executor”:”%user_login%”,
	    “task_status_name”:”%task_status_name%”
	}

    ]

2) {
	“message”:”Задачи не найдены”

    }

3) Если не найдены неинициализированные задачи (task_status_name=not_started):
    {
	“message”:”Не начатые задачи не найдены”
    }

4) Если не найдены активные задачи (task_status_name=processing):
    {
	“message”:”Активные задачи не найдены”
    }


5) Если не найдены поставленные на паузу задачи (task_status_name=paused):
    {
	“message”:”Задачи, поставленные на паузу, не найдены”
    }

6) Если не найдены завершенные задачи (task_status_name=complete)
    {
	“message”:”Завершенные задачи не найдены”
    } 

9.2) Получить список порученных задач:

Метод: GET

url – http://hostname/tasks/getentrustedtasks

Ответы:

В случае успеха:

1) [
	{
	    “task_key”:”%task_key%”,
	    “task_name”:”%task_name%”,
	    “executor”:”%user_login%”,
	    “task_status_name”:”%task_status_name%”
	}

    ]

2) {
	“message”:”Задачи не найдены”

    }

3) Если не найдены неинициализированные задачи (task_status_name=not_started):
    {
	“message”:”Не начатые задачи не найдены”
    }

4) Если не найдены активные задачи (task_status_name=processing):
    {
	“message”:”Активные задачи не найдены”
    }


5) Если не найдены поставленные на паузу задачи (task_status_name=paused):
    {
	“message”:”Задачи, поставленные на паузу, не найдены”
    }

6) Если не найдены завершенные задачи (task_status_name=complete)
    {
	“message”:”Завершенные задачи не найдены”
    } 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages