From 25b3f31c8a451044459d104a3a36f919557b8d20 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Mon, 4 Jun 2018 17:39:23 +0200 Subject: Analysis of 'db' -> crash. Always a good sign... --- src/db/include/db_item.hrl | 15 +++++++++++++++ src/db/include/db_query.hrl | 10 ++++------ src/db/include/db_user.hrl | 7 +++++++ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 src/db/include/db_item.hrl create mode 100644 src/db/include/db_user.hrl (limited to 'src/db/include') diff --git a/src/db/include/db_item.hrl b/src/db/include/db_item.hrl new file mode 100644 index 0000000..86d5863 --- /dev/null +++ b/src/db/include/db_item.hrl @@ -0,0 +1,15 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-record +( + db_item, + { + id :: any(), + perm :: db_user:permission(), + val :: any() + } +). + +-type db_item() :: #db_item{}. + diff --git a/src/db/include/db_query.hrl b/src/db/include/db_query.hrl index 45c040b..ac7745a 100644 --- a/src/db/include/db_query.hrl +++ b/src/db/include/db_query.hrl @@ -1,8 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type db_user() :: ({'user', any()} | 'admin' | 'any'). - -record ( set_field, @@ -34,9 +32,9 @@ -record ( - set_user, + set_perm, { - user :: db_user() + perm :: db_user:permission() } ). @@ -46,12 +44,12 @@ { db :: atom(), id :: any(), - user :: db_user(), + user :: db_user:user(), ops :: list(db_query_master_op()) } ). -type db_query_op() :: (#set_field{} | #add_to_field{} | #update_indexed{}). --type db_query_master_op() :: (db_query_op() | #set_user{}). +-type db_query_master_op() :: (db_query_op() | #set_perm{}). -type db_query() :: #db_query{}. diff --git a/src/db/include/db_user.hrl b/src/db/include/db_user.hrl new file mode 100644 index 0000000..c5b033e --- /dev/null +++ b/src/db/include/db_user.hrl @@ -0,0 +1,7 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-type db_named_user() :: {'user', any()}. +-type db_user() :: (db_named_user() | 'admin' | 'any'). +-type db_permission() :: (list(db_named_user()) | 'any'). + -- cgit v1.2.3-70-g09d2