Remove UUID and change the way versions work
This commit is contained in:
@@ -4,7 +4,6 @@ public interface ISzTemplate
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Id { get; set; }
|
||||
public Guid Uuid { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Dictionary<string, SzTemplateField> TemplateFields { get; set; }
|
||||
}
|
||||
@@ -4,7 +4,6 @@ public class SzDataObjectTemplate : ISzTemplate
|
||||
{
|
||||
public required string Name {get; set;}
|
||||
public required string Id {get; set;}
|
||||
public Guid Uuid {get; set;}
|
||||
public string Description { get; set; } = "";
|
||||
public Dictionary<string, SzTemplateField> TemplateFields {get; set;} = [];
|
||||
|
||||
|
||||
@@ -4,10 +4,8 @@ public class SzDataset
|
||||
{
|
||||
public required string Name {get; set;}
|
||||
public required string Id {get; set;}
|
||||
public Guid? Uuid {get; set;}
|
||||
|
||||
public required string DataObjectType {get; set;}
|
||||
public required string DataObjectTemplateId {get; set;}
|
||||
public Guid? DataObjectTemplateUuid {get; set;}
|
||||
public Dictionary<string, SzDataObject> DataObjects {get; set;} = [];
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class SzDataHandler
|
||||
});
|
||||
}
|
||||
|
||||
public async Task<SzResult<SzDataset>> CreateDatasetAsync(string name, string templateId, string? id = null, Guid? templateUuid = null)
|
||||
public async Task<SzResult<SzDataset>> CreateDatasetAsync(string name, string templateId, string version = "1_0", string? id = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name)) return SzResult<SzDataset>.Failure("Name empty.");
|
||||
|
||||
@@ -79,11 +79,9 @@ public class SzDataHandler
|
||||
var newDataset = new SzDataset()
|
||||
{
|
||||
Name = name,
|
||||
Id = id ?? name.ToLower().Replace(" ", "-").Trim(),
|
||||
Id = id ?? name.ToLower().Replace(" ", "-").Trim() + "@" + version,
|
||||
DataObjectTemplateId = templateResult.Value.Id,
|
||||
DataObjectTemplateUuid = templateUuid,
|
||||
DataObjectType = templateResult.Value.DataObjectType,
|
||||
Uuid = Guid.NewGuid()
|
||||
};
|
||||
|
||||
return SzResult<SzDataset>.Success(newDataset);
|
||||
@@ -99,6 +97,12 @@ public class SzDataHandler
|
||||
var dataObjectId = parts[1];
|
||||
var fieldPath = string.Join(".", parts.Skip(2));
|
||||
|
||||
if (!datasetId.Contains('@'))
|
||||
{
|
||||
SZ.Logger.LogWarning($"Trying to get a field value from dataset `{datasetId}` but no dataset version was specified. Attempting to fallback to version 1.0");
|
||||
datasetId += "@1_0";
|
||||
}
|
||||
|
||||
var datasetResult = await LoadDatasetAsync(datasetId);
|
||||
if (!datasetResult.IsSuccess)
|
||||
return SzResult<string>.Failure($"Could not get field value, dataset with id '{datasetId}' could not be loaded: {datasetResult.Error}");
|
||||
@@ -184,14 +188,13 @@ public class SzDataHandler
|
||||
});
|
||||
}
|
||||
|
||||
public SzResult<SzDataObjectTemplate> CreateDataObjectTemplate(string name, string dataObjectType, string? id = null, string? description = null, List<SzTemplateField>? fields = null)
|
||||
public SzResult<SzDataObjectTemplate> CreateDataObjectTemplate(string name, string dataObjectType, string version = "1_0", string? id = null, string? description = null, List<SzTemplateField>? fields = null)
|
||||
{
|
||||
var newTemplate = new SzDataObjectTemplate()
|
||||
{
|
||||
Name = name,
|
||||
Id = id ?? name.ToLower().Replace(" ", "-").Trim(),
|
||||
Id = id ?? name.ToLower().Replace(" ", "-").Trim() + "@" + version,
|
||||
DataObjectType = dataObjectType,
|
||||
Uuid = Guid.NewGuid(),
|
||||
Description = description ?? ""
|
||||
};
|
||||
|
||||
@@ -212,7 +215,7 @@ public class SzDataHandler
|
||||
};
|
||||
|
||||
var fieldsResult = CreateFieldsFromTemplate(template);
|
||||
if (!fieldsResult.IsSuccess) return SzResult<SzDataObject>.Failure(fieldsResult.Error);
|
||||
if (!fieldsResult.IsSuccess) return SzResult<SzDataObject>.Failure(fieldsResult.Error!);
|
||||
|
||||
dataObject.Fields = fieldsResult.Value!;
|
||||
return SzResult<SzDataObject>.Success(dataObject);
|
||||
|
||||
Reference in New Issue
Block a user