too many changes

This commit is contained in:
Dennis Eichhorn 2023-03-11 23:38:18 +01:00
parent 0e8c3a12cf
commit a0947f2d42
8 changed files with 43 additions and 28 deletions

View File

@ -166,7 +166,27 @@ final class Installer extends InstallerAbstract
*/
private static function createReference(ApplicationAbstract $app, array $data) : array
{
return [];
/** @var \Modules\Media\Controller\ApiController $module */
$module = $app->moduleManager->getModuleInstance('Media');
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('name', $data['name'] ?? '');
$request->setData('virtualpath', $data['from'] ?? '/');
$request->setData('child', $data['to'] ?? '/');
$module->apiReferenceCreate($request, $response);
$responseData = $response->get('');
if (!\is_array($responseData)) {
return [];
}
return !\is_array($responseData['response'])
? $responseData['response']->toArray()
: $responseData['response'];
}
/**
@ -349,15 +369,6 @@ final class Installer extends InstallerAbstract
$request->setData('media-list', \json_encode($uploadedIds));
$module->apiCollectionCreate($request, $response);
$responseData = $response->get('');
if (!\is_array($responseData)) {
return [];
}
return !\is_array($responseData['response'])
? $responseData['response']->toArray()
: $responseData['response'];
}
$responseData = $response->get('');

View File

@ -634,13 +634,22 @@ final class ApiController extends Controller
if ($parentCollectionId === 0) {
/** @var Collection $parentCollection */
$parentCollection = CollectionMapper::get()
->where('virtualPath', (string) ($request->getData('virtualpath') ?? ''))
->where('name', (string) ($request->getData('name') ?? ''))
->where('virtualPath', \dirname($request->getData('virtualpath') ?? ''))
->where('name', \basename($request->getData('virtualpath') ?? ''))
->execute();
$parentCollectionId = $parentCollection->getId();
}
if (!$request->hasData('source')) {
$child = MediaMapper::get()
->where('virtualPath', \dirname($request->getData('child')))
->where('name', \basename($request->getData('child')))
->execute();
$request->setData('source', $child->getId());
}
$this->createModelRelation(
$request->header->account,
$parentCollectionId,
@ -666,10 +675,10 @@ final class ApiController extends Controller
private function createReferenceFromRequest(RequestAbstract $request) : Reference
{
$mediaReference = new Reference();
$mediaReference->name = (string) $request->getData('name');
$mediaReference->name = \basename($request->getData('virtualpath'));
$mediaReference->source = new NullMedia((int) $request->getData('source'));
$mediaReference->createdBy = new NullAccount($request->header->account);
$mediaReference->setVirtualPath($request->getData('virtualpath'));
$mediaReference->setVirtualPath(\dirname($request->getData('virtualpath')));
return $mediaReference;
}
@ -686,9 +695,8 @@ final class ApiController extends Controller
private function validateReferenceCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['name'] = empty($request->getData('name')))
|| ($val['virtualpath'] = empty($request->getData('virtualpath')))
|| ($val['source'] = empty($request->getData('source')))
if (($val['parent'] = (empty($request->getData('parent')) && empty($request->getData('virtualpath'))))
|| ($val['source'] = (empty($request->getData('source')) && empty($request->getData('child'))))
) {
return $val;
}
@ -1328,7 +1336,7 @@ final class ApiController extends Controller
$l11nMediaType = $this->createMediaTypeL11nFromRequest($request);
$this->createModel($request->header->account, $l11nMediaType, MediaTypeL11nMapper::class, 'media_type_l11n', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Category localization successfully created', $l11nMediaType);
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $l11nMediaType);
}
/**

View File

@ -59,5 +59,5 @@ class MediaContentMapper extends DataMapperFactory
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD ='media_parsed_id';
public const PRIMARYFIELD = 'media_parsed_id';
}

View File

@ -79,10 +79,6 @@ class MediaMapper extends DataMapperFactory
* @since 1.0.0
*/
public const OWNS_ONE = [
'type' => [
'mapper' => MediaTypeMapper::class,
'external' => 'media_type',
],
'source' => [
'mapper' => self::class,
'external' => 'media_source',
@ -144,7 +140,7 @@ class MediaMapper extends DataMapperFactory
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD ='media_id';
public const PRIMARYFIELD = 'media_id';
/**
* Get media based on virtual path.

View File

@ -54,7 +54,7 @@ final class MediaTypeL11nMapper extends DataMapperFactory
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD ='media_type_l11n_id';
public const PRIMARYFIELD = 'media_type_l11n_id';
/**
* Model to use by the mapper.

View File

@ -76,5 +76,5 @@ final class MediaTypeMapper extends DataMapperFactory
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD ='media_type_id';
public const PRIMARYFIELD = 'media_type_id';
}

View File

@ -1,6 +1,6 @@
{
"name": "karaka/module",
"description": "Module for Karaka.",
"description": "Module for Jingga.",
"authors": [
{
"name": "Dennis Eichhorn",

View File

@ -11,7 +11,7 @@
"phpOMS-db": "1.0.0"
},
"creator": {
"name": "Karaka",
"name": "Jingga",
"website": "jingga.app"
},
"description": "The media module.",