- First working version of ulmus-api package; at working state only

This commit is contained in:
mcndave committed 2023-10-26 17:22:52 +00:00
1 parent 0f9495e07a
commit 7e69a09e7f
27 files changed
+1406 -101

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
<?php
namespace Ulmus\Api\Attribute\Obj;
use Ulmus\Attribute\Obj\AdapterAttributeInterface;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Api implements AdapterAttributeInterface {
public function __construct(
public string $adapter,
) {}
public function adapter() : false|string
{
return $this->adapter ?: false;
}
}
+14
View File
@@ -0,0 +1,14 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute]
abstract class ApiAction
{
public function __construct(
public string $url,
public MethodEnum $method,
) {}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Collection extends ApiAction {
public function __construct(
public string $url,
public MethodEnum $method = MethodEnum::Get,
) {}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Create extends ApiAction {
public function __construct(
public string $url,
public MethodEnum $method = MethodEnum::Post,
) {}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Delete extends ApiAction {
public function __construct(
public string $url,
public MethodEnum $method = MethodEnum::Delete,
) {}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Read extends ApiAction {
public function __construct(
public string $url,
public MethodEnum $method = MethodEnum::Get,
) {}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace Ulmus\Api\Attribute\Obj\Api;
use Ulmus\Api\Common\MethodEnum;
#[\Attribute(\Attribute::TARGET_CLASS)]
class Update extends ApiAction {
public function __construct(
public string $url,
public MethodEnum $method = MethodEnum::Patch,
) {}
}