summaryrefslogtreecommitdiff
path: root/src/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/db')
-rw-r--r--src/db/Makefile71
-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.hrl15
-rw-r--r--src/db/include/db_query.hrl63
-rw-r--r--src/db/include/db_user.hrl7
-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.mk40
-rw-r--r--src/db/mk/erlang.mk28
-rw-r--r--src/db/mk/preprocessor.mk34
-rw-r--r--src/db/module.conf6
-rw-r--r--src/db/src/struct/db_item.erl70
-rw-r--r--src/db/src/struct/db_user.erl28
-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)}.