You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
2.6 KiB

# Simple users of the application (aka customers)
CREATE USER 'user'@'localhost' IDENTIFIED BY 'userPasswd';
CREATE USER 'user'@'%' IDENTIFIED BY 'userPasswd';
# Users can access, add and update rows for all the tables
GRANT SELECT, INSERT, UPDATE ON flavours_without_borders.* TO 'user'@'localhost';
GRANT SELECT, INSERT, UPDATE ON flavours_without_borders.* TO 'user'@'%';
# except the columns that indicate whether a restaurant/food/drink/diet is approved or not
REVOKE SELECT, INSERT, UPDATE (restaurant_is_approved) ON flavours_without_borders.restaurant FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (restaurant_is_approved) ON flavours_without_borders.restaurant FROM 'user'@'%';
REVOKE SELECT, INSERT, UPDATE (food_is_approved) ON flavours_without_borders.food FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (food_is_approved) ON flavours_without_borders.food FROM 'user'@'%';
REVOKE SELECT, INSERT, UPDATE (drink_is_approved) ON flavours_without_borders.drink FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (drink_is_approved) ON flavours_without_borders.drink FROM 'user'@'%';
REVOKE SELECT, INSERT, UPDATE (diet_is_approved) ON flavours_without_borders.diet FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (diet_is_approved) ON flavours_without_borders.diet FROM 'user'@'%';
# Moderators
CREATE USER 'moderator'@'localhost' IDENTIFIED BY 'moderatorPasswd';
CREATE USER 'moderator'@'%' IDENTIFIED BY 'moderatorPasswd';
# Mods have elevated privileges
GRANT SELECT, INSERT, UPDATE, DELETE ON flavours_without_borders.* TO 'moderator'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON flavours_without_borders.* TO 'moderator'@'%';
# Owners of restaurants or other stuff (cooks etc.)
CREATE USER 'owner'@'localhost' IDENTIFIED BY 'ownerPasswd';
CREATE USER 'owner'@'%' IDENTIFIED BY 'ownerPasswd';
# Owners can access, add and update rows for all the tables
GRANT SELECT, INSERT, UPDATE ON flavours_without_borders.* TO 'user'@'localhost';
GRANT SELECT, INSERT, UPDATE ON flavours_without_borders.* TO 'user'@'%';
# except the columns that indicate whether a restaurant/diet is approved or not
REVOKE SELECT, INSERT, UPDATE (restaurant_is_approved) ON flavours_without_borders.restaurant FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (restaurant_is_approved) ON flavours_without_borders.restaurant FROM 'user'@'%';
REVOKE SELECT, INSERT, UPDATE (diet_is_approved) ON flavours_without_borders.diet FROM 'user'@'localhost';
REVOKE SELECT, INSERT, UPDATE (diet_is_approved) ON flavours_without_borders.diet FROM 'user'@'%';
# They can however view and alter the columns that indicate whether a food/drink is approved or not!