This commit is contained in:
2021-01-29 19:58:21 +00:00
parent b7077cdd7e
commit 6899cb632f
4 changed files with 14 additions and 5 deletions

View File

@@ -159,6 +159,13 @@ namespace AyaNova.Api.Controllers
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
//Default filters can never be created from outside
//they are only ever created from inside so a post with a default=true is always invalid
if (inObj.Default == true)
{
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, "default", "Default filters can only be created internally"));
}
//Create and validate
DataListSavedFilter o = await biz.CreateAsync(inObj);
if (o == null)

View File

@@ -16,10 +16,12 @@ namespace AyaNova.Models
public string Name { get; set; }//max 255 characters ascii set
[Required]
public bool Public { get; set; }
[Required]
public bool Default { get; set; } //is the users default filter for this listkey
[Required, MaxLength(255)]
public string ListKey { get; set; }//max 255 characters ascii set
public string Filter { get; set; }//JSON filter object representing DataListFilterOption
//filter:[{column:"PartPartNumber",any:true/false,items:[{op: "=",value: "400735"}]}]
public string Filter { get; set; }//JSON serialized List<DataListFilterOption> object of DataListBase
}

View File

@@ -504,13 +504,13 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
//////////////////////////////////////////////////
//DATAFILTER / DATALISTTEMPLATE tables
//DATALISTSAVEDFILTER
if (currentSchema < 7)
{
LogUpdateMessage(log);
await ExecQueryAsync("CREATE TABLE adatalistsavedfilter (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, userid BIGINT NOT NULL, name TEXT NOT NULL UNIQUE, public BOOL NOT NULL," +
"listkey VARCHAR(255) NOT NULL, filter TEXT)");
await ExecQueryAsync("CREATE TABLE adatalistsavedfilter (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, userid BIGINT NOT NULL, name TEXT NOT NULL, public BOOL NOT NULL, " +
"default BOOL NOT NULL, listkey VARCHAR(255) NOT NULL, filter TEXT)");
await SetSchemaLevelAsync(++currentSchema);
}