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
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,12 @@ public function getPresentationVideos($summit_id, $presentation_id)
$items = [];
foreach ($videos as $i) {
if ($i instanceof IEntity) {
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize();
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize
(
self::getExpands(),
self::getFields(),
self::getRelations()
);
}
$items[] = $i;
}
Expand Down Expand Up @@ -136,7 +141,11 @@ public function getPresentationVideo($summit_id, $presentation_id, $video_id)

if (is_null($video)) return $this->error404();

return $this->ok(SerializerRegistry::getInstance()->getSerializer($video)->serialize());
return $this->ok(SerializerRegistry::getInstance()->getSerializer($video)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));

} catch (Exception $ex) {
Log::error($ex);
Expand Down Expand Up @@ -178,7 +187,11 @@ public function addVideo(LaravelRequest $request, $summit_id, $presentation_id)

$video = $this->presentation_service->addVideoTo($presentation_id, HTMLCleaner::cleanData($data, $fields));

return $this->created(SerializerRegistry::getInstance()->getSerializer($video)->serialize());
return $this->created(SerializerRegistry::getInstance()->getSerializer($video)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -226,7 +239,11 @@ public function updateVideo(LaravelRequest $request, $summit_id, $presentation_i

$video = $this->presentation_service->updateVideo($presentation_id, $video_id, HTMLCleaner::cleanData($data, $fields));

return $this->updated(SerializerRegistry::getInstance()->getSerializer($video)->serialize());
return $this->updated(SerializerRegistry::getInstance()->getSerializer($video)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -304,7 +321,11 @@ public function submitPresentation($summit_id)

$presentation = $this->presentation_service->submitPresentation($summit, HTMLCleaner::cleanData($data, $fields));

return $this->created(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(Request::input('expand', '')));
return $this->created(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404(['message' => $ex1->getMessage()]);
Expand Down Expand Up @@ -360,7 +381,11 @@ public function updatePresentationSubmission($summit_id, $presentation_id)
HTMLCleaner::cleanData($data, $fields)
);

return $this->updated(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(Request::input('expand', '')));
return $this->updated(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -394,7 +419,11 @@ public function completePresentationSubmission($summit_id, $presentation_id)
$presentation_id
);

return $this->updated(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(Request::input('expand', '')));
return $this->updated(SerializerRegistry::getInstance()->getSerializer($presentation)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -461,7 +490,11 @@ public function getPresentationSlides($summit_id, $presentation_id)
$items = [];
foreach ($slides as $i) {
if ($i instanceof IEntity) {
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize();
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
);
}
$items[] = $i;
}
Expand Down Expand Up @@ -500,7 +533,11 @@ public function getPresentationSlide($summit_id, $presentation_id, $slide_id)

if (is_null($slide)) return $this->error404();

return $this->ok(SerializerRegistry::getInstance()->getSerializer($slide)->serialize());
return $this->ok(SerializerRegistry::getInstance()->getSerializer($slide)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));

} catch (Exception $ex) {
Log::error($ex);
Expand Down Expand Up @@ -560,7 +597,11 @@ public function addPresentationSlide(LaravelRequest $request, $summit_id, $prese
intval(Config::get("mediaupload.slides_max_file_size"))
);

return $this->created(SerializerRegistry::getInstance()->getSerializer($slide)->serialize());
return $this->created(SerializerRegistry::getInstance()->getSerializer($slide)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -628,7 +669,11 @@ public function updatePresentationSlide(LaravelRequest $request, $summit_id, $pr
intval(Config::get("mediaupload.slides_max_file_size"))
);

return $this->updated(SerializerRegistry::getInstance()->getSerializer($slide)->serialize());
return $this->updated(SerializerRegistry::getInstance()->getSerializer($slide)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -704,7 +749,11 @@ public function getPresentationLinks($summit_id, $presentation_id)
$items = [];
foreach ($links as $i) {
if ($i instanceof IEntity) {
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize();
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
);
}
$items[] = $i;
}
Expand Down Expand Up @@ -743,7 +792,11 @@ public function getPresentationLink($summit_id, $presentation_id, $link_id)

if (is_null($link)) return $this->error404();

return $this->ok(SerializerRegistry::getInstance()->getSerializer($link)->serialize());
return $this->ok(SerializerRegistry::getInstance()->getSerializer($link)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));

} catch (Exception $ex) {
Log::error($ex);
Expand Down Expand Up @@ -797,7 +850,11 @@ public function addPresentationLink(LaravelRequest $request, $summit_id, $presen

$link = $this->presentation_service->addLinkTo($presentation_id, HTMLCleaner::cleanData($data, $fields));

return $this->created(SerializerRegistry::getInstance()->getSerializer($link)->serialize());
return $this->created(SerializerRegistry::getInstance()->getSerializer($link)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -857,7 +914,11 @@ public function updatePresentationLink(LaravelRequest $request, $summit_id, $pre

$link = $this->presentation_service->updateLink($presentation_id, $link_id, HTMLCleaner::cleanData($data, $fields));

return $this->updated(SerializerRegistry::getInstance()->getSerializer($link)->serialize());
return $this->updated(SerializerRegistry::getInstance()->getSerializer($link)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));
} catch (EntityNotFoundException $ex1) {
Log::warning($ex1);
return $this->error404();
Expand Down Expand Up @@ -933,7 +994,11 @@ public function getPresentationMediaUploads($summit_id, $presentation_id)
$items = [];
foreach ($mediaUploads as $i) {
if ($i instanceof IEntity) {
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize();
$i = SerializerRegistry::getInstance()->getSerializer($i)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
);
}
$items[] = $i;
}
Expand All @@ -942,10 +1007,10 @@ public function getPresentationMediaUploads($summit_id, $presentation_id)

} catch (ValidationException $ex1) {
Log::warning($ex1);
return $this->error412(array($ex1->getMessage()));
return $this->error412($ex1->getMessage());
} catch (EntityNotFoundException $ex2) {
Log::warning($ex2);
return $this->error404(array('message' => $ex2->getMessage()));
return $this->error404($ex2->getMessage());
} catch (Exception $ex) {
Log::error($ex);
return $this->error500($ex);
Expand All @@ -972,7 +1037,11 @@ public function getPresentationMediaUpload($summit_id, $presentation_id, $media_

if (is_null($mediaUpload)) return $this->error404();

return $this->ok(SerializerRegistry::getInstance()->getSerializer($mediaUpload)->serialize());
return $this->ok(SerializerRegistry::getInstance()->getSerializer($mediaUpload)->serialize(
self::getExpands(),
self::getFields(),
self::getRelations()
));

} catch (Exception $ex) {
Log::error($ex);
Expand Down Expand Up @@ -1032,20 +1101,14 @@ public function addPresentationMediaUpload(LaravelRequest $request, $summit_id,
$data
);

$fields = Request::input('fields', '');
$relations = Request::input('relations', '');

$relations = !empty($relations) ? explode(',', $relations) : [];
$fields = !empty($fields) ? explode(',', $fields) : [];

return $this->created(SerializerRegistry::getInstance()->getSerializer
(
$mediaUpload, $serializeType)
->serialize
(
Request::input('expand', ''),
$fields,
$relations
self::getExpands(),
self::getFields(),
self::getRelations()
)
);
} catch (EntityNotFoundException $ex1) {
Expand Down Expand Up @@ -1113,20 +1176,14 @@ public function updatePresentationMediaUpload(LaravelRequest $request, $summit_i
$data
);

$fields = Request::input('fields', '');
$relations = Request::input('relations', '');

$relations = !empty($relations) ? explode(',', $relations) : [];
$fields = !empty($fields) ? explode(',', $fields) : [];

return $this->updated(SerializerRegistry::getInstance()->getSerializer
(
$mediaUpload, $serializeType)
->serialize
(
Request::input('expand', ''),
$fields,
$relations
self::getExpands(),
self::getFields(),
self::getRelations()
)
);
} catch (EntityNotFoundException $ex1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ function getAddValidationRules(array $payload): array
'name' => 'required|string|max:255',
'description' => 'sometimes|string|max:255',
'is_mandatory' => 'required|boolean',
'use_temporary_links_on_public_storage' => 'sometimes|boolean',
'temporary_links_public_storage_ttl' => 'sometimes|int|required_with:use_temporary_links_on_public_storage',
// in KB
'max_size' => 'required|int|megabyte_aligned',
'private_storage_type' => 'required|string|in:'.implode(",", IStorageTypesConstants::ValidPrivateTypes),
Expand Down Expand Up @@ -152,6 +154,8 @@ function getUpdateValidationRules(array $payload): array
'name' => 'sometimes|string|max:255',
'description' => 'sometimes|string|max:255',
'is_mandatory' => 'sometimes|boolean',
'use_temporary_links_on_public_storage' => 'sometimes|boolean',
'temporary_links_public_storage_ttl' => 'sometimes|int|required_with:use_temporary_links_on_public_storage',
// KB
'max_size' => 'sometimes|int|megabyte_aligned',
'private_storage_type' => 'sometimes|string|in:'.implode(",", IStorageTypesConstants::ValidPrivateTypes),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,12 @@ public function serialize($expand = null, array $fields = array(), array $relati
$values['description'] = $mediaUploadType->getDescription();
$strategy = FileDownloadStrategyFactory::build($mediaUploadType->getPublicStorageType());
if (!is_null($strategy)) {
$values['public_url'] = $strategy->getUrl($mediaUpload->getRelativePath());
$values['public_url'] = $strategy->getUrl
(
$mediaUpload->getRelativePath(),
$mediaUploadType->isUseTemporaryLinksOnPublicStorage(),
$mediaUploadType->getTemporaryLinksPublicStorageTtl()
);
}
}
catch (\Exception $ex){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ final class SummitMediaUploadTypeSerializer extends SilverStripeSerializer
'PublicStorageType' => 'public_storage_type:json_string',
'SummitId' => 'summit_id:json_int',
'TypeId' => 'type_id:json_int',
'UseTemporaryLinksOnPublicStorage' => 'use_temporary_links_on_public_storage:json_boolean',
'TemporaryLinksPublicStorageTtl' => 'temporary_links_public_storage_ttl:json_int',
];

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ public static function populate(SummitMediaUploadType $type, array $data):Summit
if(isset($data['private_storage_type']))
$type->setPrivateStorageType(trim($data['private_storage_type']));

if(isset($data['temporary_links_public_storage_ttl']))
$type->setTemporaryLinksPublicStorageTtl(intval($data['temporary_links_public_storage_ttl']));

if(isset($data['use_temporary_links_on_public_storage']))
$type->setUseTemporaryLinksOnPublicStorage(boolval($data['use_temporary_links_on_public_storage']));

if(isset($data['public_storage_type']))
$type->setPublicStorageType(trim($data['public_storage_type']));

Expand Down
Loading