using Connected.Annotations; using Connected.Notifications; using Connected.ServiceModel; using System.Collections.Immutable; namespace Common.Types.BankAccounts; [Service] [ServiceUrl(Routes.BankAccounts)] public interface IBankAccountService : IServiceNotifications { [ServiceMethod(ServiceMethodVerbs.Get)] Task?> Query(); [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task?> Query(PrimaryKeyArgs args); [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task?> Query(PrimaryKeyListArgs args); [ServiceMethod(ServiceMethodVerbs.Get | ServiceMethodVerbs.Post)] Task Select(PrimaryKeyArgs args); [ServiceMethod(ServiceMethodVerbs.Post | ServiceMethodVerbs.Delete)] Task Delete(PrimaryKeyArgs args); [ServiceMethod(ServiceMethodVerbs.Post | ServiceMethodVerbs.Put)] Task Insert(BankAccountInsertArgs args); [ServiceMethod(ServiceMethodVerbs.Post | ServiceMethodVerbs.Put | ServiceMethodVerbs.Patch)] Task Update(BankAccountUpdateArgs args); }