import("DataPrivacy_lib");
import("system.datetime");
import("system.util");
import("system.db");
import("system.vars");
import("Attribute_lib");

var columns = [
    "AB_ATTRIBUTERELATIONID",
    "AB_ATTRIBUTE_ID",
    "OBJECT_ROWID",
    "OBJECT_TYPE",
    "DATE_NEW",
    "USER_NEW"
];

var rowdata = vars.get("$local.rowdata");
var uid = rowdata["UID.value"];
var values = [
    rowdata["AB_ATTRIBUTERELATIONID.value"],
    rowdata["AB_ATTRIBUTE_ID.value"],
    vars.get("$param.ObjectRowId_param"),
    vars.get("$param.ObjectType_param"),
    rowdata["DATE_NEW.value"],
    rowdata["USER_NEW.value"]
];
var type = AttributeUtil.getAttributeType(rowdata["AB_ATTRIBUTE_ID.value"]);
var valueField = AttributeTypeUtil.getDatabaseField(type);
if (valueField)
{
    columns.push(valueField);
    if (AttributeTypeUtil.useLookup(type))
        values.push(rowdata["VALUE_LOOKUP.value"])
    else
        values.push(rowdata["VALUE.value"]);
}
db.insertData("AB_ATTRIBUTERELATION", columns, null, values);

if (vars.get("$param.ObjectType_param") == "Person")
    DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$param.ObjectRowId_param"), vars.get("$param.ShowDsgvoMessage_param"));