瀏覽代碼

agUserMgr.erl模块改进

erlArango_v1
AICells 5 年之前
父節點
當前提交
5ca36102f5
共有 1 個檔案被更改,包括 107 行新增103 行删除
  1. +107
    -103
      src/agApi/agUserMgr.erl

+ 107
- 103
src/agApi/agUserMgr.erl 查看文件

@ -9,28 +9,24 @@
% HTTP接口
% ArangoDB HTTP接口的简介
%
% _users中_users集合
%
% REST API中可用的所有功能
%
% ArangoDB的复制中不包括用户操作
%
% POST /_api/user
% JSON对象是必需的
% user
% passwd使ARANGODB_DEFAULT_ROOT_PASSWORD ARANGODB_DEFAULT_ROOT_PASSWORDArangoDBAmazon的实例标识符
% activetrue
% extraJSON对象
% user
% passwd使ARANGODB_DEFAULT_ROOT_PASSWORD ARANGODB_DEFAULT_ROOT_PASSWORDArangoDBAmazon的实例标识符
% activetrue
% extraJSON对象
% 访 REST调用
%
% 201
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 409
% 201
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 409
newUser(PoolNameOrSocket, MapData) ->
BodyStr = jiffy:encode(MapData),
agHttpCli:callAgency(PoolNameOrSocket, ?AgPost, <<"/_api/user">>, [], BodyStr).
@ -38,18 +34,18 @@ newUser(PoolNameOrSocket, MapData) ->
% 访
% PUT /_api/user/{user}/database/{dbname}
%
%
% dbname
% user
% dbname
% JSON对象是必需的
% grant使 rw访Administrate
% 使 ro访Access
% 使访 访
% grant使 rw访Administrate
% 使 ro访Access
% 使none访 访
% user的数据库dbname设置数据库访问级别访REST调用
%
% 200访
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 200访
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
setUserDbAccessLevel(PoolNameOrSocket, UserName, DbName, MapData) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary>>,
BodyStr = jiffy:encode(MapData),
@ -58,19 +54,20 @@ setUserDbAccessLevel(PoolNameOrSocket, UserName, DbName, MapData) ->
% 访
% PUT /_api/user/{user}/database/{dbname}/{collection}
%
%
% dbname
%
% user
% dbname
% collection
% JSON对象是必需的
% grant使 rw访 /
% 使 ro访
% 使访 访
% grant使 rw访 /
% 使 ro访
% 使none访 访
%
% 访DBNAME 访REST调用
%
% 200访
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 200访
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
setUserCollAccessLevel(PoolNameOrSocket, UserName, DbName, CollName, MapData) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary, "/", CollName/binary>>,
BodyStr = jiffy:encode(MapData),
@ -79,27 +76,29 @@ setUserCollAccessLevel(PoolNameOrSocket, UserName, DbName, CollName, MapData) ->
% 访访
% DELETE /_api/user/{user}/database/{dbname}
%
%
% dbname
% user
% dbname
%
% user的数据库dbname的数据库访问级别使访访No access_system数据库的权限才能执行此REST调用
%
%
% 202访
% 400JSON格式不正确或请求中缺少必需数据
% 202访
% 400JSON格式不正确或请求中缺少必需数据
clearUserDbAccessLevel(PoolNameOrSocket, UserName, DbName) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgDelete, Path, [], undefined).
% 访访
% DELETE /_api/user/{user}/database/{dbname}/{collection}
%
%
% dbname
%
% user
% dbname
% collection
%
% user的数据库dbname中集合集合的集合访问级别使访访No access_system数据库的权限才能执行此REST调用
%
% 202访
% 400
% 202访
% 400
clearUserCollAccessLevel(PoolNameOrSocket, UserName, DbName, CollName) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary, "/", CollName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgDelete, Path, [], undefined).
@ -107,102 +106,107 @@ clearUserCollAccessLevel(PoolNameOrSocket, UserName, DbName, CollName) ->
% 访
% GET /_api/user/{user}/database/
%
%
%
%
% 访
% full访
% 访REST调用
% 访JSON对象
% full
%
% 200
% 400访
% 401_system 访访
% 403访访
% 200
% 400访
% 401_system 访访
% 403访访
getUserDbList(PoolNameOrSocket, UserName) ->
Path = <<"/_api/user/", UserName/binary, "/database/">>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
getUserDbList(PoolNameOrSocket, UserName, QueryPars) ->
QueryBinary = agMiscUtils:spellQueryPars(QueryPars),
Path = <<"/_api/user/", UserName/binary, "/database/", QueryBinary/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
% 访
% GET /_api/user/{user}/database/{dbname}
%
%
% dbname
% user
% dbname
% 访
%
% 200访
% 400访
% 401_system 访访
% 403访访
% 200访
% 400访
% 401_system 访访
% 403访访
getUserDbAccessLevel(PoolNameOrSocket, UserName, DbName) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
% 访
% 访
% GET /_api/user/{user}/database/{dbname}/{collection}
%
%
% dbname
%
% user
% dbname
% collection
% 访
%
% 200访
% 400访
% 401_system 访访
% 403访访
% 200访
% 400访
% 401_system 访访
% 403访访
getUserCollAccessLevel(PoolNameOrSocket, UserName, DbName, CollName) ->
Path = <<"/_api/user/", UserName/binary, "/database/", DbName/binary, "/", CollName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
%
%
% PUT /_api/user/{user}
%
%
% user
% JSON对象是必需的
% passwd使
% activetrue
% extraJSON对象
% passwd使
% activetrue
% extraJSON对象
% user中指定访 REST调用/
%
% 200
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 404
% 200
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 404
replaceUser(PoolNameOrSocket, UserName, MapData) ->
Path = <<"/_api/user/", UserName/binary>>,
BodyStr = jiffy:encode(MapData),
agHttpCli:callAgency(PoolNameOrSocket, ?AgPut, Path, [], BodyStr).
%
%
% PATCH /_api/user/{user}
%
%
% user
% JSON对象是必需的
% passwd使
% activetrue
% extraJSON对象
% passwd使
% activetrue
% extraJSON对象
% user中指定访 REST调用/
%
% 200
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 404
modifyUser(PoolNameOrSocket, UserName, MapData) ->
% 200
% 400JSON格式不正确或请求中缺少必需数据
% 401_system 访访
% 403访访
% 404
updateUser(PoolNameOrSocket, UserName, MapData) ->
Path = <<"/_api/user/", UserName/binary>>,
BodyStr = jiffy:encode(MapData),
agHttpCli:callAgency(PoolNameOrSocket, ?AgPatch, Path, [], BodyStr).
%
% DELETE /_api/user/{user}
%
%
% user标识的现有用户访REST调用
%
% 202
% 401_system 访访
% 403访访
% 404
%
% user
%user标识的现有用户访REST调用
%
% 202
% 401_system 访访
% 403访访
% 404
delUser(PoolNameOrSocket, UserName) ->
Path = <<"/_api/user/", UserName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgDelete, Path, [], undefined).
@ -210,27 +214,27 @@ delUser(PoolNameOrSocket, UserName) ->
%
% GET /_api/user/{user}
%
%
% user
% 访REST调用
%
% 200
% 401_system 访访
% 403访访
% 404
% 200
% 401_system 访访
% 403访访
% 404
getUser(PoolNameOrSocket, UserName) ->
Path = <<"/_api/user/", UserName/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
%
%
% GET /_api/user/
% 访REST调用
% JSON对象
% user
% active
% extraJSON对象
% user
% active
% extraJSON对象
%
% 200
% 401_system 访访
% 403访访
% 200
% 401_system 访访
% 403访访
getUserList(PoolNameOrSocket) ->
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_api/user/">>, [], undefined).

Loading…
取消
儲存