1
0
mirror of https://github.com/flextype/flextype.git synced 2025-08-08 06:06:45 +02:00

feat(media): standardise media container names for Media API #517

This commit is contained in:
Awilum
2020-12-17 21:59:57 +03:00
parent 76b4b16f8b
commit 5cfc9bf20c
10 changed files with 98 additions and 98 deletions

View File

@@ -86,14 +86,14 @@ flextype()->get('/api/media/files', function (Request $request, Response $respon
if (isset($method) &&
strpos($method, 'fetch') !== false &&
is_callable([flextype('media_files'), $method])) {
is_callable([flextype('media.files'), $method])) {
$fetchFromCallbackMethod = $method;
} else {
$fetchFromCallbackMethod = 'fetch';
}
// Get fetch result
$files = flextype('media_files')->{$fetchFromCallbackMethod}($id, $options);
$files = flextype('media.files')->{$fetchFromCallbackMethod}($id, $options);
$files = ($files instanceof Arrays) ? $files->toArray() : $files;
// Write response data
@@ -201,12 +201,12 @@ flextype()->post('/api/media/files', function (Request $request, Response $respo
}
// Create file
$create_file = flextype('media_files')->upload($file, $folder);
$create_file = flextype('media.files')->upload($file, $folder);
$response_data['data'] = [];
if ($create_file) {
$response_data['data'] = flextype('media_files')->fetch($folder . '/' . basename($create_file));
$response_data['data'] = flextype('media.files')->fetch($folder . '/' . basename($create_file));
}
// Set response code
@@ -311,12 +311,12 @@ flextype()->put('/api/media/files', function (Request $request, Response $respon
}
// Rename file
$rename_file = flextype('media_files')->move($id, $new_path);
$rename_file = flextype('media.files')->move($id, $new_path);
$response_data['data'] = [];
if ($rename_file) {
$response_data['data'] = flextype('media_files')->fetch($new_path);
$response_data['data'] = flextype('media.files')->fetch($new_path);
}
// Set response code
@@ -420,12 +420,12 @@ flextype()->put('/api/media/files/copy', function (Request $request, Response $r
}
// Copy file
$copy_file = flextype('media_files')->copy($id, $new_path);
$copy_file = flextype('media.files')->copy($id, $new_path);
$response_data['data'] = [];
if ($copy_file) {
$response_data['data'] = flextype('media_files')->fetch($new_path);
$response_data['data'] = flextype('media.files')->fetch($new_path);
}
// Set response code
@@ -527,7 +527,7 @@ flextype()->delete('/api/media/files', function (Request $request, Response $res
}
// Delete file
$delete_file = flextype('media_files')->delete($id);
$delete_file = flextype('media.files')->delete($id);
// Set response code
$response_code = $delete_file ? 204 : 404;
@@ -632,12 +632,12 @@ flextype()->patch('/api/media/files/meta', function (Request $request, Response
}
// Update file meta
$update_file_meta = flextype('media_files_meta')->update($id, $field, $value);
$update_file_meta = flextype('media.files.meta')->update($id, $field, $value);
$response_data['data'] = [];
if ($update_file_meta) {
$response_data['data'] = flextype('media_files')->fetch($id);
$response_data['data'] = flextype('media.files')->fetch($id);
}
// Set response code
@@ -743,12 +743,12 @@ flextype()->post('/api/media/files/meta', function (Request $request, Response $
}
// Add file meta
$add_file_meta = flextype('media_files_meta')->add($id, $field, $value);
$add_file_meta = flextype('media.files.meta')->add($id, $field, $value);
$response_data['data'] = [];
if ($add_file_meta) {
$response_data['data'] = flextype('media_files')->fetch($id);
$response_data['data'] = flextype('media.files')->fetch($id);
}
// Set response code
@@ -853,12 +853,12 @@ flextype()->delete('/api/media/files/meta', function (Request $request, Response
}
// Delete file meta
$delete_file_meta = flextype('media_files_meta')->delete($id, $field);
$delete_file_meta = flextype('media.files.meta')->delete($id, $field);
$response_data['data'] = [];
if ($delete_file_meta) {
$response_data['data'] = flextype('media_files')->fetch($id);
$response_data['data'] = flextype('media.files')->fetch($id);
}
// Set response code
@@ -951,14 +951,14 @@ flextype()->get('/api/media/folders', function (Request $request, Response $resp
if (isset($method) &&
strpos($method, 'fetch') !== false &&
is_callable([flextype('media_folders'), $method])) {
is_callable([flextype('media.folders'), $method])) {
$fetchFromCallbackMethod = $method;
} else {
$fetchFromCallbackMethod = 'fetch';
}
// Get fetch result
$folders = flextype('media_folders')->{$fetchFromCallbackMethod}($id, $options);
$folders = flextype('media.folders')->{$fetchFromCallbackMethod}($id, $options);
$folders = ($folders instanceof Arrays) ? $folders->toArray() : $folders;
// Write response data
@@ -1063,12 +1063,12 @@ flextype()->post('/api/media/folders', function (Request $request, Response $res
}
// Create folder
$create_folder = flextype('media_folders')->create($id);
$create_folder = flextype('media.folders')->create($id);
$response_data = [];
if ($create_folder) {
$response_data['data'] = flextype('media_folders')->fetch($id);
$response_data['data'] = flextype('media.folders')->fetch($id);
}
// Set response code
@@ -1170,12 +1170,12 @@ flextype()->put('/api/media/folders/copy', function (Request $request, Response
}
// Copy folder
$copy_folder = flextype('media_folders')->copy($id, $new_path);
$copy_folder = flextype('media.folders')->copy($id, $new_path);
$response_data = [];
if ($copy_folder) {
$response_data['data'] = flextype('media_folders')->fetch($new_path);
$response_data['data'] = flextype('media.folders')->fetch($new_path);
} else {
$response_data['data'] = $copy_folder;
}
@@ -1279,12 +1279,12 @@ flextype()->put('/api/media/folders', function (Request $request, Response $resp
}
// Rename folder
$move_folder = flextype('media_folders')->move($id, $new_path);
$move_folder = flextype('media.folders')->move($id, $new_path);
$response_data = [];
if ($move_folder) {
$response_data['data'] = flextype('media_folders')->fetch($new_path);
$response_data['data'] = flextype('media.folders')->fetch($new_path);
}
// Set response code
@@ -1384,7 +1384,7 @@ flextype()->delete('/api/media/folders', function (Request $request, Response $r
}
// Delete folder
$delete_folder = flextype('media_folders')->delete($id);
$delete_folder = flextype('media.folders')->delete($id);
// Set response code
$response_code = $delete_folder ? 204 : 404;

View File

@@ -31,7 +31,7 @@ if (flextype('registry')->get('flextype.settings.entries.fields.media.files.fetc
if (isset($body['method']) &&
strpos($body['method'], 'fetch') !== false &&
is_callable([flextype('media_files'), $body['method']])) {
is_callable([flextype('media.files'), $body['method']])) {
$fetchFromCallbackMethod = $body['method'];
} else {
$fetchFromCallbackMethod = 'fetch';
@@ -40,7 +40,7 @@ if (flextype('registry')->get('flextype.settings.entries.fields.media.files.fetc
$result = isset($body['result']) && in_array($body['result'], ['toArray', 'toObject']) ? $body['result'] : $resultTo;
$data[$field] = flextype('media_files')->{$fetchFromCallbackMethod}($body['id'],
$data[$field] = flextype('media.files')->{$fetchFromCallbackMethod}($body['id'],
isset($body['options']) ?
$body['options'] :
[]);
@@ -80,7 +80,7 @@ if (flextype('registry')->get('flextype.settings.entries.fields.media.folders.fe
if (isset($body['method']) &&
strpos($body['method'], 'fetch') !== false &&
is_callable([flextype('media_folders'), $body['method']])) {
is_callable([flextype('media.folders'), $body['method']])) {
$fetchFromCallbackMethod = $body['method'];
} else {
$fetchFromCallbackMethod = 'fetch';
@@ -89,7 +89,7 @@ if (flextype('registry')->get('flextype.settings.entries.fields.media.folders.fe
$result = isset($body['result']) && in_array($body['result'], ['toArray', 'toObject']) ? $body['result'] : $resultTo;
$data[$field] = flextype('media_folders')->{$fetchFromCallbackMethod}($body['id'],
$data[$field] = flextype('media.folders')->{$fetchFromCallbackMethod}($body['id'],
isset($body['options']) ?
$body['options'] :
[]);

View File

@@ -224,12 +224,12 @@ class MediaFiles
strings($options['collection'])->isTrue()) {
$result = [];
foreach (filesystem()->find()->files()->in(flextype('media_folders_meta')->getDirectoryMetaLocation($id)) as $file) {
foreach (filesystem()->find()->files()->in(flextype('media.folders.meta')->getDirectoryMetaLocation($id)) as $file) {
$basename = $file->getBasename('.' . $file->getExtension());
$result[$basename] = flextype('yaml')->decode(filesystem()->file($file->getPathname())->get());
$result[$basename]['filename'] = pathinfo(str_replace('/.meta', '', flextype('media_files_meta')->getFileMetaLocation($basename)))['filename'];
$result[$basename]['basename'] = explode('.', basename(flextype('media_files_meta')->getFileMetaLocation($basename)))[0];
$result[$basename]['filename'] = pathinfo(str_replace('/.meta', '', flextype('media.files.meta')->getFileMetaLocation($basename)))['filename'];
$result[$basename]['basename'] = explode('.', basename(flextype('media.files.meta')->getFileMetaLocation($basename)))[0];
$result[$basename]['extension'] = ltrim(strstr($basename, '.'), '.');
$result[$basename]['dirname'] = pathinfo(str_replace('/.meta', '', $file->getPathname()))['dirname'];
$result[$basename]['url'] = 'project/media/' . $id . '/' . $basename;
@@ -249,13 +249,13 @@ class MediaFiles
} else {
$result = [];
if (filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->exists()) {
$result = flextype('yaml')->decode(filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->get());
if (filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->exists()) {
$result = flextype('yaml')->decode(filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->get());
$result['filename'] = pathinfo(str_replace('/.meta', '', flextype('media_files_meta')->getFileMetaLocation($id)))['filename'];
$result['basename'] = explode('.', basename(flextype('media_files_meta')->getFileMetaLocation($id)))[0];
$result['filename'] = pathinfo(str_replace('/.meta', '', flextype('media.files.meta')->getFileMetaLocation($id)))['filename'];
$result['basename'] = explode('.', basename(flextype('media.files.meta')->getFileMetaLocation($id)))[0];
$result['extension'] = ltrim(strstr($id, '.'), '.');
$result['dirname'] = pathinfo(str_replace('/.meta', '', flextype('media_files_meta')->getFileMetaLocation($id)))['dirname'];
$result['dirname'] = pathinfo(str_replace('/.meta', '', flextype('media.files.meta')->getFileMetaLocation($id)))['dirname'];
$result['url'] = 'project/media/' . $id;
@@ -286,9 +286,9 @@ class MediaFiles
*/
public function move(string $id, string $newID): bool
{
if (! filesystem()->file($this->getFileLocation($newID))->exists() && ! filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($newID))->exists()) {
if (! filesystem()->file($this->getFileLocation($newID))->exists() && ! filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($newID))->exists()) {
return filesystem()->file($this->getFileLocation($id))->move($this->getFileLocation($newID)) &&
filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->move(flextype('media_files_meta')->getFileMetaLocation($newID));
filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->move(flextype('media.files.meta')->getFileMetaLocation($newID));
}
return false;
@@ -306,7 +306,7 @@ class MediaFiles
public function delete(string $id): bool
{
return filesystem()->file($this->getFileLocation($id))->delete() &&
filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->delete();
filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->delete();
}
/**
@@ -321,7 +321,7 @@ class MediaFiles
public function has(string $id): bool
{
return filesystem()->file($this->getFileLocation($id))->exists() &&
filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->exists();
filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->exists();
}
/**
@@ -336,12 +336,12 @@ class MediaFiles
*/
public function copy(string $id, string $newID): bool
{
if (! filesystem()->file($this->getFileLocation($newID))->exists() && ! filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($newID))->exists()) {
if (! filesystem()->file($this->getFileLocation($newID))->exists() && ! filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($newID))->exists()) {
filesystem()->file($this->getFileLocation($id))->copy($this->getFileLocation($newID));
filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($id))->copy(flextype('media_files_meta')->getFileMetaLocation($newID));
filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($id))->copy(flextype('media.files.meta')->getFileMetaLocation($newID));
return filesystem()->file($this->getFileLocation($newID))->exists() &&
filesystem()->file(flextype('media_files_meta')->getFileMetaLocation($newID))->exists();
filesystem()->file(flextype('media.files.meta')->getFileMetaLocation($newID))->exists();
}
return false;

View File

@@ -43,9 +43,9 @@ class MediaFolders
$single = function ($id, $options) {
$result = [];
if (filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))->exists()) {
if (filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))->exists()) {
$result['path'] = $id;
$result['full_path'] = str_replace('/.meta', '', flextype('media_folders_meta')->getDirectoryMetaLocation($id));
$result['full_path'] = str_replace('/.meta', '', flextype('media.folders.meta')->getDirectoryMetaLocation($id));
$result['url'] = 'project/media/' . $id;
if (flextype('registry')->has('flextype.settings.url') && flextype('registry')->get('flextype.settings.url') !== '') {
@@ -66,7 +66,7 @@ class MediaFolders
strings($options['collection'])->isTrue()) {
$result = [];
foreach (filesystem()->find()->directories()->in(flextype('media_folders_meta')->getDirectoryMetaLocation($id)) as $folder) {
foreach (filesystem()->find()->directories()->in(flextype('media.folders.meta')->getDirectoryMetaLocation($id)) as $folder) {
$result[$folder->getFilename()] = $single($id . '/' . $folder->getFilename(), [])->toArray();
}
@@ -91,10 +91,10 @@ class MediaFolders
{
if (
! filesystem()->directory($this->getDirectoryLocation($id))->exists() &&
! filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))->exists()
! filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))->exists()
) {
return filesystem()->directory($this->getDirectoryLocation($id))->create(0755, true) &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))->create(0755, true);
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))->create(0755, true);
}
return false;
@@ -114,10 +114,10 @@ class MediaFolders
{
if (
(filesystem()->directory($this->getDirectoryLocation($newID))->exists() === false &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($newID))->exists() === false)
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($newID))->exists() === false)
) {
return filesystem()->directory($this->getDirectoryLocation($id))->move($this->getDirectoryLocation($newID)) &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))->move(flextype('media_folders_meta')->getDirectoryMetaLocation($newID));
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))->move(flextype('media.folders.meta')->getDirectoryMetaLocation($newID));
}
return false;
@@ -137,17 +137,17 @@ class MediaFolders
{
if (
(filesystem()->directory($this->getDirectoryLocation($newID))->exists() === false &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($newID))->exists() === false)
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($newID))->exists() === false)
) {
filesystem()
->directory($this->getDirectoryLocation($id))
->copy($this->getDirectoryLocation($newID));
filesystem()
->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))
->copy(flextype('media_folders_meta')->getDirectoryMetaLocation($newID));
->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))
->copy(flextype('media.folders.meta')->getDirectoryMetaLocation($newID));
return filesystem()->directory($this->getDirectoryLocation($newID))->exists() &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($newID))->exists();
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($newID))->exists();
}
return false;
@@ -165,7 +165,7 @@ class MediaFolders
public function delete(string $id): bool
{
return filesystem()->directory($this->getDirectoryLocation($id))->delete() &&
filesystem()->directory(flextype('media_folders_meta')->getDirectoryMetaLocation($id))->delete();
filesystem()->directory(flextype('media.folders.meta')->getDirectoryMetaLocation($id))->delete();
}
/**

View File

@@ -325,28 +325,28 @@ flextype()->container()['entries'] = static function () {
/**
* Add media folders service to Flextype container
*/
flextype()->container()['media_folders'] = static function () {
flextype()->container()['media.folders'] = static function () {
return new MediaFolders();
};
/**
* Add media files service to Flextype container
*/
flextype()->container()['media_files'] = static function () {
flextype()->container()['media.files'] = static function () {
return new MediaFiles();
};
/**
* Add media folders meta service to Flextype container
*/
flextype()->container()['media_folders_meta'] = static function () {
flextype()->container()['media.folders.meta'] = static function () {
return new MediaFoldersMeta();
};
/**
* Add media files meta service to Flextype container
*/
flextype()->container()['media_files_meta'] = static function () {
flextype()->container()['media.files.meta'] = static function () {
return new MediaFilesMeta();
};

View File

@@ -16,7 +16,7 @@ afterEach(function (): void {
filesystem()->directory(PATH['project'] . '/entries')->delete();
});
test('test media_files field', function () {
test('test media.files field', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
@@ -25,11 +25,11 @@ test('test media_files field', function () {
flextype('entries')->create('media', flextype('frontmatter')->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/media/entry.md')->get()));
flextype('media_files')::macro('fetchExtraData', function ($id, $options) {
flextype('media.files')::macro('fetchExtraData', function ($id, $options) {
return ['id' => $id, 'options' => $options];
});
flextype('media_folders')::macro('fetchExtraData', function ($id, $options) {
flextype('media.folders')::macro('fetchExtraData', function ($id, $options) {
return ['id' => $id, 'options' => $options];
});

View File

@@ -16,7 +16,7 @@ test('test update() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files_meta')->update('foo.txt', 'description', 'Foo description'));
$this->assertTrue(flextype('media.files.meta')->update('foo.txt', 'description', 'Foo description'));
$this->assertEquals('Foo description', flextype('yaml')->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['description']);
});
@@ -24,7 +24,7 @@ test('test add() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files_meta')->add('foo.txt', 'bar', 'Bar'));
$this->assertTrue(flextype('media.files.meta')->add('foo.txt', 'bar', 'Bar'));
$this->assertEquals('Bar', flextype('yaml')->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['bar']);
});
@@ -32,7 +32,7 @@ test('test delete() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files_meta')->delete('foo.txt', 'title'));
$this->assertTrue(flextype('media.files.meta')->delete('foo.txt', 'title'));
$this->assertTrue(empty(flextype('yaml')->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['bar']));
});
@@ -40,5 +40,5 @@ test('test getFileMetaLocation() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertStringContainsString('foo.txt.yaml',
flextype('media_files_meta')->getFileMetaLocation('foo.txt'));
flextype('media.files.meta')->getFileMetaLocation('foo.txt'));
});

View File

@@ -18,51 +18,51 @@ test('test fetch() method', function () {
filesystem()->file(PATH['project'] . '/media/bar.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(count(flextype('media_files')->fetch('foo.txt')) > 0);
$this->assertEquals('Foo', flextype('media_files')->fetch('foo.txt')['title']);
$this->assertTrue(count(flextype('media.files')->fetch('foo.txt')) > 0);
$this->assertEquals('Foo', flextype('media.files')->fetch('foo.txt')['title']);
$this->assertTrue(count(flextype('media_files')->fetch('/', ['collection' => true])) == 2);
$this->assertEquals('Foo', flextype('media_files')->fetch('/', ['collection' => true])['foo.txt']['title']);
$this->assertTrue(count(flextype('media.files')->fetch('/', ['collection' => true])) == 2);
$this->assertEquals('Foo', flextype('media.files')->fetch('/', ['collection' => true])['foo.txt']['title']);
});
test('test move() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files')->move('foo.txt', 'bar.txt'));
$this->assertTrue(flextype('media_files')->move('bar.txt', 'foo.txt'));
$this->assertFalse(flextype('media_files')->move('bar.txt', 'foo.txt'));
$this->assertTrue(flextype('media.files')->move('foo.txt', 'bar.txt'));
$this->assertTrue(flextype('media.files')->move('bar.txt', 'foo.txt'));
$this->assertFalse(flextype('media.files')->move('bar.txt', 'foo.txt'));
});
test('test copy() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media_folders')->create('bar'));
$this->assertTrue(flextype('media.folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->create('bar'));
filesystem()->file(PATH['project'] . '/media/foo/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files')->copy('foo/foo.txt', 'bar/foo.txt'));
$this->assertTrue(flextype('media_files')->copy('foo/foo.txt', 'bar/bar.txt'));
$this->assertFalse(flextype('media_files')->copy('foo/foo.txt', 'bar/foo.txt'));
$this->assertTrue(flextype('media.files')->copy('foo/foo.txt', 'bar/foo.txt'));
$this->assertTrue(flextype('media.files')->copy('foo/foo.txt', 'bar/bar.txt'));
$this->assertFalse(flextype('media.files')->copy('foo/foo.txt', 'bar/foo.txt'));
});
test('test has() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files')->has('foo.txt'));
$this->assertFalse(flextype('media_files')->has('bar.txt'));
$this->assertTrue(flextype('media.files')->has('foo.txt'));
$this->assertFalse(flextype('media.files')->has('bar.txt'));
});
test('test getFileLocation() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertStringContainsString('foo.txt', flextype('media_files')->getFileLocation('foo.txt'));
$this->assertStringContainsString('foo.txt', flextype('media.files')->getFileLocation('foo.txt'));
});
test('test delete() method', function () {
filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo');
filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('yaml')->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []]));
$this->assertTrue(flextype('media_files')->delete('foo.txt'));
$this->assertFalse(flextype('media_files')->delete('foo.txt'));
$this->assertTrue(flextype('media.files')->delete('foo.txt'));
$this->assertFalse(flextype('media.files')->delete('foo.txt'));
});

