Permission stuff

This commit is contained in:
2020-06-27 22:47:12 +02:00
parent be6d48ac10
commit e48ea51a5a
19 changed files with 493 additions and 254 deletions

View File

@@ -174,39 +174,30 @@ class CreateDatabase {
$queries[] = $sql->createTable("ApiPermission")
->addString("method", 32)
->addJson("groups", true, '[]')
->addString("description", 128, false, "")
->primaryKey("method");
$queries[] = $sql->insert("ApiPermission", array("method", "groups"))
->addRow("ApiKey/create", array())
->addRow("ApiKey/fetch", array())
->addRow("ApiKey/refresh", array())
->addRow("ApiKey/revoke", array())
->addRow("Contact/request", array())
->addRow("Groups/fetch", array(USER_GROUP_SUPPORT, USER_GROUP_ADMIN))
->addRow("Groups/create", array(USER_GROUP_ADMIN))
->addRow("Groups/delete", array(USER_GROUP_ADMIN))
->addRow("Language/get", array())
->addRow("Language/set", array())
->addRow("Notifications/create", array(USER_GROUP_ADMIN))
->addRow("Notifications/fetch", array())
->addRow("Notifications/seen", array())
->addRow("Routes/fetch", array(USER_GROUP_ADMIN))
->addRow("Routes/save", array(USER_GROUP_ADMIN))
->addRow("sendTestMail", array(USER_GROUP_SUPPORT, USER_GROUP_ADMIN))
->addRow("Settings/get", array(USER_GROUP_ADMIN))
->addRow("Settings/set", array(USER_GROUP_ADMIN))
->addRow("Stats", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT))
->addRow("User/create", array(USER_GROUP_ADMIN))
->addRow("User/fetch", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT))
->addRow("User/get", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT))
->addRow("User/info", array())
->addRow("User/invite", array(USER_GROUP_ADMIN))
->addRow("User/login", array())
->addRow("User/logout", array())
->addRow("User/register", array())
->addRow("User/checkToken", array())
->addRow("User/edit", array(USER_GROUP_ADMIN))
->addRow("User/delete", array(USER_GROUP_ADMIN));
$queries[] = $sql->insert("ApiPermission", array("method", "groups", "description"))
->addRow("ApiKey/create", array(), "Allows users to create API-Keys for themselves")
->addRow("ApiKey/fetch", array(), "Allows users to list their API-Keys")
->addRow("ApiKey/refresh", array(), "Allows users to refresh their API-Keys")
->addRow("ApiKey/revoke", array(), "Allows users to revoke their API-Keys")
->addRow("Groups/fetch", array(USER_GROUP_SUPPORT, USER_GROUP_ADMIN), "Allows users to list all available groups")
->addRow("Groups/create", array(USER_GROUP_ADMIN), "Allows users to create a new groups")
->addRow("Groups/delete", array(USER_GROUP_ADMIN), "Allows users to delete a group")
->addRow("Routes/fetch", array(USER_GROUP_ADMIN), "Allows users to list all configured routes")
->addRow("Routes/save", array(USER_GROUP_ADMIN), "Allows users to create, delete and modify routes")
->addRow("Mail/test", array(USER_GROUP_SUPPORT, USER_GROUP_ADMIN), "Allows users to send a test email to a given address")
->addRow("Settings/get", array(USER_GROUP_ADMIN), "Allows users to fetch server settings")
->addRow("Settings/set", array(USER_GROUP_ADMIN), "Allows users create, delete or modify server settings")
->addRow("Stats", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT), "Allows users to fetch server stats")
->addRow("User/create", array(USER_GROUP_ADMIN), "Allows users to create a new user, email address does not need to be confirmed")
->addRow("User/fetch", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT), "Allows users to list all registered users")
->addRow("User/get", array(USER_GROUP_ADMIN, USER_GROUP_SUPPORT), "Allows users to get information about a single user")
->addRow("User/invite", array(USER_GROUP_ADMIN), "Allows users to create a new user and send them an invitation link")
->addRow("User/edit", array(USER_GROUP_ADMIN), "Allows users to edit details and group memberships of any user")
->addRow("User/delete", array(USER_GROUP_ADMIN), "Allows users to delete any other user")
->addRow("Permission/fetch", array(USER_GROUP_ADMIN), "Allows users to list all API permissions");
return $queries;
}