public async Task <FhirResponse> Delete(IKey key) { Validate.Key(key); Validate.HasNoVersion(key); var current = await _storageService.Get(key).ConfigureAwait(false); return(current is { IsPresent : true }
public FhirResponse Create(IKey key, Resource resource) { Validate.Key(key); Validate.HasTypeName(key); Validate.ResourceType(key, resource); Validate.HasNoResourceId(key); Validate.HasNoVersion(key); Entry result = Store(Entry.POST(key, resource)); return(Respond.WithResource(HttpStatusCode.Created, result)); }
private static void ValidateKey(IKey key, bool withVersion = false) { Validate.HasTypeName(key); Validate.HasResourceId(key); if (withVersion) { Validate.HasVersion(key); } else { Validate.HasNoVersion(key); } Validate.Key(key); }
public FhirResponse Delete(IKey key) { Validate.Key(key); Validate.HasNoVersion(key); var resourceStorage = GetFeature <IResourceStorageService>(); Entry current = resourceStorage.Get(key); if (current != null && current.IsPresent) { return(Delete(Entry.DELETE(key, DateTimeOffset.UtcNow))); } return(Respond.WithCode(HttpStatusCode.NoContent)); }
public FhirResponse Create(Entry entry) { Validate.Key(entry.Key); Validate.HasTypeName(entry.Key); Validate.ResourceType(entry.Key, entry.Resource); if (entry.State != EntryState.Internal) { Validate.HasNoResourceId(entry.Key); Validate.HasNoVersion(entry.Key); } Entry result = Store(entry); return(Respond.WithResource(HttpStatusCode.Created, result)); }