service->list( $request->validated(), $request->user(), $request->attributes->get('tenant_id') ); return $this->successPaginated( $data, UserResource::class, 'Data User berhasil diambil' ); } public function store(StoreUserRequest $request) { $data = $this->service->create( $request->validated(), $request->user() ); return $this->created( new UserResource($data), 'User berhasil dibuat' ); } public function show(Request $request, User $user) { abort_unless( $this->access->canManageUser($request->user(), $user, $request->attributes->get('tenant_id')), 403 ); $data = $this->service->show($user); return $this->success( new UserResource($data), 'Detail User berhasil diambil' ); } public function update(UpdateUserRequest $request, User $user) { abort_unless( $this->access->canManageUser($request->user(), $user, $request->attributes->get('tenant_id')), 403 ); $data = $this->service->update( $user, $request->validated(), $request->user() ); return $this->updated( new UserResource($data), 'User berhasil diupdate' ); } public function destroy(Request $request, User $user) { abort_unless( $this->access->canManageUser($request->user(), $user, $request->attributes->get('tenant_id')), 403 ); $this->service->delete($user); return $this->deleted('User berhasil dihapus'); } }