diff --git a/app/Http/Controllers/WorkspaceController.php b/app/Http/Controllers/WorkspaceController.php index 4efebee..82d8521 100644 --- a/app/Http/Controllers/WorkspaceController.php +++ b/app/Http/Controllers/WorkspaceController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers; -use App\Http\Controllers\Controller; use App\Http\Requests\Workspace\CustomDomainRequest; +use App\Http\Resources\WorkspaceResource; use App\Models\Workspace; use Illuminate\Http\Request; use App\Service\WorkspaceHelper; @@ -19,7 +19,7 @@ class WorkspaceController extends Controller public function index() { $this->authorize('viewAny', Workspace::class); - return Auth::user()->workspaces; + return WorkspaceResource::collection(Auth::user()->workspaces); } public function listUsers(Request $request, $workspaceId) @@ -34,7 +34,7 @@ class WorkspaceController extends Controller { $request->workspace->custom_domains = $request->customDomains; $request->workspace->save(); - return $request->workspace; + return new WorkspaceResource($request->workspace); } public function delete($id) diff --git a/app/Http/Resources/WorkspaceResource.php b/app/Http/Resources/WorkspaceResource.php index f8376c9..5ba7232 100644 --- a/app/Http/Resources/WorkspaceResource.php +++ b/app/Http/Resources/WorkspaceResource.php @@ -7,18 +7,18 @@ use Illuminate\Support\Facades\Auth; class WorkspaceResource extends JsonResource { + public static $wrap = null; + /** * Transform the resource into an array. * - * @param \Illuminate\Http\Request $request + * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { - return [ - 'id' => $this->id, - 'is_enterprise' => $this->is_enterprise, - 'is_pro' => $this->is_pro, - ]; + return array_merge(parent::toArray($request), [ + 'max_file_size' => $this->max_file_size / 1000000, + ]); } } diff --git a/client/components/open/forms/OpenFormField.vue b/client/components/open/forms/OpenFormField.vue index a863160..7c90042 100644 --- a/client/components/open/forms/OpenFormField.vue +++ b/client/components/open/forms/OpenFormField.vue @@ -117,6 +117,7 @@ export default { const workingFormStore = useWorkingFormStore() return { workingFormStore, + currentWorkspace: computed(() => useWorkspacesStore().getCurrent), selectedFieldIndex: computed(() => workingFormStore.selectedFieldIndex), showEditFieldSidebar: computed(() => workingFormStore.showEditFieldSidebar) } @@ -299,7 +300,7 @@ export default { } } else if (field.type === 'files' || (field.type === 'url' && field.file_upload)) { inputProperties.multiple = (field.multiple !== undefined && field.multiple) - inputProperties.mbLimit = this.form.max_file_size + inputProperties.mbLimit = this.currentWorkspace.max_file_size ?? this.form.max_file_size inputProperties.accept = (this.form.is_pro && field.allowed_file_types) ? field.allowed_file_types : '' } else if (field.type === 'number' && field.is_rating) { inputProperties.numberOfStars = parseInt(field.rating_max_value) diff --git a/client/pages/settings/workspace.vue b/client/pages/settings/workspace.vue index 6d1a5f9..1674e01 100644 --- a/client/pages/settings/workspace.vue +++ b/client/pages/settings/workspace.vue @@ -40,7 +40,7 @@