authorizeCurrentWorkspace( $request, 'createPost', 'Not authorized to manage signatures.', ); if (! $workspace instanceof Workspace) { return $workspace; } $validated = $request->validate([ 'signature_id' => ['required', 'string'], 'name' => ['required', 'string', 'max:255'], 'content' => ['required', 'string'], ]); $signature = WorkspaceSignature::where('workspace_id', $workspace->id) ->find(data_get($validated, 'signature_id')); if (! $signature) { return Response::error('Signature not found.'); } $signature = UpdateSignature::execute($signature, $validated); return Response::structured((new SignatureResource($signature))->resolve()); } public function schema(JsonSchema $schema): array { return [ 'signature_id' => $schema->string()->required()->description('The signature ID.'), 'name' => $schema->string()->required()->description('The new name.'), 'content' => $schema->string()->required()->description('The new content (hashtags, links, custom text).'), ]; } }