communityds/deputy-api-wrapper

1.6.1 2023-06-28 06:27 UTC

This package is auto-updated.

Last update: 2024-09-04 01:55:33 UTC


README

Latest Stable Version Total Downloads GitHub Tests Action Status License

允许通过基于对象的接口与 Deputy API (版本 1) 进行交互,该接口抽象了从 REST API 发送和接收内容的过程。

查看文档 了解如何使用此包装器。

使用 CLI 工具 探索包装器。

安装

此软件包可以通过 Composer 进行安装

composer require communityds/deputy-api-wrapper

默认情况下,此软件包使用 Guzzle 库发送 API 请求。通过 Composer 安装此软件包

composer require guzzlehttp/guzzle ^6.0

查看 HTTP 客户端文档 了解可以使用哪些其他库。

使用方法

创建包装器的单例实例,并至少提供认证和目标组件配置

use CommunityDS\Deputy\Api\Wrapper;

$wrapper = Wrapper::setInstance(
    [
        'auth' => [
            'class' => 'CommunityDS\Deputy\Api\Adapter\Config\PermanentToken',
            'token' => '<YOUR_OAUTH_TOKEN_HERE>',
        ],
        'target' => [
            'class' => 'CommunityDS\Deputy\Api\Adapter\Config\TargetConfig',
            'domain' => '<YOUR_DOMAIN_HERE>',
        ],
    ]
);

使用 辅助函数 获取所需的记录。以下示例返回今天的所有日程/值班表

$today = mktime(0, 0, 0);
$shifts = $wrapper->findRosters()
    ->andWhere(['>=', 'startTime', $today])
    ->andWhere(['<', 'endTime', strtotime('+1 day', $today)])
    ->joinWith('employeeObject')
    ->joinWith('operationalUnitObject')
    ->all();
foreach ($shifts as $shift) {
    echo date('h:ia', $shift->startTime)
        . ' to ' . date('h:ia', $shift->endTime)
        . ' for ' . $shift->employeeObject->displayName
        . ' at ' . $shift->operationalUnitObject->displayName
        . PHP_EOL;
}

更多详细信息和示例可以在 文档 中找到。