- 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
+18 -5
View File
@@ -8,11 +8,11 @@
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=1d731f1c4a9daecb2a99", "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=1d731f1c4a9daecb2a99",
"/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js": "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js?id=5841d65172536a8a9bdc", "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js": "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js?id=5841d65172536a8a9bdc",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=d00148360f3d89f2791e", "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=d00148360f3d89f2791e",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js?id=2b6bed8bd1b30d268e46", "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js?id=242a9e122b975c48009d",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=510e6c1b1017a73a40a6", "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=510e6c1b1017a73a40a6",
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=90270d0c5aeb5c50dacf", "/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=90270d0c5aeb5c50dacf",
"/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=61e970ffb679245686c3", "/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=61e970ffb679245686c3",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=9e3809e5e5d084a64d9b", "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=b40d731af7b025b87b30",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=66048f6dddf596913bbd", "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=66048f6dddf596913bbd",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=aa284736dda7647d5c9e", "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=aa284736dda7647d5c9e",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=6bd4516589f23ec25ae6", "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=6bd4516589f23ec25ae6",
@@ -74,7 +74,7 @@
"/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=e67e12955133c57194d1", "/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=e67e12955133c57194d1",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=651d5accf401908724c5", "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=651d5accf401908724c5",
"/chunks/shared.js": "/chunks/shared.js?id=6230d050545cd1bd9b87", "/chunks/shared.js": "/chunks/shared.js?id=6230d050545cd1bd9b87",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=96b63d8e80c82dda1f9a", "/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=93c1c7e650b74e09ccab",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=8b9ac9ed9afd8dd15229", "/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=8b9ac9ed9afd8dd15229",
"/chunks/shared/files.js": "/chunks/shared/files.js?id=8ed7578e7f74e385da95", "/chunks/shared/files.js": "/chunks/shared/files.js?id=8ed7578e7f74e385da95",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=f2fb680ebf4873ff4436", "/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=f2fb680ebf4873ff4436",
@@ -577,7 +577,7 @@
"/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js": "/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js?id=bcec1c96b2248aa0d451", "/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js": "/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js?id=bcec1c96b2248aa0d451",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.3e07bae3987249743b99.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.3e07bae3987249743b99.hot-update.js", "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.3e07bae3987249743b99.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.3e07bae3987249743b99.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.3e07bae3987249743b99.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.3e07bae3987249743b99.hot-update.js", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.3e07bae3987249743b99.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.3e07bae3987249743b99.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js?id=9a1bb33d3b2a29b1e823", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js?id=0380cf3f45f87d9ea5b8",
"/chunks/shared/single-file.3e07bae3987249743b99.hot-update.js": "/chunks/shared/single-file.3e07bae3987249743b99.hot-update.js", "/chunks/shared/single-file.3e07bae3987249743b99.hot-update.js": "/chunks/shared/single-file.3e07bae3987249743b99.hot-update.js",
"/chunks/shared/single-file.f6729672ce5f9ec91bba.hot-update.js": "/chunks/shared/single-file.f6729672ce5f9ec91bba.hot-update.js", "/chunks/shared/single-file.f6729672ce5f9ec91bba.hot-update.js": "/chunks/shared/single-file.f6729672ce5f9ec91bba.hot-update.js",
"/chunks/shared/single-file.269aae12674c0fa0ba78.hot-update.js": "/chunks/shared/single-file.269aae12674c0fa0ba78.hot-update.js", "/chunks/shared/single-file.269aae12674c0fa0ba78.hot-update.js": "/chunks/shared/single-file.269aae12674c0fa0ba78.hot-update.js",
@@ -1286,5 +1286,18 @@
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.9f0b5306550607ac0355.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.9f0b5306550607ac0355.hot-update.js", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.9f0b5306550607ac0355.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.9f0b5306550607ac0355.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.f605c583768e448fdbaf.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.f605c583768e448fdbaf.hot-update.js", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.f605c583768e448fdbaf.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.f605c583768e448fdbaf.hot-update.js",
"/js/main.41be49db7b2bfe9e8d01.hot-update.js": "/js/main.41be49db7b2bfe9e8d01.hot-update.js", "/js/main.41be49db7b2bfe9e8d01.hot-update.js": "/js/main.41be49db7b2bfe9e8d01.hot-update.js",
"/js/main.655b1f79df9155310ca7.hot-update.js": "/js/main.655b1f79df9155310ca7.hot-update.js" "/js/main.655b1f79df9155310ca7.hot-update.js": "/js/main.655b1f79df9155310ca7.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b27eef3eeabb8882aebd.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b27eef3eeabb8882aebd.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.869010dfa4e84ce2f806.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.869010dfa4e84ce2f806.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.8f9f4c59797b09adafc5.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.8f9f4c59797b09adafc5.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.31aa7ceb2fa1a8357ac1.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.31aa7ceb2fa1a8357ac1.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.31aa7ceb2fa1a8357ac1.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.31aa7ceb2fa1a8357ac1.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4b8ce83b46d6f881c088.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4b8ce83b46d6f881c088.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7a477cd3baccd132ca08.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7a477cd3baccd132ca08.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b0cb3b358e0bfdd76e3e.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b0cb3b358e0bfdd76e3e.hot-update.js",
"/chunks/shared-with-me.34a83ec8132a90cad69d.hot-update.js": "/chunks/shared-with-me.34a83ec8132a90cad69d.hot-update.js",
"/chunks/shared-with-me.6254b2b076cc0856e739.hot-update.js": "/chunks/shared-with-me.6254b2b076cc0856e739.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9145f557db6631ef7534.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9145f557db6631ef7534.hot-update.js",
"/chunks/shared-with-me.4e39e4f244eb1f730c36.hot-update.js": "/chunks/shared-with-me.4e39e4f244eb1f730c36.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.df58e82a175e60d205da.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.df58e82a175e60d205da.hot-update.js"
} }
@@ -24,7 +24,7 @@
v-if="user && canShowAuthor" v-if="user && canShowAuthor"
:size="38" :size="38"
:is-border="true" :is-border="true"
:member="entry.data.relationships.user" :member="entry.data.relationships.owner"
class="absolute lg:-bottom-7 right-2 -bottom-5 z-10 transform lg:scale-100 scale-75 z-10" class="absolute lg:-bottom-7 right-2 -bottom-5 z-10 transform lg:scale-100 scale-75 z-10"
/> />
@@ -39,7 +39,7 @@
v-if="user && canShowAuthor" v-if="user && canShowAuthor"
:size="38" :size="38"
:is-border="true" :is-border="true"
:member="entry.data.relationships.user" :member="entry.data.relationships.owner"
class="absolute -right-3 -bottom-2.5 transform lg:scale-100 scale-75 z-10" class="absolute -right-3 -bottom-2.5 transform lg:scale-100 scale-75 z-10"
/> />
@@ -160,7 +160,7 @@
canShowAuthor() { canShowAuthor() {
return this.$isThisRoute(this.$route, ['SharedWithMe', 'TeamFolders']) return this.$isThisRoute(this.$route, ['SharedWithMe', 'TeamFolders'])
&& !this.isFolder && !this.isFolder
&& this.user.data.id !== this.entry.data.relationships.user.data.id && this.user.data.id !== this.entry.data.relationships.owner.data.id
}, },
canDrag() { canDrag() {
return !this.isDeleted && this.$checkPermission(['master', 'editor']) return !this.isDeleted && this.$checkPermission(['master', 'editor'])
@@ -12,7 +12,7 @@
v-if="user && canShowAuthor" v-if="user && canShowAuthor"
:size="28" :size="28"
:is-border="true" :is-border="true"
:member="entry.data.relationships.user" :member="entry.data.relationships.owner"
class="absolute right-1.5 -bottom-2 z-10" class="absolute right-1.5 -bottom-2 z-10"
/> />
@@ -136,9 +136,8 @@
: this.entry.data.attributes.items : this.entry.data.attributes.items
}, },
canShowAuthor() { canShowAuthor() {
return this.$isThisRoute(this.$route, ['SharedWithMe', 'TeamFolders']) return !this.isFolder
&& !this.isFolder && this.user.data.id !== this.entry.data.relationships.owner.data.id
&& this.user.data.id !== this.entry.data.relationships.user.data.id
}, },
canDrag() { canDrag() {
return !this.isDeleted && this.$checkPermission(['master', 'editor']) return !this.isDeleted && this.$checkPermission(['master', 'editor'])
@@ -77,6 +77,7 @@ import ItemList from "../FilesView/ItemList"
import {events} from '/resources/js/bus' import {events} from '/resources/js/bus'
import {debounce} from 'lodash'; import {debounce} from 'lodash';
import axios from "axios"; import axios from "axios";
import {mapGetters} from "vuex";
export default { export default {
name: 'Spotlight', name: 'Spotlight',
@@ -87,6 +88,9 @@ export default {
XIcon, XIcon,
}, },
computed: { computed: {
...mapGetters([
'user'
]),
metaKeyIcon() { metaKeyIcon() {
return this.$isApple() ? '⌘' : 'alt' return this.$isApple() ? '⌘' : 'alt'
}, },
@@ -135,7 +139,17 @@ export default {
// Show folder // Show folder
if (file.data.type === 'folder') { if (file.data.type === 'folder') {
if (file.data.attributes.isTeamFolder) {
if (file.data.relationships.owner.data.id === this.user.data.id) {
this.$router.push({name: 'TeamFolders', params: {id: file.data.id}})
} else {
this.$router.push({name: 'SharedWithMe', params: {id: file.data.id}})
}
} else {
this.$router.push({name: 'Files', params: {id: file.data.id}}) this.$router.push({name: 'Files', params: {id: file.data.id}})
}
} else { } else {
// Show file // Show file
@@ -201,6 +201,7 @@
}, },
}, },
created() { created() {
this.$store.commit('SET_CURRENT_TEAM_FOLDER', undefined)
this.$store.dispatch('getSharedWithMeFolder', this.$route.params.id) this.$store.dispatch('getSharedWithMeFolder', this.$route.params.id)
events.$on('context-menu:show', (event, item) => this.item = item) events.$on('context-menu:show', (event, item) => this.item = item)
@@ -1106,7 +1106,7 @@ class SetupDevEnvironment extends Command
// Generate avatar // Generate avatar
collect(config('vuefilemanager.avatar_sizes')) collect(config('vuefilemanager.avatar_sizes'))
->each(function ($size) use ($img , $avatar_name) { ->each(function ($size) use ($img, $avatar_name) {
// fit thumbnail // fit thumbnail
$img->fit($size['size'], $size['size'])->stream(); $img->fit($size['size'], $size['size'])->stream();
@@ -2,9 +2,9 @@
namespace Domain\Browsing\Controllers; namespace Domain\Browsing\Controllers;
use DB; use DB;
use Illuminate\Support\Arr;
use Domain\Files\Models\File; use Domain\Files\Models\File;
use Domain\Folders\Models\Folder; use Domain\Folders\Models\Folder;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Domain\Items\Requests\SearchRequest; use Domain\Items\Requests\SearchRequest;
use Domain\Files\Resources\FilesCollection; use Domain\Files\Resources\FilesCollection;
+2 -2
View File
@@ -59,9 +59,9 @@ class FileResource extends JsonResource
], ],
]), ]),
$this->mergeWhen($this->owner, fn () => [ $this->mergeWhen($this->owner, fn () => [
'user' => [ 'owner' => [
'data' => [ 'data' => [
'type' => 'user', 'type' => 'owner',
'id' => $this->user_id, 'id' => $this->user_id,
'attributes' => [ 'attributes' => [
'name' => $this->owner->settings->name, 'name' => $this->owner->settings->name,
@@ -9,12 +9,25 @@ use Domain\Folders\Requests\CreateFolderRequest;
class CreateFolderAction class CreateFolderAction
{ {
/** /**
* Create new directory * Create new folder
*/ */
public function __invoke( public function __invoke(
CreateFolderRequest $request, CreateFolderRequest $request,
?Share $shared = null, ?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([ return Folder::create([
'parent_id' => $request->input('parent_id'), 'parent_id' => $request->input('parent_id'),
'name' => $request->input('name'), 'name' => $request->input('name'),
@@ -22,6 +35,7 @@ class CreateFolderAction
'emoji' => $request->input('emoji') ?? null, 'emoji' => $request->input('emoji') ?? null,
'author' => $shared ? 'visitor' : 'user', 'author' => $shared ? 'visitor' : 'user',
'user_id' => $shared ? $shared->user_id : Auth::id(), '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'); ->withPivot('permission');
} }
public function owner(): HasOne
{
return $this->hasOne(User::class, 'id', 'user_id');
}
public function parents(): HasMany public function parents(): HasMany
{ {
return $this->hasMany(Folder::class, 'id', 'parent_id'); 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 Illuminate\Http\Request;
use Domain\Zip\Actions\ZipAction; use Domain\Zip\Actions\ZipAction;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Domain\Traffic\Actions\RecordDownloadAction; use Domain\Traffic\Actions\RecordDownloadAction;
use Domain\Zip\Actions\GetItemsListFromUrlParamAction; use Domain\Zip\Actions\GetItemsListFromUrlParamAction;
+9 -10
View File
@@ -29,14 +29,13 @@ class FolderTest extends TestCase
*/ */
public function it_create_new_folder() public function it_create_new_folder()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$this $this
->actingAs($user) ->actingAs($user)
->postJson('/api/create-folder', [ ->postJson('/api/create-folder', [
'name' => 'New Folder', 'name' => 'New Folder',
'parent_id' => null,
]) ])
->assertStatus(201) ->assertStatus(201)
->assertJsonFragment([ ->assertJsonFragment([
@@ -53,7 +52,7 @@ class FolderTest extends TestCase
*/ */
public function it_rename_folder() public function it_rename_folder()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -82,7 +81,7 @@ class FolderTest extends TestCase
*/ */
public function it_set_folder_emoji() public function it_set_folder_emoji()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -120,7 +119,7 @@ class FolderTest extends TestCase
*/ */
public function it_set_folder_color() public function it_set_folder_color()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -153,7 +152,7 @@ class FolderTest extends TestCase
*/ */
public function it_move_folder_to_another_folder() public function it_move_folder_to_another_folder()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -189,7 +188,7 @@ class FolderTest extends TestCase
*/ */
public function it_delete_multiple_folder_softly() public function it_delete_multiple_folder_softly()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder_1 = Folder::factory(Folder::class) $folder_1 = Folder::factory(Folder::class)
@@ -239,7 +238,7 @@ class FolderTest extends TestCase
*/ */
public function it_delete_multiple_folder_hardly() public function it_delete_multiple_folder_hardly()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder_1 = Folder::factory(Folder::class) $folder_1 = Folder::factory(Folder::class)
@@ -283,7 +282,7 @@ class FolderTest extends TestCase
*/ */
public function it_delete_folder_with_their_content_within_softly() public function it_delete_folder_with_their_content_within_softly()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
$folder_root = Folder::factory(Folder::class) $folder_root = Folder::factory(Folder::class)
@@ -341,7 +340,7 @@ class FolderTest extends TestCase
*/ */
public function it_delete_folder_with_their_content_within_hardly() public function it_delete_folder_with_their_content_within_hardly()
{ {
$user = User::factory(User::class) $user = User::factory()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
+3 -4
View File
@@ -1,12 +1,11 @@
<?php <?php
namespace Tests\Domain\Spotlight; namespace Tests\Domain\Spotlight;
use Illuminate\Support\Facades\DB;
use Tests\TestCase; use Tests\TestCase;
use App\Users\Models\User; use App\Users\Models\User;
use Domain\Files\Models\File; use Domain\Files\Models\File;
use Domain\Folders\Models\Folder; use Domain\Folders\Models\Folder;
use Illuminate\Support\Facades\DB;
class SearchTest extends TestCase class SearchTest extends TestCase
{ {
@@ -38,7 +37,7 @@ class SearchTest extends TestCase
collect([$english, $russian, $turkish]) collect([$english, $russian, $turkish])
->each( ->each(
fn($file) => $this fn ($file) => $this
->actingAs($user) ->actingAs($user)
->getJson('/api/browse/search?query=' . mb_strtolower(mb_substr($file->name, 0, 3))) ->getJson('/api/browse/search?query=' . mb_strtolower(mb_substr($file->name, 0, 3)))
->assertStatus(200) ->assertStatus(200)
@@ -91,7 +90,7 @@ class SearchTest extends TestCase
$folderWithin = Folder::factory() $folderWithin = Folder::factory()
->create([ ->create([
'name' => "Folder within Alice", 'name' => 'Folder within Alice',
'parent_id' => $folder->id, 'parent_id' => $folder->id,
'user_id' => $owner->id, 'user_id' => $owner->id,
]); ]);
+25
View File
@@ -84,6 +84,31 @@ class TeamsTest extends TestCase
Notification::assertTimesSent(2, InvitationIntoTeamFolder::class); Notification::assertTimesSent(2, InvitationIntoTeamFolder::class);
} }
/**
* @test
*/
public function it_mark_newly_created_folder_as_team_folder()
{
$user = User::factory()
->create();
$teamFolder = Folder::factory()
->create([
'team_folder' => 1,
]);
$this
->actingAs($user)
->postJson('/api/create-folder', [
'name' => 'Inner Folder',
'parent_id' => $teamFolder->id,
])
->assertStatus(201)
->assertJsonFragment([
'isTeamFolder' => true,
]);
}
/** /**
* @test * @test
*/ */