*/ public static $model = \App\Models\User::class; /** * The single value that should be used to represent the resource when being displayed. * @var string */ public static $title = 'name'; /** * The columns that should be searched. * @var array */ public static $search = [ 'id', 'name', 'email', ]; public static function label() { return __('Users'); } public static function afterCreate(NovaRequest $request, Model $model) { \App\Models\User::find(1) ->notify(new ModelCreatedNotification($model, str($request->getRequestUri()) ->after('/nova-api/') ->before('?') ->toString())); } /** * Get the fields displayed by the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * * @return array */ public function fields(NovaRequest $request) { return [ ID::make() ->sortable(), Gravatar::make() ->maxWidth(50), Text::make('Name') ->sortable() ->rules('required', 'max:255'), Text::make(__('Lightning Address'), 'lightning_address') ->help(__('for example xy@getalby.com')) ->rules('nullable', 'string'), Text::make(__('LNURL'), 'lnurl') ->help(__('starts with: lnurl1dp68gurn8gh....')) ->rules('nullable', 'string'), Text::make(__('Node Id'), 'node_id') ->rules('nullable', 'string'), Text::make('Email') ->sortable() ->rules('required', 'email', 'max:254') ->creationRules('unique:users,email') ->updateRules('unique:users,email,{{resourceId}}'), // Password::make('Password') // ->onlyOnForms() // ->creationRules('required', Rules\Password::defaults()) // ->updateRules('nullable', Rules\Password::defaults()), MorphToMany::make('Roles', 'roles', \Itsmejoshua\Novaspatiepermissions\Role::class), MorphToMany::make('Permissions', 'permissions', \Itsmejoshua\Novaspatiepermissions\Permission::class), ]; } /** * Get the cards available for the request. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * * @return array */ public function cards(NovaRequest $request) { return []; } /** * Get the filters available for the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * * @return array */ public function filters(NovaRequest $request) { return []; } /** * Get the lenses available for the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * * @return array */ public function lenses(NovaRequest $request) { return []; } /** * Get the actions available for the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * * @return array */ public function actions(NovaRequest $request) { return []; } }