summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/Makefile | 71 | ||||
-rw-r--r-- | src/db/db_node.erl (renamed from src/db/src/db_node.erl) | 0 | ||||
-rw-r--r-- | src/db/include/db_item.hrl | 15 | ||||
-rw-r--r-- | src/db/include/db_query.hrl | 63 | ||||
-rw-r--r-- | src/db/include/db_user.hrl | 7 | ||||
-rw-r--r-- | src/db/logic/storage_access.erl (renamed from src/db/src/logic/storage_access.erl) | 0 | ||||
-rw-r--r-- | src/db/mk/debug.mk | 40 | ||||
-rw-r--r-- | src/db/mk/erlang.mk | 28 | ||||
-rw-r--r-- | src/db/mk/preprocessor.mk | 34 | ||||
-rw-r--r-- | src/db/module.conf | 6 | ||||
-rw-r--r-- | src/db/src/struct/db_item.erl | 70 | ||||
-rw-r--r-- | src/db/src/struct/db_user.erl | 28 | ||||
-rw-r--r-- | src/db/struct/db_model.erl (renamed from src/db/src/struct/db_model.erl) | 0 | ||||
-rw-r--r-- | src/db/struct/db_query.erl (renamed from src/db/src/struct/db_query.erl) | 13 |
14 files changed, 9 insertions, 366 deletions
diff --git a/src/db/Makefile b/src/db/Makefile deleted file mode 100644 index 206a332..0000000 --- a/src/db/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -MODULE_NAME ?= $ $(shell basename ${CURDIR}) -MODULE_PORT ?= 8002 - -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= ${CURDIR}/src -CONF_DIR ?= ${CURDIR}/conf - -#### Optional Dirs -BIN_DIR ?= ${CURDIR}/ebin -INCLUDE_DIR ?= ${CURDIR}/include - -## Binaries -ERLC ?= erlc -ERLC_OPTS ?= -ERL ?= erl -ERL_OPTS ?= \ - -connect_all false \ - -name db_node \ - -pa $(BIN_DIR) \ - -run db_node start - -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -OPTIONAL_DIRS = $(BIN_DIR) $(INCLUDE_DIR) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= src -CONF_DIR ?= conf - -################################################################################ -## INCLUDES #################################################################### -################################################################################ -main_target: all - -include ${CURDIR}/mk/debug.mk -include ${CURDIR}/mk/erlang.mk -include ${CURDIR}/mk/preprocessor.mk - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -all: build - -debug: debug_run - -build: $(REQUIRED_HEADERS) $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -run: - $(ERL) $(ERL_OPTS) - -clean: - rm -rf $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(OPTIONAL_DIRS): %: - mkdir -p $@ diff --git a/src/db/src/db_node.erl b/src/db/db_node.erl index be295c6..be295c6 100644 --- a/src/db/src/db_node.erl +++ b/src/db/db_node.erl diff --git a/src/db/include/db_item.hrl b/src/db/include/db_item.hrl deleted file mode 100644 index 86d5863..0000000 --- a/src/db/include/db_item.hrl +++ /dev/null @@ -1,15 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% 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 deleted file mode 100644 index 7e5a5b0..0000000 --- a/src/db/include/db_query.hrl +++ /dev/null @@ -1,63 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --record -( - set_field, - { - field :: non_neg_integer(), - value :: any() - } -). - --record -( - add_to_field, - { - field :: non_neg_integer(), - values :: list(any()), - head :: boolean() - } -). - --record -( - update_indexed, - { - field :: non_neg_integer(), - ix :: non_neg_integer(), - ops :: list(db_query_op()) - } -). - --record -( - set_perm, - { - perm :: db_user:permission() - } -). - --record -( - set_val, - { - val :: any() - } -). - --record -( - db_query, - { - db :: atom(), - id :: any(), - 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_perm{} | #set_val{}). --type db_query() :: #db_query{}. - diff --git a/src/db/include/db_user.hrl b/src/db/include/db_user.hrl deleted file mode 100644 index c5b033e..0000000 --- a/src/db/include/db_user.hrl +++ /dev/null @@ -1,7 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type db_named_user() :: {'user', any()}. --type db_user() :: (db_named_user() | 'admin' | 'any'). --type db_permission() :: (list(db_named_user()) | 'any'). - diff --git a/src/db/src/logic/storage_access.erl b/src/db/logic/storage_access.erl index 437294f..437294f 100644 --- a/src/db/src/logic/storage_access.erl +++ b/src/db/logic/storage_access.erl diff --git a/src/db/mk/debug.mk b/src/db/mk/debug.mk deleted file mode 100644 index bd93669..0000000 --- a/src/db/mk/debug.mk +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -DIALYZER_PLT_FILE ?= tacticians-server.plt -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -DEBUG_RESULT = $(DIALYZER_PLT_FILE) - -debug_rebuild: - $(MAKE) clean - $(MAKE) ERLC_OPTS=+debug_info - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -ifeq ($(wildcard $(DIALYZER_PLT_FILE)),) -debug_run: - $(DIALYZER) --build_plt --apps erts kernel stdlib --output_plt \ - $(DIALYZER_PLT_FILE) - $(MAKE) debug_rebuild - $(DIALYZER) --add_to_plt --plt $(DIALYZER_PLT_FILE) -r $(BIN_DIR) -else -debug_run: - $(MAKE) debug_rebuild - $(DIALYZER) --check_plt --plt $(DIALYZER_PLT_FILE) - $(DIALYZER) --get_warnings $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl \ - --src --plt $(DIALYZER_PLT_FILE) -endif diff --git a/src/db/mk/erlang.mk b/src/db/mk/erlang.mk deleted file mode 100644 index 9150f63..0000000 --- a/src/db/mk/erlang.mk +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -ERLC ?= erlc -ERLC_OPTS ?= - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) -BIN_FILES = \ - $(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(SRC_FILES))) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -ERLANG_RESULT = $(BIN_DIR) $(BIN_FILES) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -.SECONDEXPANSION: -$(BIN_FILES): $(BIN_DIR)/%.beam : $$(wildcard $(SRC_DIR)/*/%.erl $(SRC_DIR)/%.erl) - $(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $< diff --git a/src/db/mk/preprocessor.mk b/src/db/mk/preprocessor.mk deleted file mode 100644 index 74f66ba..0000000 --- a/src/db/mk/preprocessor.mk +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -CONFIG_FILE ?= ${CURDIR}/module.conf - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4") -PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES)) - -MAKEFILE_TO_M4 = \ - --define=__MAKEFILE_MODULE_NAME=$(MODULE_NAME) \ - --define=__MAKEFILE_MODULE_PORT=$(MODULE_PORT) \ - --define=__MAKEFILE_BIN_DIR=$(BIN_DIR) \ - --define=__MAKEFILE_INCLUDE_DIR=$(INCLUDE_DIR) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -ifeq ($(wildcard $(CONFIG_FILE)),) -$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).") -endif - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -PREPROCESSOR_RESULT = $(PREPROCESSED_FILES) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 - m4 -P $^ > $@ diff --git a/src/db/module.conf b/src/db/module.conf deleted file mode 100644 index 08714a1..0000000 --- a/src/db/module.conf +++ /dev/null @@ -1,6 +0,0 @@ -m4_define(`__MODULE_NAME', `__MAKEFILE_MODULE_NAME')m4_dnl -m4_define(`__MODULE_PORT', `__MAKEFILE_MODULE_PORT')m4_dnl -m4_dnl -m4_define(`__MODULE_BIN_DIR', `__MAKEFILE_BIN_DIR')m4_dnl -m4_define(`__MODULE_INCLUDE_DIR', `__MAKEFILE_INCLUDE_DIR')m4_dnl -m4_dnl diff --git a/src/db/src/struct/db_item.erl b/src/db/src/struct/db_item.erl deleted file mode 100644 index 0ce7630..0000000 --- a/src/db/src/struct/db_item.erl +++ /dev/null @@ -1,70 +0,0 @@ --module(db_item). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_item.hrl"). - --type type() :: db_item(). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export_type([type/0]). - --export -( - [ - new/3, - - get_id/1, - get_permission/1, - get_value/1, - - set_permission/2, - set_value/2, - - get_id_field/0, - get_record_info/0, - get_record_name/0 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new (any(), db_user:permission(), any()) -> type(). -new (ID, Permission, Value) -> - #db_item - { - id = ID, - perm = Permission, - val = Value - }. - --spec get_id (type()) -> any(). -get_id (#db_item { id = Result }) -> Result. - --spec get_permission (type()) -> db_user:permission(). -get_permission (#db_item { perm = Result }) -> Result. - --spec get_value (type()) -> any(). -get_value (#db_item { val = Result }) -> Result. - --spec set_permission (db_user:permission(), type()) -> type(). -set_permission (Perm, Item) -> Item#db_item{ perm = Perm }. - --spec set_value (any(), type()) -> type(). -set_value (Value, Item) -> Item#db_item{ val = Value }. - --spec get_id_field () -> non_neg_integer(). -get_id_field () -> #db_item.id. - -get_record_info () -> record_info(fields, db_item). - -get_record_name () -> db_item. - diff --git a/src/db/src/struct/db_user.erl b/src/db/src/struct/db_user.erl deleted file mode 100644 index 983013c..0000000 --- a/src/db/src/struct/db_user.erl +++ /dev/null @@ -1,28 +0,0 @@ --module(db_user). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_user.hrl"). - --type user() :: db_user(). --type permission() :: db_permission(). -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export_type([user/0, permission/0]). - --export([can_access/2]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec can_access (permission(), user()) -> boolean(). -can_access (_, admin) -> true; -can_access (any, _) -> true; -can_access (List, {'user', User}) -> - lists:member(User, List). diff --git a/src/db/src/struct/db_model.erl b/src/db/struct/db_model.erl index 1b21629..1b21629 100644 --- a/src/db/src/struct/db_model.erl +++ b/src/db/struct/db_model.erl diff --git a/src/db/src/struct/db_query.erl b/src/db/struct/db_query.erl index f8ad310..9a86f98 100644 --- a/src/db/src/struct/db_query.erl +++ b/src/db/struct/db_query.erl @@ -3,7 +3,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_query.hrl"). +-include("../../shared/include/db_query.hrl"). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20,7 +20,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec get_user (db_query()) -> db_user:user(). +-spec get_user (db_query()) -> sh_db_user:user(). get_user (#db_query{ user = Result }) -> Result. -spec apply_update_indexed (#update_indexed{}, any()) -> any(). @@ -82,7 +82,7 @@ apply_master_op_to (MOp, Elem) when is_record(MOp, set_val) -> db_item:set_value(NewVal, Elem); apply_master_op_to (MOp, Elem) -> - OldValue = db_item:get_value(Elem), + OldValue = sh_db_item:get_value(Elem), NewValue = apply_op_to(MOp, OldValue), db_item:set_value(NewValue, Elem). @@ -103,7 +103,12 @@ get_entry_id (#db_query{ id = Result }) -> Result. ) -> ({'ok', db_item:type()} | 'error'). apply_to (DBQuery, DBItem) -> - true = db_user:can_access(db_item:get_permission(DBItem), get_user(DBQuery)), + true = + sh_db_user:can_access + ( + sh_db_item:get_permission(DBItem), + get_user(DBQuery) + ), MOps = DBQuery#db_query.ops, {ok, lists:foldl(fun apply_master_op_to/2, DBItem, MOps)}. |