Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/publish-packagist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Publish Packagist
on:
workflow_dispatch:

jobs:
publish:
name: publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Publish to Packagist
run: |-
curl --fail-with-body -X POST -H 'Content-Type: application/json' "https://packagist.org/api/update-package?username=${PACKAGIST_USERNAME}&apiToken=${PACKAGIST_SAFE_KEY}" -d '{"repository":"https://www.github.com/moderation-api/sdk-php"}'
env:
PACKAGIST_USERNAME: ${{ secrets.MODERATION_API_PACKAGIST_USERNAME || secrets.PACKAGIST_USERNAME }}
PACKAGIST_SAFE_KEY: ${{ secrets.MODERATION_API_PACKAGIST_SAFE_KEY || secrets.PACKAGIST_SAFE_KEY }}
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
if: github.repository == 'stainless-sdks/moderation-api-php' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
if: github.repository == 'moderation-api/sdk-php' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.0.1"
".": "0.1.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 27
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-b71e4bef3bf1d91ff75dc3414d212613e5be0efb29b773ff12363814491fc604.yml
openapi_spec_hash: 261c3af6614314fbdd6ea3f7fb61979a
config_hash: 2a04daedf7de6a67f5bba5ec0ac8bf93
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-00998c942fa9c81cb927833a3ebb681744bf59757610d9e6ce64ecf71ff2c13e.yml
openapi_spec_hash: 73a0d08c06aa948c82999fe0bca9a5e9
config_hash: d3a21c98941e21d1937472ca25c37abb
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Changelog

## 0.1.0 (2025-12-05)

