javaabu / pgodb-sdk
刑事司法领域 SDK 是一个包装包,允许开发者将现有的数据基础设施与由总检察长办公室开发的数据共享平台集成。
v0.1.0
2023-03-08 08:49 UTC
Requires
- php: ^7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.5
Requires (Dev)
- laravel/pint: ^1.2
- pestphp/pest: ^1.20
- spatie/ray: ^1.28
This package is auto-updated.
Last update: 2024-09-09 15:21:18 UTC
README
用于与总检察长办公室刑事司法领域数据库 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)。请参阅 许可证文件 了解更多信息。