]> git.sesse.net Git - itkacl/blobdiff - itkacl-2.1/itkacl.sql
Make the core library support a configuration file (/etc/itkacl.conf),
[itkacl] / itkacl-2.1 / itkacl.sql
diff --git a/itkacl-2.1/itkacl.sql b/itkacl-2.1/itkacl.sql
new file mode 100644 (file)
index 0000000..92b559c
--- /dev/null
@@ -0,0 +1,20 @@
+CREATE TABLE objects (
+       id SERIAL NOT NULL PRIMARY KEY,
+       name VARCHAR(64) NOT NULL,
+       description VARCHAR(255) NOT NULL,
+       parent INTEGER REFERENCES objects(id),
+
+       UNIQUE ( name, parent )
+);
+
+CREATE TABLE aclentries (
+       object INTEGER NOT NULL REFERENCES objects(id),
+       entity_type VARCHAR(5) NOT NULL CHECK ( entity_type IN ('group', 'user') ),
+       entity VARCHAR(64) NOT NULL,
+       allow VARCHAR(5) NOT NULL CHECK ( allow IN ('grant', 'deny') ),
+       comment VARCHAR,
+
+       UNIQUE ( object, entity_type, entity )
+);
+CREATE INDEX object_index ON aclentries ( object );
+