Name: cyverse-groups-client
Owner: CyVerse Discovery Environment
Description: A Clojure client library for the groups service.
Created: 2017-04-14 00:31:36.0
Updated: 2017-05-04 20:43:45.0
Pushed: 2017-08-23 19:09:50.0
Homepage: null
Size: 46
Language: Clojure
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A client library for the CyVerse groups service.
uire '[cyverse-groups-client.core :as c])
reate a client instance.
client = (c/new-cyverse-groups-client base-url environment-name))
et information about the status of the service.
et-status client)
ormat the folder name prefix for the current environment.
et-folder-name-prefix client)
dd the folder name prefix to a partial foldername.
uild-folder-name client "some:folder:name")
ind folders.
ind-folders client "username" "search-string")
dd a folder with the default display extension (the last component of the folder name).
dd-folder client "username" "some:folder:name" "Description")
dd a folder with a custom display extension.
dd-folder client "username" "some:folder:name" "Description" "custom-extension")
elete a folder.
elete-folder client "username" "some:folder:name")
et information about a specific folder.
et-folder client "username" "some:folder:name")
pdate an existing folder.
pdate-folder client "username" "some:folder:name" {:name "new:folder:name"
:description "New folder description"
:display_extension "new-extension"})
ist folder privileges.
ist-folder-privileges client "username" "some:folder:name")
evoke folder privileges.
evoke-folder-privilege client "username" "some:folder:name" "subject" "privilege")
rant folder privileges.
rant-folder-privilege client "username" "some:folder:name" "subject" "privilege")
ind groups in any folder.
ind-groups client "username" "search-string")
ind groups within a folder.
ind-groups client "username" "search-string" "some:folder:name")
dd a group.
dd-group client "username" "some:group:name" "group" "Description.")
dd-group client "username" "some:role:name" "role" "Description.")
elete a group.
elete-group client "username" "some:group:name")
et information about a group.
et-group client "username" "some:group:name")
pdate a group.
pdate-group client "username" "some:group:name" {:name "new:group:name"
:description "New group description"
:display_extension "new-extension"})
ist group privileges.
ist-group-privileges client "username" "some:group:name")
ist-group-privileges client "username" "some:group:name"
{:privilege "privilege-name"
:subject-id "subject-id"
:subject-source-id "subject-source-id"
:inheritance-level "immediate"})
pdate group privileges for several users.
pdate-group-privileges client "username" "some:group:name" {:updates [{:subject_id "subject"
:privileges ["optin"]}
{:subject_id "subject1"
:privileges ["read" "optin"]}]})
pdate group privileges without overwriting existing privileges.
pdate-group-privileges client "username" "some:group:name" {:updates [{:subject_id "subject"
:privileges ["optin"]}
{:subject_id "subject1"
:privileges ["read" "optin"]}]}
{:replace false})
evoke group privileges for several users.
evoke-group-privileges client "username" "some:group:name" {:updates [{:subject_id "subject"
:privileges ["optin"]}
{:subject_id "subject1"
:privileges ["read" "optin"]}]})
evoke group privileges.
evoke-group-privilege client "username" "some:group:name" "subject" "privilege")
rant group privileges.
rant-group-privielge client "username" "some:group:name" "subject" "privilege")
ist the members of a group.
ist-group-members client "username" "some:group:name")
eplace all members of a group.
eplace-group-members client "username" "some:group:name" ["subject1", "subject2"])
emove a member from a group.
emove-group-member client "username" "some:group:name" "subject")
dd a member to a group.
dd-group-member client "username" "some:group:name" "subject")
ind subjects.
ind-subjects client "username" "search-string")
et information about a specific subject.
et-subject client "username" "subject")
http://www.cyverse.org/sites/default/files/CyVerse-LICENSE.txt