Permissions
In order to prevent mods accessing specific data the mod loader allows for fine grained control of each mods permissions. The permissions are defined in a permissions.yaml file. Lets look at the following example to understand the structure a bit better:
mod-1: # name of the mod defined in its manifest.yaml
database: # database section
users: # users table inside the database
read: true # only allow reading
mod-2: # name of the mod defined in its manifest.yaml
database: # database section
news: # news table inside the database
write: true # allow writing / create / updating entries
delete: true # allow to delete entries
In the example above we explicitly allow mod-1 to read the users table from the database. As for the mod-2, we allow it to write and delete entry in the news table of the database.
Permissions Overview
Database Permissions
database:
[tablename]:
read: false
write: false
delete: false
read
Getting information from a Table. In SQL Terms SELECT.
Regarding the API the following actions are allowed:
findUniquefindUniqueOrThrowfindFirstfindFirstOrThrowfindManyaggregategroupBycount
write
Writing information inside a Table. In SQL Terms UPDATE and INSERT.
Regarding the API the following actions are allowed:
createcreateManyupdateupdateManyupsert
delete
Deleting information from a Table. In SQL Terms DELETE.
Regarding the API the following actions are allowed:
deletedeleteMany