glance-project/photo-service

用于管理用户照片的Glance项目服务

v3.0.0 2024-05-16 06:51 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文件上设置的特定版本。