public async Task <IActionResult> PostUpsertAsset(string app, DomainId id, [FromQuery] DomainId?parentId, IFormFile file) { var assetFile = await CheckAssetFileAsync(file); var command = new UpsertAsset { File = assetFile, ParentId = parentId, AssetId = id }; var response = await InvokeCommandAsync(command); return(Ok(response)); }
public static UpsertAsset ToCommand(AssetTusFile file) { var command = new UpsertAsset { File = file }; bool TryGetString(string key, out string result) { result = null !; var value = file.Metadata.FirstOrDefault(x => string.Equals(x.Key, key, StringComparison.OrdinalIgnoreCase)).Value; if (!string.IsNullOrWhiteSpace(value)) { result = value; return(true); } return(false); } if (TryGetString("id", out var id)) { command.AssetId = DomainId.Create(id); } if (TryGetString("parentId", out var parentId)) { command.ParentId = DomainId.Create(parentId); } if (TryGetString("duplicate", out var duplicate) && bool.TryParse(duplicate, out var parsed)) { command.Duplicate = parsed; } return(command); }