Libre Graph is a free API for cloud collaboration inspired by the MS Graph API.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: v1.0.4
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import libregraph "github.com/owncloud/libre-graph-api-go"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), libregraph.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), libregraph.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), libregraph.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), libregraph.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://ocis.ocis-traefik.latest.owncloud.works/graph/v1.0
Class | Method | HTTP request | Description |
---|---|---|---|
ApplicationsApi | GetApplication | Get /applications/{application-id} | Get application by id |
ApplicationsApi | ListApplications | Get /applications | Get all applications |
DrivesApi | CreateDrive | Post /drives | Create a new drive of a specific type |
DrivesApi | DeleteDrive | Delete /drives/{drive-id} | Delete a specific space |
DrivesApi | GetDrive | Get /drives/{drive-id} | Get drive by id |
DrivesApi | UpdateDrive | Patch /drives/{drive-id} | Update the drive |
DrivesGetDrivesApi | ListAllDrives | Get /drives | Get all available drives |
DrivesRootApi | GetRoot | Get /drives/{drive-id}/root | Get root from arbitrary space |
EducationClassApi | AddUserToClass | Post /education/classes/{class-id}/members/$ref | Assign a user to a class |
EducationClassApi | CreateClass | Post /education/classes | Add new education class |
EducationClassApi | DeleteClass | Delete /education/classes/{class-id} | Delete education class |
EducationClassApi | DeleteUserFromClass | Delete /education/classes/{class-id}/members/{user-id}/$ref | Unassign user from a class |
EducationClassApi | GetClass | Get /education/classes/{class-id} | Get class by key |
EducationClassApi | ListClassMembers | Get /education/classes/{class-id}/members | Get the educationClass resources owned by an educationSchool |
EducationClassApi | ListClasses | Get /education/classes | list education classes |
EducationClassApi | UpdateClass | Patch /education/classes/{class-id} | Update properties of a education class |
EducationClassTeachersApi | AddTeacherToClass | Post /education/classes/{class-id}/teachers/$ref | Assign a teacher to a class |
EducationClassTeachersApi | DeleteTeacherFromClass | Delete /education/classes/{class-id}/teachers/{user-id}/$ref | Unassign user as teacher of a class |
EducationClassTeachersApi | GetTeachers | Get /education/classes/{class-id}/teachers | Get the teachers for a class |
EducationSchoolApi | AddClassToSchool | Post /education/schools/{school-id}/classes/$ref | Assign a class to a school |
EducationSchoolApi | AddUserToSchool | Post /education/schools/{school-id}/users/$ref | Assign a user to a school |
EducationSchoolApi | CreateSchool | Post /education/schools | Add new school |
EducationSchoolApi | DeleteClassFromSchool | Delete /education/schools/{school-id}/classes/{class-id}/$ref | Unassign class from a school |
EducationSchoolApi | DeleteSchool | Delete /education/schools/{school-id} | Delete school |
EducationSchoolApi | DeleteUserFromSchool | Delete /education/schools/{school-id}/users/{user-id}/$ref | Unassign user from a school |
EducationSchoolApi | GetSchool | Get /education/schools/{school-id} | Get the properties of a specific school |
EducationSchoolApi | ListSchoolClasses | Get /education/schools/{school-id}/classes | Get the educationClass resources owned by an educationSchool |
EducationSchoolApi | ListSchoolUsers | Get /education/schools/{school-id}/users | Get the educationUser resources associated with an educationSchool |
EducationSchoolApi | ListSchools | Get /education/schools | Get a list of schools and their properties |
EducationSchoolApi | UpdateSchool | Patch /education/schools/{school-id} | Update properties of a school |
EducationUserApi | CreateEducationUser | Post /education/users | Add new education user |
EducationUserApi | DeleteEducationUser | Delete /education/users/{user-id} | Delete educationUser |
EducationUserApi | GetEducationUser | Get /education/users/{user-id} | Get properties of educationUser |
EducationUserApi | ListEducationUsers | Get /education/users | Get entities from education users |
EducationUserApi | UpdateEducationUser | Patch /education/users/{user-id} | Update properties of educationUser |
GroupApi | AddMember | Post /groups/{group-id}/members/$ref | Add a member to a group |
GroupApi | DeleteGroup | Delete /groups/{group-id} | Delete entity from groups |
GroupApi | DeleteMember | Delete /groups/{group-id}/members/{directory-object-id}/$ref | Delete member from a group |
GroupApi | GetGroup | Get /groups/{group-id} | Get entity from groups by key |
GroupApi | ListMembers | Get /groups/{group-id}/members | Get a list of the group's direct members |
GroupApi | UpdateGroup | Patch /groups/{group-id} | Update entity in groups |
GroupsApi | CreateGroup | Post /groups | Add new entity to groups |
GroupsApi | ListGroups | Get /groups | Get entities from groups |
MeChangepasswordApi | ChangeOwnPassword | Post /me/changePassword | Chanage your own password |
MeDriveApi | GetHome | Get /me/drive | Get personal space for user |
MeDriveRootApi | HomeGetRoot | Get /me/drive/root | Get root from personal space |
MeDriveRootChildrenApi | HomeGetChildren | Get /me/drive/root/children | Get children from drive |
MeDrivesApi | ListMyDrives | Get /me/drives | Get all drives where the current user is a regular member of |
MeUserApi | GetOwnUser | Get /me | Get current user |
TagsApi | AssignTags | Put /extensions/org.libregraph/tags | Assign tags to a resource |
TagsApi | GetTags | Get /extensions/org.libregraph/tags | Get all known tags |
TagsApi | UnassignTags | Delete /extensions/org.libregraph/tags | Unassign tags from a resource |
UserApi | DeleteUser | Delete /users/{user-id} | Delete entity from users |
UserApi | ExportPersonalData | Post /users/{user-id}/exportPersonalData | export personal data of a user |
UserApi | GetUser | Get /users/{user-id} | Get entity from users by key |
UserApi | UpdateUser | Patch /users/{user-id} | Update entity in users |
UserAppRoleAssignmentApi | UserCreateAppRoleAssignments | Post /users/{user-id}/appRoleAssignments | Grant an appRoleAssignment to a user |
UserAppRoleAssignmentApi | UserDeleteAppRoleAssignments | Delete /users/{user-id}/appRoleAssignments/{appRoleAssignment-id} | Delete the appRoleAssignment from a user |
UserAppRoleAssignmentApi | UserListAppRoleAssignments | Get /users/{user-id}/appRoleAssignments | Get appRoleAssignments from a user |
UsersApi | CreateUser | Post /users | Add new entity to users |
UsersApi | ListUsers | Get /users | Get entities from users |
- AppRole
- AppRoleAssignment
- Application
- ClassMemberReference
- ClassReference
- ClassTeacherReference
- CollectionOfAppRoleAssignments
- CollectionOfApplications
- CollectionOfClass
- CollectionOfDriveItems
- CollectionOfDrives
- CollectionOfDrives1
- CollectionOfEducationClass
- CollectionOfEducationUser
- CollectionOfEducationUser1
- CollectionOfGroup
- CollectionOfSchools
- CollectionOfTags
- CollectionOfUser
- CollectionOfUsers
- Deleted
- DirectoryObject
- Drive
- DriveItem
- EducationClass
- EducationOrganization
- EducationSchool
- EducationUser
- EducationUserReference
- Entity
- ExportPersonalDataRequest
- FileSystemInfo
- Folder
- FolderView
- Group
- Hashes
- Identity
- IdentitySet
- Image
- ItemReference
- MemberReference
- ObjectIdentity
- OdataError
- OdataErrorDetail
- OdataErrorMain
- OpenGraphFile
- PasswordChange
- PasswordProfile
- Permission
- Quota
- RemoteItem
- Shared
- SpecialFolder
- TagAssignment
- TagUnassignment
- Trash
- User
- Type: HTTP Bearer token authentication
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime