glance-project / photo-service
用于管理用户照片的Glance项目服务
v3.0.0
2024-05-16 06:51 UTC
Requires
- php: ^8.2
- doctrine/dbal: ^2.13
- guzzlehttp/guzzle: ^6.0 || ^7.0
- php-di/php-di: 7.0
- vlucas/phpdotenv: ^4.1 || ^5.5
- webmozart/assert: 1.11
Requires (Dev)
- phpunit/phpunit: ^11
- squizlabs/php_codesniffer: 3.4.2
This package is auto-updated.
Last update: 2024-09-16 07:53:41 UTC
README
GLANCE团队用于管理照片同意的通用服务的存储库。
使用方法
安装
使用composer安装
composer-require glance-project/photo-service
用例
获取用户同意
查找已在特定应用程序中注册同意的成员
use Glance\PhotoService\UserConsent\Infrastructure\Provider\UserConsentProviderFactory;
$provider = UserConsentProviderFactory::getUserConsentInstance(
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$details = $provider->findUserConsentDetailsByApplicationId("<your-application-id>");
在您的应用程序中查找给定成员的同意
use Glance\PhotoService\UserConsent\Infrastructure\Provider\UserConsentProviderFactory;
$provider = UserConsentProviderFactory::getUserConsentInstance(
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$details = $provider->findUserConsentDetailsByPersonId(<member-person-id>,"<your-application-id>");
获取用户同意历史
根据成员的个人ID获取同意历史
use Glance\PhotoService\UserConsent\Infrastructure\Provider\UserConsentProviderFactory;
$provider = UserConsentProviderFactory::getUserConsentInstance(
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$details = $provider->findUserConsentHistoryDetailsByPersonId(<member-person-id>, "<your-application-id>");
仅根据应用程序ID获取同意历史
use Glance\PhotoService\UserConsent\Infrastructure\Provider\UserConsentProviderFactory;
$provider = UserConsentProviderFactory::getUserConsentInstance(
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$details = $provider->findUserConsentHistoryDetailsByApplicationId("<your-application-id>");
更新同意
use Glance\PhotoService\UserConsent\Infrastructure\Provider\UserConsentProviderFactory;
$provider = UserConsentProviderFactory::getUserConsentInstance(
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$details = $provider->updateUserConsent(
<member-person-id>,
(bool) <new-consent>,
"<your-application-id>",
<agent-person-id>
);
获取照片
如果ADAMS API未正确响应,则抛出UnableToFetchFromAdamsException
异常。如果用户未给出同意,则抛出UserHasNotGivenConsent
异常。
use Glance\PhotoService\Photo\Infrastructure\Provider\PhotoProviderFactory;
$photoProvider = PhotoProviderFactory::getPhotoProvider(
"<service-account-username>",
"<service-account-password>",
"<experiment-api-endpoint>",
"<photo-db-username>",
"<photo-db-password>",
"<photo-db-dns>"
);
$photoProvider->getPhoto(
<person-id>,
"<application-id>"
);
测试环境设置
我们依赖于.env
文件来处理秘密值。因此,如果您尚未创建,请创建一个新的.env.local
,并将.env
中的所有内容复制到本地文件中。数据库凭证必须来自照片数据库。
# .env.local
DB_USERNAME=<username>
DB_DNS=<dns>
DB_PASSWORD=<password>
启动容器
在克隆了存储库后,为了开始开发,您需要启动服务的容器。为此,请运行以下命令
docker-compose up -d
容器启动并运行后,执行docker exec -it photo-service bash
,以便进入容器的CLI。
安装PHP依赖项
为了安装PHP依赖项,请在容器内运行composer install
,以便composer安装composer.lock
文件上设置的特定版本。