javaabu/pgodb-sdk

刑事司法领域 SDK 是一个包装包,允许开发者将现有的数据基础设施与由总检察长办公室开发的数据共享平台集成。

v0.1.0 2023-03-08 08:49 UTC

This package is auto-updated.

Last update: 2024-09-09 15:21:18 UTC


README

Latest Version on Packagist

用于与总检察长办公室刑事司法领域数据库 API 交互的通用 PHP SDK。

安装

使用 Composer 安装包

composer require javaabu/pgodb-sdk

先决条件

  • PHP 7.4

基本用法

初始化

API 密钥被视为单个必填参数。

$apiKey = "iK4YfZe2i1RAe22tKP4xejGKDZP ....";
$baseUri = "http://pgodb.test/api/v1/"
$pgoDb = new PgoDB($apiKey, $baseUri);

注意

  • 查看 SOP 了解如何获取 API 令牌(您可以使用个人访问令牌或密码令牌)。将其作为 API_TOKEN 使用。
  • 使用 API 文档中定义的 host 参数作为 BASE_URI

检索所有模型

$pgoDb->criminalCase()->get();

通过 ID 检索

我们不使用数据库 ID,而是使用行政识别字符串,例如个人的身份证号码、护照号码、注册号(法官和律师)、事件参考号、gaziyyah 号码等。

$pgoDb->criminalCase()->find($idString);

这是对包装包中内置的 filter 功能的包装。另一种实现方式如下

$pgoDb->criminalCase()->addFilter("search", $idString)->get();

搜索词将根据要检索的模型而变化。find 函数将抽象掉这种复杂性。

存储非嵌套模型

// Sample data  
$data = [
    "incident_reference_number": "2123756022",
    "institution_reg_no": "pgo",
    "incident_at": "1996-12-30T09:11:26.000000Z",
    "lodged_at": "1998-03-13T19:00:00.000000Z"
];

$pgoDb->criminalCase()->store($data);

存储嵌套模型

// Sample data  
$data = [
    "individual": [
        "nid": "A169993",
        "name": "Dr. Larissa Stokes",
        "name_en": "Mr. Benedict Lockman I",
        "gender": "female",
        "mobile_number": "860.660.2765",
        "nationality_code": "MV",
        "permanent_address_country_code": "MV",
        "permanent_address_city_code": "LD0894",
        "permanent_address": "67353 Rebeka Road\nEast Opal, PA 94709",
        "individual_type": "local",
        "dob": "1995-07-14T19:00:00.000000Z",
        "email": "pemmerich@example.net"
    ]
];

$pgoDb->criminalCase()
      ->whereId("7/2022")
      ->complainant()
      ->store($data);

更新非嵌套模型

// Sample data  
$data = [
    "institution_reg_no": "javaabu",
];

$pgoDb->criminalCase()
      ->whereId("2123756022")
      ->update($data);

更新嵌套模型

// Sample data  
$data = [
    "individual": [
        "permanent_address_country_code": "MV",
    ]
];

$pgoDb->criminalCase()
      ->whereId("7/2022")
      ->complainant()
      ->whereId("A169993")
      ->update($data);

排序

$pgoDb->criminalCase()
      ->addSort("created_at")
      ->addSortByDesc("updated_at")
      ->get()

结束函数

每个这些链式函数的结束函数定义如下。实际 API 请求将在链式调用结束时发送。

  • get() 应返回项目列表,
  • find($id) 应返回单个项目,
  • delete($id) 发送删除请求并返回 true 或 false,
  • store($data) 返回新存储的记录,
  • update($data) 返回更新的记录。

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

安全漏洞

如果您发现任何与安全相关的问题,请通过电子邮件 info@javaabu.com 联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。