mirror of
https://gitlab.bertha.cloud/partitio/Nextcloud-Partitio/gonextcloud
synced 2025-06-25 02:52:27 +00:00
Changed client's Entities into interfaces, improved CreateWithoutPassword
This commit is contained in:
122
types/interfaces.go
Normal file
122
types/interfaces.go
Normal file
@ -0,0 +1,122 @@
|
||||
package types
|
||||
|
||||
//Client is the main client interface
|
||||
type Client interface {
|
||||
Apps() Apps
|
||||
AppsConfig() AppsConfig
|
||||
GroupFolders() GroupFolders
|
||||
Notifications() Notifications
|
||||
Shares() Shares
|
||||
Users() Users
|
||||
Groups() Groups
|
||||
}
|
||||
|
||||
type Auth interface {
|
||||
Login(username string, password string) error
|
||||
Logout() error
|
||||
}
|
||||
|
||||
//Apps available methods
|
||||
type Apps interface {
|
||||
List() ([]string, error)
|
||||
ListEnabled() ([]string, error)
|
||||
ListDisabled() ([]string, error)
|
||||
Infos(name string) (App, error)
|
||||
Enable(name string) error
|
||||
Disable(name string) error
|
||||
}
|
||||
|
||||
//AppsConfig available methods
|
||||
type AppsConfig interface {
|
||||
List() (apps []string, err error)
|
||||
Keys(id string) (keys []string, err error)
|
||||
Value(id, key string) (string, error)
|
||||
SetValue(id, key, value string) error
|
||||
DeleteValue(id, key, value string) error
|
||||
Get() (map[string]map[string]string, error)
|
||||
Details(appID string) (map[string]string, error)
|
||||
}
|
||||
|
||||
//Groups available methods
|
||||
type Groups interface {
|
||||
List() ([]string, error)
|
||||
ListDetails() ([]Group, error)
|
||||
Users(name string) ([]string, error)
|
||||
Search(search string) ([]string, error)
|
||||
Create(name string) error
|
||||
Delete(name string) error
|
||||
SubAdminList(name string) ([]string, error)
|
||||
}
|
||||
|
||||
//GroupFolders available methods
|
||||
type GroupFolders interface {
|
||||
List() (map[int]GroupFolder, error)
|
||||
Get(id int) (GroupFolder, error)
|
||||
Create(name string) (id int, err error)
|
||||
Rename(groupID int, name string) error
|
||||
AddGroup(folderID int, groupName string) error
|
||||
RemoveGroup(folderID int, groupName string) error
|
||||
SetGroupPermissions(folderID int, groupName string, permission SharePermission) error
|
||||
SetQuota(folderID int, quota int) error
|
||||
}
|
||||
|
||||
//Notifications available methods
|
||||
type Notifications interface {
|
||||
List() ([]Notification, error)
|
||||
Get(id int) (Notification, error)
|
||||
Delete(id int) error
|
||||
DeleteAll() error
|
||||
Create(userID, title, message string) error
|
||||
AdminAvailable() error
|
||||
Available() error
|
||||
}
|
||||
|
||||
//Shares available methods
|
||||
type Shares interface {
|
||||
List() ([]Share, error)
|
||||
GetFromPath(path string, reshares bool, subfiles bool) ([]Share, error)
|
||||
Get(shareID string) (Share, error)
|
||||
Create(
|
||||
path string,
|
||||
shareType ShareType,
|
||||
permission SharePermission,
|
||||
shareWith string,
|
||||
publicUpload bool,
|
||||
password string,
|
||||
) (Share, error)
|
||||
Delete(shareID int) error
|
||||
Update(shareUpdate ShareUpdate) error
|
||||
UpdateExpireDate(shareID int, expireDate string) error
|
||||
UpdatePublicUpload(shareID int, public bool) error
|
||||
UpdatePassword(shareID int, password string) error
|
||||
UpdatePermissions(shareID int, permissions SharePermission) error
|
||||
}
|
||||
|
||||
//Users available methods
|
||||
type Users interface {
|
||||
List() ([]string, error)
|
||||
ListDetails() (map[string]User, error)
|
||||
Get(name string) (*User, error)
|
||||
Search(search string) ([]string, error)
|
||||
Create(username string, password string, user *User) error
|
||||
CreateWithoutPassword(username, email, displayName, quota, language string, groups ...string) error
|
||||
Delete(name string) error
|
||||
Enable(name string) error
|
||||
Disable(name string) error
|
||||
SendWelcomeEmail(name string) error
|
||||
Update(user *User) error
|
||||
UpdateEmail(name string, email string) error
|
||||
UpdateDisplayName(name string, displayName string) error
|
||||
UpdatePhone(name string, phone string) error
|
||||
UpdateAddress(name string, address string) error
|
||||
UpdateWebSite(name string, website string) error
|
||||
UpdateTwitter(name string, twitter string) error
|
||||
UpdatePassword(name string, password string) error
|
||||
UpdateQuota(name string, quota int) error
|
||||
GroupList(name string) ([]string, error)
|
||||
GroupAdd(name string, group string) error
|
||||
GroupRemove(name string, group string) error
|
||||
GroupPromote(name string, group string) error
|
||||
GroupDemote(name string, group string) error
|
||||
GroupSubAdminList(name string) ([]string, error)
|
||||
}
|
Reference in New Issue
Block a user