notify(new ModelCreatedNotification($model, str($request->getRequestUri()) ->after('/nova-api/') ->before('?') ->toString())); } public function subtitle() { return __('Erstellt von: :name', ['name' => $this->createdBy->name]); } /** * Get the fields displayed by the resource. * * @param \Illuminate\Http\Request $request * * @return array */ public function fields(Request $request) { $guid = $this->guid ?? Str::uuid(); return [ ID::make() ->sortable(), Avatar::make(__('Image')) ->squared() ->thumbnail(function () { return $this?->data['image'] ?? ''; }) ->exceptOnForms(), Boolean::make(__('Locked'), 'locked', fn($value) => $value ?? false), Text::make('Guid', 'guid', function ($value) use ($guid) { if ($value) { return $value; } else { return $guid; } }), Text::make(__('Title'), 'title') ->rules('required', 'string'), Text::make(__('Language Code'), 'language_code') ->rules('required', 'string'), Text::make('Link') ->rules('required', 'string'), Code::make(__('Data'), 'data') ->rules('required', 'json') ->json(), HasMany::make(__('Episodes'), 'episodes', Episode::class), BelongsTo::make(__('Created By'), 'createdBy', User::class) ->canSee(function ($request) { return $request->user() ->hasRole('super-admin'); }) ->searchable()->withSubtitles(), ]; } /** * Get the cards available for the request. * * @param \Illuminate\Http\Request $request * * @return array */ public function cards(Request $request) { return []; } /** * Get the filters available for the resource. * * @param \Illuminate\Http\Request $request * * @return array */ public function filters(Request $request) { return []; } /** * Get the lenses available for the resource. * * @param \Illuminate\Http\Request $request * * @return array */ public function lenses(Request $request) { return []; } /** * Get the actions available for the resource. * * @param \Illuminate\Http\Request $request * * @return array */ public function actions(Request $request) { return []; } }