1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-04-28 11:24:48 +00:00
seafile-server/common/org-mgr.h
feiniks 52586639ac
Merge the functions of ccnet-server into seafile-server (#293)
* merge the api of ccnet into seafile

* merge the api of ccnet into seafile

* Dont't need to include the header

* merge the api of ccnet into seafile

* add enable ldap

* The unit test dont't need to start ccnet-server

* Modify some funcion names and fuse don't need org management

* Modify indent
2020-04-15 10:21:04 +08:00

156 lines
5.0 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#ifndef _ORG_MGR_H_
#define _ORG_MGR_H_
typedef struct _SeafileSession SeafileSession;
typedef struct _CcnetOrgManager CcnetOrgManager;
typedef struct _CcnetOrgManagerPriv CcnetOrgManagerPriv;
struct _CcnetOrgManager
{
SeafileSession *session;
CcnetOrgManagerPriv *priv;
};
CcnetOrgManager* ccnet_org_manager_new (SeafileSession *session);
int
ccnet_org_manager_prepare (CcnetOrgManager *manager);
void
ccnet_org_manager_start (CcnetOrgManager *manager);
int
ccnet_org_manager_create_org (CcnetOrgManager *mgr,
const char *org_name,
const char *url_prefix,
const char *creator,
GError **error);
int
ccnet_org_manager_remove_org (CcnetOrgManager *mgr,
int org_id,
GError **error);
GList *
ccnet_org_manager_get_all_orgs (CcnetOrgManager *mgr,
int start,
int limit);
int
ccnet_org_manager_count_orgs (CcnetOrgManager *mgr);
CcnetOrganization *
ccnet_org_manager_get_org_by_url_prefix (CcnetOrgManager *mgr,
const char *url_prefix,
GError **error);
CcnetOrganization *
ccnet_org_manager_get_org_by_id (CcnetOrgManager *mgr,
int org_id,
GError **error);
int
ccnet_org_manager_add_org_user (CcnetOrgManager *mgr,
int org_id,
const char *email,
int is_staff,
GError **error);
int
ccnet_org_manager_remove_org_user (CcnetOrgManager *mgr,
int org_id,
const char *email,
GError **error);
GList *
ccnet_org_manager_get_orgs_by_user (CcnetOrgManager *mgr,
const char *email,
GError **error);
GList *
ccnet_org_manager_get_org_emailusers (CcnetOrgManager *mgr,
const char *url_prefix,
int start, int limit);
int
ccnet_org_manager_add_org_group (CcnetOrgManager *mgr,
int org_id,
int group_id,
GError **error);
int
ccnet_org_manager_remove_org_group (CcnetOrgManager *mgr,
int org_id,
int group_id,
GError **error);
int
ccnet_org_manager_is_org_group (CcnetOrgManager *mgr,
int group_id,
GError **error);
int
ccnet_org_manager_get_org_id_by_group (CcnetOrgManager *mgr,
int group_id,
GError **error);
GList *
ccnet_org_manager_get_org_group_ids (CcnetOrgManager *mgr,
int org_id,
int start,
int limit);
GList *
ccnet_org_manager_get_org_groups (CcnetOrgManager *mgr,
int org_id,
int start,
int limit);
GList *
ccnet_org_manager_get_org_groups_by_user (CcnetOrgManager *mgr,
const char *user,
int org_id);
GList *
ccnet_org_manager_get_org_top_groups (CcnetOrgManager *mgr, int org_id, GError **error);
int
ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr,
int org_id,
const char *email,
GError **error);
char *
ccnet_org_manager_get_url_prefix_by_org_id (CcnetOrgManager *mgr,
int org_id,
GError **error);
int
ccnet_org_manager_is_org_staff (CcnetOrgManager *mgr,
int org_id,
const char *email,
GError **error);
int
ccnet_org_manager_set_org_staff (CcnetOrgManager *mgr,
int org_id,
const char *email,
GError **error);
int
ccnet_org_manager_unset_org_staff (CcnetOrgManager *mgr,
int org_id,
const char *email,
GError **error);
int
ccnet_org_manager_set_org_name(CcnetOrgManager *mgr,
int org_id,
const char *org_name,
GError **error);
#endif /* _ORG_MGR_H_ */