- mark folder as team folder after folder was created

- show members in spotlight search
This commit is contained in:
Čarodej
2021-11-04 09:14:12 +01:00
parent 5a9f2985c9
commit aec5b98313
15 changed files with 121 additions and 40 deletions
@@ -1106,7 +1106,7 @@ class SetupDevEnvironment extends Command
// Generate avatar
collect(config('vuefilemanager.avatar_sizes'))
->each(function ($size) use ($img , $avatar_name) {
->each(function ($size) use ($img, $avatar_name) {
// fit thumbnail
$img->fit($size['size'], $size['size'])->stream();
@@ -2,9 +2,9 @@
namespace Domain\Browsing\Controllers;
use DB;
use Illuminate\Support\Arr;
use Domain\Files\Models\File;
use Domain\Folders\Models\Folder;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Domain\Items\Requests\SearchRequest;
use Domain\Files\Resources\FilesCollection;
+2 -2
View File
@@ -59,9 +59,9 @@ class FileResource extends JsonResource
],
]),
$this->mergeWhen($this->owner, fn () => [
'user' => [
'owner' => [
'data' => [
'type' => 'user',
'type' => 'owner',
'id' => $this->user_id,
'attributes' => [
'name' => $this->owner->settings->name,
@@ -9,19 +9,33 @@ use Domain\Folders\Requests\CreateFolderRequest;
class CreateFolderAction
{
/**
* Create new directory
* Create new folder
*/
public function __invoke(
CreateFolderRequest $request,
?Share $shared = null,
): Folder | array {
): Folder|array {
/*
* check if exist parent team folder, if yes,
* then get folder to detect whether it is team_folder
*/
if ($request->has('parent_id')) {
$isTeamFolder = Folder::find(
$request->input('parent_id')
)
->getLatestParent()
->team_folder;
}
// Create folder record
return Folder::create([
'parent_id' => $request->input('parent_id'),
'name' => $request->input('name'),
'color' => $request->input('color') ?? null,
'emoji' => $request->input('emoji') ?? null,
'author' => $shared ? 'visitor' : 'user',
'user_id' => $shared ? $shared->user_id : Auth::id(),
'parent_id' => $request->input('parent_id'),
'name' => $request->input('name'),
'color' => $request->input('color') ?? null,
'emoji' => $request->input('emoji') ?? null,
'author' => $shared ? 'visitor' : 'user',
'user_id' => $shared ? $shared->user_id : Auth::id(),
'team_folder' => $isTeamFolder ?? false,
]);
}
}
+5
View File
@@ -192,6 +192,11 @@ class Folder extends Model
->withPivot('permission');
}
public function owner(): HasOne
{
return $this->hasOne(User::class, 'id', 'user_id');
}
public function parents(): HasMany
{
return $this->hasMany(Folder::class, 'id', 'parent_id');
@@ -54,6 +54,19 @@ class FolderResource extends JsonResource
],
],
]),
$this->mergeWhen($this->owner, fn () => [
'owner' => [
'data' => [
'type' => 'owner',
'id' => $this->user_id,
'attributes' => [
'name' => $this->owner->settings->name,
'avatar' => $this->owner->settings->avatar,
'color' => $this->owner->settings->color,
],
],
],
]),
],
],
];
@@ -4,7 +4,6 @@ namespace Domain\Zip\Controllers;
use Illuminate\Http\Request;
use Domain\Zip\Actions\ZipAction;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Domain\Traffic\Actions\RecordDownloadAction;
use Domain\Zip\Actions\GetItemsListFromUrlParamAction;