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