summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-01-04 19:07:34 +0100
committernsensfel <SpamShield0@noot-noot.org>2019-01-04 19:07:34 +0100
commit76256398ba61e47f71098b1aa6ea511473b93e44 (patch)
tree4fbb34d2665cd08e7629f5727e53b2b2211bc468 /src/ataxia_server.erl
parent3f15009661717ac99149656ac93308a29494b983 (diff)
...
Diffstat (limited to 'src/ataxia_server.erl')
-rw-r--r--src/ataxia_server.erl35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/ataxia_server.erl b/src/ataxia_server.erl
index 8a49616..dfa2f9e 100644
--- a/src/ataxia_server.erl
+++ b/src/ataxia_server.erl
@@ -12,7 +12,8 @@
[
add_at/5,
add/4,
- reserve/2,
+ reserve/3,
+ reserve/4,
fetch/3,
update/4,
@@ -104,12 +105,38 @@ add (DB, ReadPerm, WritePerm, Value) ->
-spec reserve
(
atom(),
+ ataxia_security:permission(),
+ ataxia_security:permission(),
ataxia_id:type()
)
-> ({'aborted', any()} | 'ok').
-reserve (DB, ID) ->
- JanitorPermission = ataxia_security:allow_only(ataxia_security:janitor()),
- add_at(DB, ID, JanitorPermission, JanitorPermission, reserved).
+reserve (DB, ReadPerm, WritePerm, ID) ->
+ % TODO: spawn or inform janitor
+ add_at
+ (
+ DB,
+ ID,
+ ataxia_security:add_access(ataxia_security:janitor(), ReadPerm),
+ ataxia_security:add_access(ataxia_security:janitor(), WritePerm),
+ reserved
+ ).
+
+-spec reserve
+ (
+ atom(),
+ ataxia_security:permission(),
+ ataxia_security:permission()
+ )
+ -> ({'aborted', any()} | {'ok', ataxia_id:type()}).
+reserve (DB, ReadPerm, WritePerm) ->
+ % TODO: spawn or inform janitor
+ add
+ (
+ DB,
+ ataxia_security:add_access(ataxia_security:janitor(), ReadPerm),
+ ataxia_security:add_access(ataxia_security:janitor(), WritePerm),
+ reserved
+ ).
-spec fetch
(