mirror of
https://github.com/haiwen/ccnet-server.git
synced 2025-09-12 21:12:11 +00:00
Add rpc get_org_groups_by_user().
This commit is contained in:
@@ -91,6 +91,7 @@ GList *ccnet_get_peers_by_role (SearpcClient *client, const char *role);
|
|||||||
|
|
||||||
char *ccnet_get_binding_email (SearpcClient *client, const char *peer_id);
|
char *ccnet_get_binding_email (SearpcClient *client, const char *peer_id);
|
||||||
GList *ccnet_get_groups_by_user (SearpcClient *client, const char *user);
|
GList *ccnet_get_groups_by_user (SearpcClient *client, const char *user);
|
||||||
|
GList *ccnet_get_org_groups_by_user (SearpcClient *client, const char *user, int org_id);
|
||||||
GList *
|
GList *
|
||||||
ccnet_get_group_members (SearpcClient *client, int group_id);
|
ccnet_get_group_members (SearpcClient *client, int group_id);
|
||||||
int
|
int
|
||||||
|
@@ -191,6 +191,17 @@ ccnet_get_groups_by_user (SearpcClient *client, const char *user)
|
|||||||
1, "string", user);
|
1, "string", user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GList *
|
||||||
|
ccnet_get_org_groups_by_user (SearpcClient *client, const char *user, int org_id)
|
||||||
|
{
|
||||||
|
if (!user)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return searpc_client_call__objlist (
|
||||||
|
client, "get_org_groups_by_user", CCNET_TYPE_GROUP, NULL,
|
||||||
|
2, "string", user, "int", org_id);
|
||||||
|
}
|
||||||
|
|
||||||
GList *
|
GList *
|
||||||
ccnet_get_group_members (SearpcClient *client, int group_id)
|
ccnet_get_group_members (SearpcClient *client, int group_id)
|
||||||
{
|
{
|
||||||
|
@@ -341,6 +341,10 @@ ccnet_start_rpc(CcnetSession *session)
|
|||||||
ccnet_rpc_get_org_groups,
|
ccnet_rpc_get_org_groups,
|
||||||
"get_org_groups",
|
"get_org_groups",
|
||||||
searpc_signature_objlist__int_int_int());
|
searpc_signature_objlist__int_int_int());
|
||||||
|
searpc_server_register_function ("ccnet-threaded-rpcserver",
|
||||||
|
ccnet_rpc_get_org_groups_by_user,
|
||||||
|
"get_org_groups_by_user",
|
||||||
|
searpc_signature_objlist__string_int());
|
||||||
searpc_server_register_function ("ccnet-threaded-rpcserver",
|
searpc_server_register_function ("ccnet-threaded-rpcserver",
|
||||||
ccnet_rpc_org_user_exists,
|
ccnet_rpc_org_user_exists,
|
||||||
"org_user_exists",
|
"org_user_exists",
|
||||||
@@ -1473,6 +1477,23 @@ ccnet_rpc_get_org_groups (int org_id, int start, int limit, GError **error)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
GList *
|
||||||
|
ccnet_rpc_get_org_groups_by_user (const char *user, int org_id, GError **error)
|
||||||
|
{
|
||||||
|
CcnetOrgManager *org_mgr = ((CcnetServerSession *)session)->org_mgr;
|
||||||
|
GList *ret = NULL;
|
||||||
|
|
||||||
|
if (org_id < 0 || !user) {
|
||||||
|
g_set_error (error, CCNET_DOMAIN, CCNET_ERR_INTERNAL, "Bad arguments");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ccnet_org_manager_get_org_groups_by_user (org_mgr, user, org_id);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ccnet_rpc_org_user_exists (int org_id, const char *email, GError **error)
|
ccnet_rpc_org_user_exists (int org_id, const char *email, GError **error)
|
||||||
{
|
{
|
||||||
|
@@ -286,6 +286,9 @@ ccnet_rpc_get_org_id_by_group (int group_id, GError **error);
|
|||||||
GList *
|
GList *
|
||||||
ccnet_rpc_get_org_groups (int org_id, int start, int limit, GError **error);
|
ccnet_rpc_get_org_groups (int org_id, int start, int limit, GError **error);
|
||||||
|
|
||||||
|
GList *
|
||||||
|
ccnet_rpc_get_org_groups_by_user (const char *user, int org_id, GError **error);
|
||||||
|
|
||||||
int
|
int
|
||||||
ccnet_rpc_org_user_exists (int org_id, const char *email, GError **error);
|
ccnet_rpc_org_user_exists (int org_id, const char *email, GError **error);
|
||||||
|
|
||||||
|
@@ -663,6 +663,30 @@ ccnet_org_manager_get_org_groups (CcnetOrgManager *mgr,
|
|||||||
return g_list_reverse (ret);
|
return g_list_reverse (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GList *
|
||||||
|
ccnet_org_manager_get_org_groups_by_user (CcnetOrgManager *mgr,
|
||||||
|
const char *user,
|
||||||
|
int org_id)
|
||||||
|
{
|
||||||
|
CcnetDB *db = mgr->priv->db;
|
||||||
|
char *sql;
|
||||||
|
GList *ret = NULL;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
sql = "SELECT g.group_id, group_name, creator_name, timestamp FROM "
|
||||||
|
"OrgGroup o, `Group` g, GroupUser u "
|
||||||
|
"WHERE o.group_id = g.group_id AND org_id = ? AND "
|
||||||
|
"g.group_id = u.group_id AND user_name = ?";
|
||||||
|
rc = ccnet_db_statement_foreach_row (db,
|
||||||
|
sql,
|
||||||
|
get_org_groups, &ret,
|
||||||
|
2, "int", org_id, "string", user);
|
||||||
|
if (rc < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return g_list_reverse (ret);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr,
|
ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr,
|
||||||
int org_id,
|
int org_id,
|
||||||
|
@@ -109,6 +109,11 @@ ccnet_org_manager_get_org_groups (CcnetOrgManager *mgr,
|
|||||||
int start,
|
int start,
|
||||||
int limit);
|
int limit);
|
||||||
|
|
||||||
|
GList *
|
||||||
|
ccnet_org_manager_get_org_groups_by_user (CcnetOrgManager *mgr,
|
||||||
|
const char *user,
|
||||||
|
int org_id);
|
||||||
|
|
||||||
int
|
int
|
||||||
ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr,
|
ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr,
|
||||||
int org_id,
|
int org_id,
|
||||||
|
@@ -391,6 +391,10 @@ class CcnetThreadedRpcClient(RpcClientBase):
|
|||||||
def get_org_groups(self, org_id, start, limit):
|
def get_org_groups(self, org_id, start, limit):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@searpc_func("objlist", ["string", "int"])
|
||||||
|
def get_org_groups_by_user (self, user, org_id):
|
||||||
|
pass
|
||||||
|
|
||||||
@searpc_func("int", ["int", "string"])
|
@searpc_func("int", ["int", "string"])
|
||||||
def org_user_exists(self, org_id, email):
|
def org_user_exists(self, org_id, email):
|
||||||
pass
|
pass
|
||||||
|
Reference in New Issue
Block a user