diff options
Diffstat (limited to 'src/couch/src/couch_db_plugin.erl')
-rw-r--r-- | src/couch/src/couch_db_plugin.erl | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/couch/src/couch_db_plugin.erl b/src/couch/src/couch_db_plugin.erl deleted file mode 100644 index c84edc1b7..000000000 --- a/src/couch/src/couch_db_plugin.erl +++ /dev/null @@ -1,96 +0,0 @@ -% Licensed under the Apache License, Version 2.0 (the "License"); you may not -% use this file except in compliance with the License. You may obtain a copy of -% the License at -% -% http://www.apache.org/licenses/LICENSE-2.0 -% -% Unless required by applicable law or agreed to in writing, software -% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -% License for the specific language governing permissions and limitations under -% the License. - --module(couch_db_plugin). - --export([ - validate_dbname/3, - before_doc_update/3, - after_doc_read/2, - validate_docid/1, - check_is_admin/1, - is_valid_purge_client/2, - on_compact/2, - on_delete/2 -]). - --define(SERVICE_ID, couch_db). - --include_lib("couch/include/couch_db.hrl"). - -%% ------------------------------------------------------------------ -%% API Function Definitions -%% ------------------------------------------------------------------ - -validate_dbname(DbName, Normalized, Default) -> - maybe_handle(validate_dbname, [DbName, Normalized], Default). - -before_doc_update(Db, Doc0, UpdateType) -> - Fun = couch_db:get_before_doc_update_fun(Db), - case with_pipe(before_doc_update, [Doc0, Db, UpdateType]) of - [Doc1, _Db, UpdateType1] when is_function(Fun) -> - Fun(Doc1, Db, UpdateType1); - [Doc1, _Db, _UpdateType] -> - Doc1 - end. - -after_doc_read(Db, Doc0) -> - Fun = couch_db:get_after_doc_read_fun(Db), - case with_pipe(after_doc_read, [Doc0, Db]) of - [Doc1, _Db] when is_function(Fun) -> Fun(Doc1, Db); - [Doc1, _Db] -> Doc1 - end. - -validate_docid(Id) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - %% callbacks return true only if it specifically allow the given Id - couch_epi:any(Handle, ?SERVICE_ID, validate_docid, [Id], []). - -check_is_admin(Db) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - %% callbacks return true only if it specifically allow the given Id - couch_epi:any(Handle, ?SERVICE_ID, check_is_admin, [Db], []). - -is_valid_purge_client(DbName, Props) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - %% callbacks return true only if it specifically allow the given Id - couch_epi:any(Handle, ?SERVICE_ID, is_valid_purge_client, [DbName, Props], []). - -on_compact(DbName, DDocs) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - couch_epi:apply(Handle, ?SERVICE_ID, on_compact, [DbName, DDocs], []). - -on_delete(DbName, Options) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - couch_epi:apply(Handle, ?SERVICE_ID, on_delete, [DbName, Options], []). - -%% ------------------------------------------------------------------ -%% Internal Function Definitions -%% ------------------------------------------------------------------ - -with_pipe(Func, Args) -> - do_apply(Func, Args, [pipe]). - -do_apply(Func, Args, Opts) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - couch_epi:apply(Handle, ?SERVICE_ID, Func, Args, Opts). - -maybe_handle(Func, Args, Default) -> - Handle = couch_epi:get_handle(?SERVICE_ID), - case couch_epi:decide(Handle, ?SERVICE_ID, Func, Args, []) of - no_decision when is_function(Default) -> - apply(Default, Args); - no_decision -> - Default; - {decided, Result} -> - Result - end. |