success( Chat::whereUserId($request->user('api')->id)->get() ); } /** * Store a newly created resource in storage. */ public function store(Request $request) { $request->validate([ 'name' => 'string|required', 'assistant_id' => 'exists:assistants,id|required', ]); $assistant = Assistant::find($request->input('assistant_id')); if ($assistant->user_id !== $request->user('api')->id) { return $this->forbidden(); } $chatModel = new Chat(); $chat = $chatModel->create([ 'name' => $request->input('name'), 'assistant_id' => $assistant->id, 'user_id' => $request->user('api')->id, ]); return $this->created($chat); } /** * Display the specified resource. */ public function show(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } public function histories(Request $request, Chat $chat) { return $this->success( $chat->histories()->get() ); } }