up.sql 839 B

12345678910111213141516171819202122232425
  1. -- Your SQL goes here
  2. CREATE TYPE TResourceType AS ENUM ('channel','article','collection','sentence','wbw');
  3. CREATE TYPE TUserType AS ENUM ('user','group');
  4. CREATE TYPE TRightType AS ENUM ('read','write','admin','owner');
  5. CREATE TABLE authorizations (
  6. id SERIAL PRIMARY KEY,
  7. resource_id INTEGER NOT NULL,
  8. resource_type TResourceType NOT NULL,
  9. user_id INTEGER NOT NULL,
  10. user_type TUserType NOT NULL ,
  11. res_right TRightType NOT NULL,
  12. owner_id INTEGER NOT NULL,
  13. expired_at TIMESTAMP,
  14. accepted_at TIMESTAMP,
  15. updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  16. created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  17. );
  18. CREATE UNIQUE INDEX authorizations_unique ON authorizations (resource_id,resource_type,user_id,user_type);