role === 'superadmin' ? Response::allow() : Response::deny('You do not have permission to view prompt templates.'); } /** * Determine whether the user can view the prompt template. */ public function view(User $user, PromptTemplate $promptTemplate): Response { return $user->role === 'superadmin' || $promptTemplate->user_id === $user->id ? Response::allow() : Response::deny('You do not have permission to view this prompt template.'); } /** * Determine whether the user can create prompt templates. */ public function create(User $user): Response { return $user->role === 'superadmin' || $user->role === 'user' ? Response::allow() : Response::deny('You do not have permission to create prompt templates.'); } /** * Determine whether the user can update the prompt template. */ public function update(User $user, PromptTemplate $promptTemplate): Response { return $user->role === 'superadmin' || $promptTemplate->user_id === $user->id ? Response::allow() : Response::deny('You do not have permission to update this prompt template.'); } /** * Determine whether the user can delete the prompt template. */ public function delete(User $user, PromptTemplate $promptTemplate): Response { return $user->role === 'superadmin' || $promptTemplate->user_id === $user->id ? Response::allow() : Response::deny('You do not have permission to delete this prompt template.'); } /** * Determine whether the user can restore the prompt template. */ public function restore(User $user, PromptTemplate $promptTemplate): Response { return $user->role === 'superadmin' || $promptTemplate->user_id === $user->id ? Response::allow() : Response::deny('You do not have permission to restore this prompt template.'); } /** * Determine whether the user can permanently delete the prompt template. */ public function forceDelete(User $user, PromptTemplate $promptTemplate): Response { return $user->role === 'superadmin' ? Response::allow() : Response::deny('You do not have permission to permanently delete this prompt template.'); } }