internal static DataEntity Create(Sha1 sha1, IChasmBlob blob, bool forceOverwrite) { if (blob == null) { throw new ArgumentNullException(nameof(blob)); } KeyValuePair <string, string> split = GetPartition(sha1); var entity = new DataEntity(split.Key, split.Value, blob, forceOverwrite); return(entity); }
internal static TableOperation BuildWriteOperation(Sha1 sha1, IChasmBlob blob) { if (blob == null) { throw new ArgumentNullException(nameof(blob)); } DataEntity entity = Create(sha1, blob); var op = TableOperation.InsertOrReplace(entity); return(op); }
private async Task <bool> ExistsOnCloudAsync(Sha1 objectId, ChasmRequestContext requestContext = default, CancellationToken cancellationToken = default) { requestContext = ChasmRequestContext.Ensure(requestContext); var opContext = new OperationContext { ClientRequestID = requestContext.CorrelationId, CustomUserAgent = requestContext.CustomUserAgent }; CloudTable objectsTable = _objectsTable.Value; TableOperation op = DataEntity.BuildExistsOperation(objectId); try { TableResult result = await objectsTable.ExecuteAsync(op, default, opContext, cancellationToken)
internal static TableOperation BuildDeleteOperation(Sha1 sha1) { KeyValuePair <string, string> split = GetPartition(sha1); var entity = new DataEntity { PartitionKey = split.Key, RowKey = split.Value, ETag = "*" // No need to fetch the entity first }; var op = TableOperation.Delete(entity); return(op); }
internal static TableOperation BuildWriteOperation(string name, string branch, IChasmBlob blob) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException(nameof(name)); } if (string.IsNullOrWhiteSpace(branch)) { throw new ArgumentNullException(nameof(branch)); } if (blob == null) { throw new ArgumentNullException(nameof(blob)); } DataEntity entity = Create(name, branch, blob); var op = TableOperation.InsertOrReplace(entity); return(op); }
internal static DataEntity Create(string name, string branch, IChasmBlob blob) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException(nameof(name)); } if (string.IsNullOrWhiteSpace(branch)) { throw new ArgumentNullException(nameof(branch)); } if (blob == null) { throw new ArgumentNullException(nameof(blob)); } string partitionKey = GetPartitionKey(name); string rowKey = GetRowKey(branch); var entity = new DataEntity(partitionKey, rowKey, blob); return(entity); }