summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-08-10 16:46:05 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-08-10 16:46:05 +0200 |
commit | d1ab7e7cfe14f2cad9774db47f4f1dd995e5b40c (patch) | |
tree | b4833d2114cb12b2997d33549427a204140c134c /src/shared/struct/shr_db_query.erl | |
parent | cbae439196de8382d5218f11e7a3afd812a5ae52 (diff) |
Adds some progress on user registration.
Diffstat (limited to 'src/shared/struct/shr_db_query.erl')
-rw-r--r-- | src/shared/struct/shr_db_query.erl | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/src/shared/struct/shr_db_query.erl b/src/shared/struct/shr_db_query.erl index e1f6156..5310f00 100644 --- a/src/shared/struct/shr_db_query.erl +++ b/src/shared/struct/shr_db_query.erl @@ -73,8 +73,8 @@ -type db_query() :: #db_query{}. --opaque op() :: db_query_op(). --opaque type() :: db_query(). +-type op() :: db_query_master_op(). +-type type() :: db_query(). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -87,7 +87,10 @@ new/4, set_field/2, add_to_field/3, - update_indexed/3 + update_indexed/3, + set_value/1, + set_read_permission/1, + set_write_permission/1 ] ). -export @@ -190,6 +193,15 @@ new (DBName, ObjectID, User, Ops) -> set_field (Field, Value) -> #set_field { field = Field, value = Value }. +-spec set_value (any()) -> op(). +set_value (Value) -> #set_val { val= Value }. + +-spec set_read_permission (shr_db_user:permission()) -> op(). +set_read_permission (Perm) -> #set_read_perm { perm = Perm }. + +-spec set_write_permission (shr_db_user:permission()) -> op(). +set_write_permission (Perm) -> #set_write_perm { perm = Perm }. + -spec add_to_field (non_neg_integer(), list(any()), boolean()) -> op(). add_to_field (Field, Values, IsPrefix) -> #add_to_field { field = Field, values = Values, head = IsPrefix}. @@ -217,12 +229,13 @@ get_entry_id (#db_query{ id = Result }) -> Result. ) -> ({'ok', shr_db_item:type()} | 'error'). apply_to (DBQuery, DBItem) -> - true = - shr_db_user:can_access - ( - shr_db_item:get_write_permission(DBItem), - get_user(DBQuery) - ), + ObjectWPerm = shr_db_item:get_write_permission(DBItem), + User = get_user(DBQuery), + + io:format("~p accessing obj with ~p perm.~n", [User, ObjectWPerm]), + + true = shr_db_user:can_access (ObjectWPerm, User), + MOps = DBQuery#db_query.ops, {ok, lists:foldl(fun apply_master_op_to/2, DBItem, MOps)}. |