sergios/yii2-worksection

Worksection Api


Keywords
yii2, worksection, worksection-api
License
MIT

Documentation

Установка ΠΈ настройка

composer require sergios/yii2-worksection

Для установки Π΄ΠΎΠΌΠ΅Π½Π°, api ΠΊΠ»ΡŽΡ‡Π°, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² common/config/params Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки:

'worksection-api' => [
    'domain' => 'https://api Π΄ΠΎΠΌΠ΅Π½', // api Π΄ΠΎΠΌΠ΅Π½ worksection вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΠŸΡ€ΠΈΠΌΠ΅Ρ€ - https://doris.worksection.com) 
    'apiKey' => 'api ΠΊΠ»ΡŽΡ‡', // api hash key - (Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ прилоТСния)
    'uploadPath' => '/uploads/tests' // Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ webroot (послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»Π° api ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΠ΄Π°Π»Π΅Π½)
]

ИспользованиС

Π Π°Π±ΠΎΡ‚Π° с коммСнтариями

Поиск ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²
use sergios\worksectionApi\src\mappers\CommentMapper;

$commentMapper = new CommentMapper('ссылка Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ');// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ /project/51000/7784366/ 

//Π’ findByAttributes ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² происходит ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… 2 ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (Comments,User). 
//Имя ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ findByAttribures:
// - модСль User [
                    'user' => [
                        'id' => Integer | String,
                        'lastName' => String,
                        'email' => String,
                        'name' => String,
                        'post' => String,
                        'avatar' => String,
                        'company' => String,
                        'department' => String
                    ]
                ];
// - модСль Comment 
    [
        'dateAdded' => String,
        'text' => String
    ];

$commentCollection = $commentMapper->findByAttributes([
   'dateAdded' => '2019-07-24 11:01', // Π€ΠΎΡ€ΠΌΠ°Ρ‚ YYYY-MM-DD hh:mm
   'text' => 'Test', //ВСкст коммСнтария
   'user' => [
        'id' => user ID, // integer or string
        'lastName' => 'Ѐамилия',
        'firstName' => 'Василий',
        'email' => 'test@gmail.com',
        'name' => 'Василий ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡',
        'post' => 'Backend developer', // Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ
        'avatar' => 'https://ссылки-Π½Π°-Π°Π²Π°Ρ‚Π°Ρ€',
        'company' => 'НазваниС компании',
        'department' => 'ΠžΡ‚Π΄Π΅Π»',
    ]
]);//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΏΠΎ критСриях поиска
$commentCollection = $commentMapper->findAll();//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ комСтария
use sergios\worksectionApi\src\models\Comment;
use sergios\worksectionApi\src\mappers\CommentMapper;
use sergios\worksectionApi\src\models\User;

$commentMapper = new CommentMapper('ссылка Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ');// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ /project/51000/7784366/ 

//созданиС комСтария
$comment = new Comment();
$comment->setAttributes(['text' => 'Test']);// ВСкст коммСнтария
$comment->setTodo(1,'check box text 1'); // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ checkbox с тСкстом - check box text 1 
$comment->setTodo(2,'check box text 2'); // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ checkbox с тСкстом - check box text 2
...
$comment->saveImage($image); //ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„Π°ΠΉΠ»Π° ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ ($image - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ UploadedFile)

//созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
$user = new User();
$user->setAttributes(['email' => 'sergeydovzhanutsia@gmail.com']);//заполнСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
$comment->setUser($user);//привязка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ

$commentMapper = $commentMapper->create($comment);//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ комСтария (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ созданного коммСнтария) 

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ

use sergios\worksectionApi\src\mappers\UserMapper;

$userMapper = new UserMapper();
$userCollection = $userMapper->findAll(); //Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

//поиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ критСриям
//Π’ findByAttribures Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅ΡΡ‚ΡŒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ User.
$userCollection = $userMapper->findByAttributes([
    'id' => 51659, // id ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    'email' => 'email',
    'lastName' => 'фамилия',
    'firstName' => 'имя',
    'name' => 'имя фамилия',
    'post' => 'Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ',
    'avatar' => 'https://ссылка-Π½Π°-Π°Π²Π°Ρ‚Π°Ρ€',
    'company' => 'НазваниС компании',
    'department' => 'ΠžΡ‚Π΄Π΅Π»',
]); //Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