View File

@@ -14,5 +14,5 @@ afterEach(function (): void {
test('test getDirectoryMetaLocation() method', function () {
$this->assertStringContainsString('/.meta/foo',
flextype('media_folders_meta')->getDirectoryMetaLocation('foo'));
flextype('media.folders.meta')->getDirectoryMetaLocation('foo'));
});

View File

@@ -14,34 +14,34 @@ afterEach(function (): void {
test('test fetch() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media_folders')->create('foo/bar'));
$this->assertTrue(flextype('media_folders')->create('foo/zed'));
$this->assertTrue(count(flextype('media_folders')->fetch('foo', ['collection' => true])) == 2);
$this->assertTrue(count(flextype('media_folders')->fetch('foo')) > 0);
$this->assertTrue(flextype('media.folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->create('foo/bar'));
$this->assertTrue(flextype('media.folders')->create('foo/zed'));
$this->assertTrue(count(flextype('media.folders')->fetch('foo', ['collection' => true])) == 2);
$this->assertTrue(count(flextype('media.folders')->fetch('foo')) > 0);
});
test('test create() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->create('foo'));
});
test('test move() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media_folders')->move('foo', 'bar'));
$this->assertTrue(flextype('media.folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->move('foo', 'bar'));
});
test('test copy() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media_folders')->copy('foo', 'bar'));
$this->assertTrue(flextype('media.folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->copy('foo', 'bar'));
});
test('test delete() method', function () {
$this->assertTrue(flextype('media_folders')->create('foo'));
$this->assertTrue(flextype('media_folders')->delete('foo'));
$this->assertFalse(flextype('media_folders')->delete('bar'));
$this->assertTrue(flextype('media.folders')->create('foo'));
$this->assertTrue(flextype('media.folders')->delete('foo'));
$this->assertFalse(flextype('media.folders')->delete('bar'));
});
test('test getDirectoryLocation() method', function () {
$this->assertStringContainsString('/foo',
flextype('media_folders')->getDirectoryLocation('foo'));
flextype('media.folders')->getDirectoryLocation('foo'));
});