pluginprojects.sta1.security.secUserProjectRole.json Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of FROST-Server.Plugin.Projects Show documentation
Show all versions of FROST-Server.Plugin.Projects Show documentation
A Projects Plugin for the SensorThings API
{
"entries": [
{
"tableName": "USER_PROJECT_ROLE",
"wrappers": [
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.ValidatorCUD",
"checkInsert": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckMulti",
"combineType": "OR",
"subChecks": [
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckUserHasRoles",
"checkType": "ANY",
"roles": [
"admin"
]
},
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckMulti",
"combineType": "AND",
"subChecks": [
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckNavLinkQuery",
"targetNavLink": "Project",
"query": "$filter\u003dUserProjectRoles/User/username eq principalName() and UserProjectRoles/Role/rolename in (\u0027admin\u0027)",
"emptyAllowed": false
}
]
}
]
},
"checkUpdate": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckMulti",
"combineType": "OR",
"subChecks": [
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckUserHasRoles",
"checkType": "ANY",
"roles": [
"admin"
]
}
]
},
"checkDelete": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckMulti",
"combineType": "OR",
"subChecks": [
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckUserHasRoles",
"checkType": "ANY",
"roles": [
"admin"
]
},
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckEntityQuery",
"query": "$filter\u003dProject/UserProjectRoles/User/username eq principalName() and Project/UserProjectRoles/Role/rolename in (\u0027admin\u0027)"
}
]
}
},
{
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.SecurityWrapperMulti",
"wrappers": [
{
"condition": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckUserHasRoles",
"checkType": "ANY",
"roles": [
"admin"
]
},
"wrapper": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.SecurityWrapperPass"
}
},
{
"condition": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.CheckFixed",
"valid": true
},
"wrapper": {
"@class": "de.fraunhofer.iosb.ilt.frostserver.persistence.pgjooq.utils.validator.SecurityWrapperJoin",
"joins": [
{
"targetTable": "PROJECTS",
"targetAlias": "pr",
"joinOnSql": "t.\"PROJECT_ID\" \u003d pr.\"ID\"",
"joinType": "INNER"
},
{
"targetTable": "USER_PROJECT_ROLE",
"targetAlias": "upr",
"joinOnSql": "pr.\"ID\" \u003d upr.\"PROJECT_ID\"",
"joinType": "LEFT"
}
],
"where": "upr.\"USER_NAME\" \u003d ? and upr.\"ROLE_NAME\" = 'admin'",
"usernameParameter": true
}
}
]
}
]
}
]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy