extensibility:plugins-generic
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| extensibility:plugins-generic [2024/08/20 14:45] – adm-dlatikay | extensibility:plugins-generic [2025/11/20 14:12] (aktuell) – agoldman | ||
|---|---|---|---|
| Zeile 21: | Zeile 21: | ||
| Im Falle des Abrufens einer Liste von Datensätzen (Punkt 3) steht es dem Autor des Plugins außerdem frei, die übergebenen Filter-, Sortierungs- und Gruppierungskriterien vor dem Ausführen des Datenbankzugriffes zu ändern. | Im Falle des Abrufens einer Liste von Datensätzen (Punkt 3) steht es dem Autor des Plugins außerdem frei, die übergebenen Filter-, Sortierungs- und Gruppierungskriterien vor dem Ausführen des Datenbankzugriffes zu ändern. | ||
| - | ===== Beispiele | + | ===== Beispiel |
| + | |||
| + | Dieses Beispiel ersetzt den Vornamen aller neu angelegten Klienten durch den Vornamen " | ||
| + | |||
| + | <file csharp generic_plugin_example.cs> | ||
| + | using Grpc.Core; | ||
| + | using System; | ||
| + | using System.Security.Cryptography; | ||
| + | using System.Threading.Tasks; | ||
| + | |||
| + | using Caats.Infrastructure.Authorization; | ||
| + | using Caats.Infrastructure.Constants; | ||
| + | using Caats.Infrastructure.Helper; | ||
| + | using Caats.Proto; | ||
| + | |||
| + | using Caats.Services.PersonAPI.Infrastructure; | ||
| + | using Caats.Services.PersonAPI.Repositories; | ||
| + | |||
| + | namespace Caats.Service.Infrastructure.Extensibility; | ||
| + | |||
| + | [PluginServiceDto(typeof(PersonDto))] | ||
| + | public class MyTestCaatsPersonPlugin : PluginBase | ||
| + | { | ||
| + | private readonly IPersonRepository _repository; | ||
| + | |||
| + | public MyTestCaatsPersonPlugin(IPersonRepository repository) | ||
| + | { | ||
| + | _repository = repository; | ||
| + | } | ||
| + | |||
| + | public override PluginDto Ident() => new() { }; | ||
| + | |||
| + | public async override Task< | ||
| + | { | ||
| + | var candidate = RequestMsgHelper.GetSingleOrDefault< | ||
| + | |||
| + | candidate.GivenName = "Alle heißen Franz"; | ||
| + | |||
| + | var modified = RequestMsgHelper.CreateWithSingle(candidate); | ||
| + | |||
| + | modified.PartitionIndex = request.PartitionIndex; | ||
| + | |||
| + | return (modified, null); | ||
| + | } | ||
| + | }</ | ||
| - | Beispiel | ||
| ===== Fehlercodes und Lösungen ===== | ===== Fehlercodes und Lösungen ===== | ||
| Zeile 30: | Zeile 73: | ||
| ^ Fehlercode | ^ Fehlercode | ||
| - | | CAATS0001 | No suitable public type for installable plugin | Definiern | + | | CAATS0001 | No suitable public type for installable plugin |
| - | | CAATS0003 | Installable plugin exposes more than one plugin type | Reduzieren Sie die Anzahl der öffentlichen Klassen des angegebenen Basistyps in Ihrem Skript auf 1 | | + | | CAATS0003 | Installable plugin exposes more than one plugin type \\ //Each plugin script must export exactly one main class that satisfies the automator' |
extensibility/plugins-generic.1724165107.txt.gz · Zuletzt geändert: 2024/08/20 14:45 von adm-dlatikay
