feat: create system user accounts
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
+14
-6
@@ -236,7 +236,14 @@ class Manager {
|
||||
$serviceId = $provider->serviceCreate($tenantId, $userId, $service);
|
||||
|
||||
// Fetch and return the created service
|
||||
return $provider->serviceFetch($tenantId, $userId, $serviceId);
|
||||
$createdService = $provider->serviceFetch($tenantId, $userId, $serviceId);
|
||||
if ($createdService === null) {
|
||||
throw new \RuntimeException(
|
||||
"Provider '$providerId' created service '$serviceId', but it could not be fetched"
|
||||
);
|
||||
}
|
||||
|
||||
return $createdService;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1264,9 +1271,13 @@ class Manager {
|
||||
}
|
||||
|
||||
public function entitySubmit(string $tenantId, string $userId, AddressInterface|string $sender, EntityIdentifierInterface|null $source = null, MessagePropertiesMutableInterface|array|null $message = null): EntitySubmitResult {
|
||||
$service = $this->serviceFindByAddress($tenantId, $userId, $sender);
|
||||
if ($sender instanceof AddressInterface === false) {
|
||||
$sender = new Address($sender);
|
||||
}
|
||||
|
||||
$service = $this->serviceFindByAddress($tenantId, $userId, $sender->getAddress());
|
||||
if ($service === null || $service->getEnabled() === false) {
|
||||
throw new InvalidArgumentException("Service not found for sender '{$sender}' or service is disabled");
|
||||
throw new InvalidArgumentException("Service not found for sender '{$sender->getAddress()}' or service is disabled");
|
||||
}
|
||||
if ($service instanceof ServiceEntitySubmitInterface === false) {
|
||||
throw new InvalidArgumentException("Service '{$service->identifier()}' does not support entity submission");
|
||||
@@ -1276,9 +1287,6 @@ class Manager {
|
||||
throw new InvalidArgumentException("At least one of source or message must be provided for entity submission");
|
||||
}
|
||||
|
||||
if ($sender instanceof AddressInterface === false) {
|
||||
$sender = new Address($sender);
|
||||
}
|
||||
if ($message !== null && $message instanceof MessagePropertiesMutableInterface === false) {
|
||||
$message = $service->entityFresh()->getProperties()->jsonDeserialize($message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user