1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 3 #ifndef _ORG_MGR_H_ 4 #define _ORG_MGR_H_ 5 6 typedef struct _SeafileSession SeafileSession; 7 typedef struct _CcnetOrgManager CcnetOrgManager; 8 typedef struct _CcnetOrgManagerPriv CcnetOrgManagerPriv; 9 10 struct _CcnetOrgManager 11 { 12 SeafileSession *session; 13 14 CcnetOrgManagerPriv *priv; 15 }; 16 17 CcnetOrgManager* ccnet_org_manager_new (SeafileSession *session); 18 19 int 20 ccnet_org_manager_prepare (CcnetOrgManager *manager); 21 22 void 23 ccnet_org_manager_start (CcnetOrgManager *manager); 24 25 int 26 ccnet_org_manager_create_org (CcnetOrgManager *mgr, 27 const char *org_name, 28 const char *url_prefix, 29 const char *creator, 30 GError **error); 31 32 int 33 ccnet_org_manager_remove_org (CcnetOrgManager *mgr, 34 int org_id, 35 GError **error); 36 37 GList * 38 ccnet_org_manager_get_all_orgs (CcnetOrgManager *mgr, 39 int start, 40 int limit); 41 42 int 43 ccnet_org_manager_count_orgs (CcnetOrgManager *mgr); 44 45 CcnetOrganization * 46 ccnet_org_manager_get_org_by_url_prefix (CcnetOrgManager *mgr, 47 const char *url_prefix, 48 GError **error); 49 50 CcnetOrganization * 51 ccnet_org_manager_get_org_by_id (CcnetOrgManager *mgr, 52 int org_id, 53 GError **error); 54 55 int 56 ccnet_org_manager_add_org_user (CcnetOrgManager *mgr, 57 int org_id, 58 const char *email, 59 int is_staff, 60 GError **error); 61 62 int 63 ccnet_org_manager_remove_org_user (CcnetOrgManager *mgr, 64 int org_id, 65 const char *email, 66 GError **error); 67 68 GList * 69 ccnet_org_manager_get_orgs_by_user (CcnetOrgManager *mgr, 70 const char *email, 71 GError **error); 72 73 GList * 74 ccnet_org_manager_get_org_emailusers (CcnetOrgManager *mgr, 75 const char *url_prefix, 76 int start, int limit); 77 78 int 79 ccnet_org_manager_add_org_group (CcnetOrgManager *mgr, 80 int org_id, 81 int group_id, 82 GError **error); 83 int 84 ccnet_org_manager_remove_org_group (CcnetOrgManager *mgr, 85 int org_id, 86 int group_id, 87 GError **error); 88 89 int 90 ccnet_org_manager_is_org_group (CcnetOrgManager *mgr, 91 int group_id, 92 GError **error); 93 94 int 95 ccnet_org_manager_get_org_id_by_group (CcnetOrgManager *mgr, 96 int group_id, 97 GError **error); 98 99 GList * 100 ccnet_org_manager_get_org_group_ids (CcnetOrgManager *mgr, 101 int org_id, 102 int start, 103 int limit); 104 105 GList * 106 ccnet_org_manager_get_org_groups (CcnetOrgManager *mgr, 107 int org_id, 108 int start, 109 int limit); 110 111 GList * 112 ccnet_org_manager_get_org_groups_by_user (CcnetOrgManager *mgr, 113 const char *user, 114 int org_id); 115 116 GList * 117 ccnet_org_manager_get_org_top_groups (CcnetOrgManager *mgr, int org_id, GError **error); 118 119 int 120 ccnet_org_manager_org_user_exists (CcnetOrgManager *mgr, 121 int org_id, 122 const char *email, 123 GError **error); 124 125 char * 126 ccnet_org_manager_get_url_prefix_by_org_id (CcnetOrgManager *mgr, 127 int org_id, 128 GError **error); 129 130 int 131 ccnet_org_manager_is_org_staff (CcnetOrgManager *mgr, 132 int org_id, 133 const char *email, 134 GError **error); 135 136 int 137 ccnet_org_manager_set_org_staff (CcnetOrgManager *mgr, 138 int org_id, 139 const char *email, 140 GError **error); 141 142 int 143 ccnet_org_manager_unset_org_staff (CcnetOrgManager *mgr, 144 int org_id, 145 const char *email, 146 GError **error); 147 148 int 149 ccnet_org_manager_set_org_name(CcnetOrgManager *mgr, 150 int org_id, 151 const char *org_name, 152 GError **error); 153 154 155 #endif /* _ORG_MGR_H_ */ 156