mirror of
https://github.com/anikeen-com/id.git
synced 2026-10-31 20:59:32 +00:00
Bring the package up to date with the Anikeen ID API
Fixed (called endpoints that don't exist):
- charge(): POST v1/billing/charge (Stripe options aren't passed through anymore)
- Invoice::getInvoiceTemporaryUrl(): GET instead of a non-existent PUT
- OrderItems::create(): POST v1/orders/{order}/items
- createUser() / isEmailExisting(): admin endpoints with the app token
- sshKeysByUserId(): app endpoint; no longer returns the first user's keys for every user
- createOrderPreview(): country_iso goes into billing_address as the API expects
- public endpoints (products, order preview) work without a token
- SshKeys::find() results can be deleted
Added:
- Billable: sshKeys() (create, update, delete), billingOverview(), PaymentMethod::delete()
- AnikeenId: products(), boxes(), shipping labels (list, show, pdf, issue, ship, price list),
createOrderForUser(), createTransactionForUser(), findOrCreateSocialiteUser()
Requirements: PHP 8.2+, Laravel 11-13 (Laravel 10 and PHP 8.1 are end of life).
Docs generator handles union types; README regenerated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8de737641e
commit
9613d31a8d
22 files changed
+720
-108
No files matched your search
@@ -7,6 +7,20 @@ use Anikeen\Id\Billable;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
// short type name incl. union, intersection and nullable types
|
||||
function typeName(ReflectionType $type): string
|
||||
{
|
||||
if ($type instanceof ReflectionUnionType || $type instanceof ReflectionIntersectionType) {
|
||||
$separator = $type instanceof ReflectionUnionType ? '|' : '&';
|
||||
|
||||
return collect($type->getTypes())->map(fn (ReflectionType $t) => typeName($t))->implode($separator);
|
||||
}
|
||||
|
||||
$name = Arr::last(explode('\\', $type->getName()));
|
||||
|
||||
return ($type->allowsNull() && !in_array($name, ['mixed', 'null'], true) ? '?' : '') . $name;
|
||||
}
|
||||
|
||||
// Liste der Klassen, die ausgewertet werden sollen
|
||||
$classes = [
|
||||
AnikeenId::class,
|
||||
@@ -51,10 +65,7 @@ $allMarkdown = collect($classes)
|
||||
// Typ-Hint
|
||||
$typeHint = '';
|
||||
if ($p->hasType()) {
|
||||
$type = $p->getType();
|
||||
$nullable = $type->allowsNull() ? '?' : '';
|
||||
$name = Arr::last(explode('\\', $type->getName()));
|
||||
$typeHint = $nullable . $name . ' ';
|
||||
$typeHint = typeName($p->getType()) . ' ';
|
||||
}
|
||||
|
||||
// Parameter-Name
|
||||
@@ -84,10 +95,7 @@ $allMarkdown = collect($classes)
|
||||
|
||||
// Rückgabetyp, falls vorhanden
|
||||
if ($method->hasReturnType()) {
|
||||
$retType = $method->getReturnType();
|
||||
$nullable = $retType->allowsNull() ? '?' : '';
|
||||
$typeName = Arr::last(explode('\\', $retType->getName()));
|
||||
$decl .= ': ' . $nullable . $typeName;
|
||||
$decl .= ': ' . typeName($method->getReturnType());
|
||||
}
|
||||
|
||||
return $decl;
|
||||
|
||||
Reference in new issue
Block a user