Full Changelog: [v0.0.1...v0.1.0](https://github.com/moderation-api/sdk-php/compare/v0.0.1...v0.1.0)

### Features

* **api:** api update ([6c8bb2b](https://github.com/moderation-api/sdk-php/commit/6c8bb2b7f96b2738e0372bde5ba2145fd9988f02))
* **api:** manual updates ([ef82adb](https://github.com/moderation-api/sdk-php/commit/ef82adb1051c8dcce23403c347e28b60c94a5fdd))


### Chores

* configure new SDK language ([776a68a](https://github.com/moderation-api/sdk-php/commit/776a68a875b20952a9854f5f87930a197edc07b1))
* update SDK settings ([f4928d8](https://github.com/moderation-api/sdk-php/commit/f4928d8e51c5a9a0b903fb8e443c2a630c608473))
24 changes: 8 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
>
> This library has not yet been exhaustively tested in production environments and may be missing some features you'd expect in a stable release. As we continue development, there may be breaking changes that require updates to your code.
>
> **We'd love your feedback!** Please share any suggestions, bug reports, feature requests, or general thoughts by [filing an issue](https://www.github.com/stainless-sdks/moderation-api-php/issues/new).
> **We'd love your feedback!** Please share any suggestions, bug reports, feature requests, or general thoughts by [filing an issue](https://www.github.com/moderation-api/sdk-php/issues/new).

The Moderation API PHP library provides convenient access to the Moderation API REST API from any PHP 8.1.0+ application.

Expand All @@ -17,21 +17,13 @@ The REST API documentation can be found on [docs.moderationapi.com](https://docs

## Installation

To use this package, install via Composer by adding the following to your application's `composer.json`:

```json
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:stainless-sdks/moderation-api-php.git"
}
],
"require": {
"org-placeholder/moderation-api": "dev-main"
}
}
<!-- x-release-please-start-version -->

```
composer require "moderation-api/sdk-php 0.1.0"
```

<!-- x-release-please-end -->

## Usage

Expand Down Expand Up @@ -180,4 +172,4 @@ PHP 8.1.0 or higher.

## Contributing

See [the contributing documentation](https://github.com/stainless-sdks/moderation-api-php/tree/main/CONTRIBUTING.md).
See [the contributing documentation](https://github.com/moderation-api/sdk-php/tree/main/CONTRIBUTING.md).
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"sort-packages": true
},
"description": "Moderation API PHP SDK",
"name": "org-placeholder/moderation-api",
"name": "moderation-api/sdk-php",
"require": {
"php": "^8.1",
"php-http/discovery": "^1",
Expand Down
4 changes: 2 additions & 2 deletions src/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ public function __construct(?string $secretKey = null, ?string $baseUrl = null)
headers: [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'User-Agent' => sprintf('moderation-api/PHP %s', '0.0.1'),
'User-Agent' => sprintf('moderation-api/PHP %s', '0.1.0'),
'X-Stainless-Lang' => 'php',
'X-Stainless-Package-Version' => '0.0.1',
'X-Stainless-Package-Version' => '0.1.0',
'X-Stainless-OS' => $this->getNormalizedOS(),
'X-Stainless-Arch' => $this->getNormalizedArchitecture(),
'X-Stainless-Runtime' => 'php',
Expand Down
17 changes: 8 additions & 9 deletions src/Content/ContentSubmitParams.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
namespace ModerationAPI\Content;

use ModerationAPI\Content\ContentSubmitParams\Content\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode;
use ModerationAPI\Content\ContentSubmitParams\Content\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1;
use ModerationAPI\Content\ContentSubmitParams\Content\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\Video;
use ModerationAPI\Content\ContentSubmitParams\MetaType;
Expand Down Expand Up @@ -43,7 +43,7 @@
* @see ModerationAPI\Services\ContentService::submit()
*
* @phpstan-type ContentSubmitParamsShape = array{
* content: Text|Image|Video|Audio|ContentNode,
* content: Text|Image|Video|Audio|Object1,
* authorId?: string,
* channel?: string,
* contentId?: string,
Expand All @@ -64,7 +64,7 @@ final class ContentSubmitParams implements BaseModel
* The content sent for moderation.
*/
#[Api]
public Text|Image|Video|Audio|ContentNode $content;
public Text|Image|Video|Audio|Object1 $content;

/**
* The author of the content.
Expand Down Expand Up @@ -113,7 +113,7 @@ final class ContentSubmitParams implements BaseModel
public ?string $metaType;

/**
* Optionally override the channel policies for this moderation request only (enterprise).
* (Enterprise) override the channel policies for this moderation request only.
*
* @var list<Toxicity|PersonalInformation|ToxicitySevere|Hate|Illicit|IllicitDrugs|IllicitAlcohol|IllicitFirearms|IllicitTobacco|IllicitGambling|Sexual|Flirtation|Profanity|Violence|SelfHarm|Spam|SelfPromotion|Political|Religion|CodeAbuse|PiiMasking|URLMasking|Guideline>|null $policies
*/
Expand Down Expand Up @@ -149,7 +149,7 @@ public function __construct()
* @param list<Toxicity|PersonalInformation|ToxicitySevere|Hate|Illicit|IllicitDrugs|IllicitAlcohol|IllicitFirearms|IllicitTobacco|IllicitGambling|Sexual|Flirtation|Profanity|Violence|SelfHarm|Spam|SelfPromotion|Political|Religion|CodeAbuse|PiiMasking|URLMasking|Guideline> $policies
*/
public static function with(
Text|Image|Video|Audio|ContentNode $content,
Text|Image|Video|Audio|Object1 $content,
?string $authorId = null,
?string $channel = null,
?string $contentId = null,
Expand Down Expand Up @@ -178,9 +178,8 @@ public static function with(
/**
* The content sent for moderation.
*/
public function withContent(
Text|Image|Video|Audio|ContentNode $content
): self {
public function withContent(Text|Image|Video|Audio|Object1 $content): self
{
$obj = clone $this;
$obj->content = $content;

Expand Down Expand Up @@ -269,7 +268,7 @@ public function withMetaType(MetaType|string $metaType): self
}

/**
* Optionally override the channel policies for this moderation request only (enterprise).
* (Enterprise) override the channel policies for this moderation request only.
*
* @param list<Toxicity|PersonalInformation|ToxicitySevere|Hate|Illicit|IllicitDrugs|IllicitAlcohol|IllicitFirearms|IllicitTobacco|IllicitGambling|Sexual|Flirtation|Profanity|Violence|SelfHarm|Spam|SelfPromotion|Political|Religion|CodeAbuse|PiiMasking|URLMasking|Guideline> $policies
*/
Expand Down
4 changes: 2 additions & 2 deletions src/Content/ContentSubmitParams/Content.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
namespace ModerationAPI\Content\ContentSubmitParams;

use ModerationAPI\Content\ContentSubmitParams\Content\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode;
use ModerationAPI\Content\ContentSubmitParams\Content\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1;
use ModerationAPI\Content\ContentSubmitParams\Content\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\Video;
use ModerationAPI\Core\Concerns\SdkUnion;
Expand All @@ -26,7 +26,7 @@ final class Content implements ConverterSource
public static function variants(): array
{
return [
Text::class, Image::class, Video::class, Audio::class, ContentNode::class,
Text::class, Image::class, Video::class, Audio::class, Object1::class,
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@

namespace ModerationAPI\Content\ContentSubmitParams\Content;

use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Video;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Video;
use ModerationAPI\Core\Attributes\Api;
use ModerationAPI\Core\Concerns\SdkModel;
use ModerationAPI\Core\Contracts\BaseModel;

/**
* Object.
*
* @phpstan-type ContentNodeShape = array{
* data: array<string,\ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Text|\ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Image|\ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Video|\ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Audio>,
* @phpstan-type Object1Shape = array{
* data: array<string,\ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Text|\ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Image|\ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Video|\ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Audio>,
* type: 'object',
* }
*/
final class ContentNode implements BaseModel
final class Object1 implements BaseModel
{
/** @use SdkModel<ContentNodeShape> */
/** @use SdkModel<Object1Shape> */
use SdkModel;

/** @var 'object' $type */
Expand All @@ -39,17 +39,17 @@ final class ContentNode implements BaseModel
public array $data;

/**
* `new ContentNode()` is missing required properties by the API.
* `new Object1()` is missing required properties by the API.
*
* To enforce required parameters use
* ```
* ContentNode::with(data: ...)
* Object1::with(data: ...)
* ```
*
* Otherwise ensure the following setters are called
*
* ```
* (new ContentNode)->withData(...)
* (new Object1)->withData(...)
* ```
*/
public function __construct()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

declare(strict_types=1);

namespace ModerationAPI\Content\ContentSubmitParams\Content\ContentNode;
namespace ModerationAPI\Content\ContentSubmitParams\Content\Object1;

use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data\Video;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Audio;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Image;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Text;
use ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data\Video;
use ModerationAPI\Core\Concerns\SdkUnion;
use ModerationAPI\Core\Conversion\Contracts\Converter;
use ModerationAPI\Core\Conversion\Contracts\ConverterSource;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data;
namespace ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data;

use ModerationAPI\Core\Attributes\Api;
use ModerationAPI\Core\Concerns\SdkModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data;
namespace ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data;

use ModerationAPI\Core\Attributes\Api;
use ModerationAPI\Core\Concerns\SdkModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data;
namespace ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data;

use ModerationAPI\Core\Attributes\Api;
use ModerationAPI\Core\Concerns\SdkModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace ModerationAPI\Content\ContentSubmitParams\Content\ContentNode\Data;
namespace ModerationAPI\Content\ContentSubmitParams\Content\Object1\Data;

use ModerationAPI\Core\Attributes\Api;
use ModerationAPI\Core\Concerns\SdkModel;
Expand Down