Help us shape the future of Go! Take the 2026 Go Developer Survey

ocs

package
v2.52.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2026 License: Apache-2.0 Imports: 1 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	Core           *CapabilitiesCore           `json:"core" xml:"core"`
	Checksums      *CapabilitiesChecksums      `json:"checksums" xml:"checksums"`
	Files          *CapabilitiesFiles          `json:"files" xml:"files" mapstructure:"files"`
	Dav            *CapabilitiesDav            `json:"dav" xml:"dav"`
	FilesSharing   *CapabilitiesFilesSharing   `json:"files_sharing" xml:"files_sharing" mapstructure:"files_sharing"`
	Spaces         *Spaces                     `json:"spaces,omitempty" xml:"spaces,omitempty" mapstructure:"spaces"`
	Graph          *CapabilitiesGraph          `json:"graph,omitempty" xml:"graph,omitempty" mapstructure:"graph"`
	PasswordPolicy *CapabilitiesPasswordPolicy `json:"password_policy,omitempty" xml:"password_policy,omitempty" mapstructure:"password_policy"`
	Search         *CapabilitiesSearch         `json:"search,omitempty" xml:"search,omitempty" mapstructure:"search"`
	Theme          *CapabilitiesTheme          `json:"theme,omitempty" xml:"theme,omitempty" mapstructure:"theme"`
	Notifications  *CapabilitiesNotifications  `json:"notifications,omitempty" xml:"notifications,omitempty"`
	Groupware      *CapabilitiesGroupware      `json:"groupware,omitempty" xml:"groupware,omitempty" mapstructure:"groupware"`
}

Capabilities groups several capability aspects

type CapabilitiesAppProvider

type CapabilitiesAppProvider struct {
	Enabled    bool   `json:"enabled" xml:"enabled" mapstructure:"enabled"`
	Version    string `json:"version" xml:"version" mapstructure:"version"`
	AppsURL    string `json:"apps_url" xml:"apps_url" mapstructure:"apps_url"`
	OpenURL    string `json:"open_url" xml:"open_url" mapstructure:"open_url"`
	OpenWebURL string `json:"open_web_url" xml:"open_web_url" mapstructure:"open_web_url"`
	NewURL     string `json:"new_url" xml:"new_url" mapstructure:"new_url"`
}

CapabilitiesAppProvider holds available app provider information

type CapabilitiesArchiver

type CapabilitiesArchiver struct {
	Enabled     bool     `json:"enabled" xml:"enabled" mapstructure:"enabled"`
	Version     string   `json:"version" xml:"version" mapstructure:"version"`
	Formats     []string `json:"formats" xml:"formats" mapstructure:"formats"`
	ArchiverURL string   `json:"archiver_url" xml:"archiver_url" mapstructure:"archiver_url"`
	MaxNumFiles string   `json:"max_num_files" xml:"max_num_files" mapstructure:"max_num_files"`
	MaxSize     string   `json:"max_size" xml:"max_size" mapstructure:"max_size"`
}

CapabilitiesArchiver holds available archivers information

type CapabilitiesChecksums

type CapabilitiesChecksums struct {
	SupportedTypes      []string `json:"supportedTypes" xml:"supportedTypes>element" mapstructure:"supported_types"`
	PreferredUploadType string   `json:"preferredUploadType" xml:"preferredUploadType" mapstructure:"preferred_upload_type"`
}

CapabilitiesChecksums holds available hashes

type CapabilitiesCore

type CapabilitiesCore struct {
	PollInterval      int     `json:"pollinterval" xml:"pollinterval" mapstructure:"poll_interval"`
	WebdavRoot        string  `json:"webdav-root,omitempty" xml:"webdav-root,omitempty" mapstructure:"webdav_root"`
	Status            *Status `json:"status" xml:"status"`
	CheckForUpdates   ocsBool `json:"check-for-updates" xml:"check-for-updates" mapstructure:"check_for_updates"`
	SupportURLSigning ocsBool `json:"support-url-signing" xml:"support-url-signing" mapstructure:"support_url_signing"`
	SupportSSE        ocsBool `json:"support-sse" xml:"support-sse" mapstructure:"support_sse"`
	SupportRadicale   ocsBool `json:"support-radicale" xml:"support-radicale" mapstructure:"support_radicale"`
}

CapabilitiesCore holds webdav config

type CapabilitiesData

type CapabilitiesData struct {
	Capabilities *Capabilities `json:"capabilities" xml:"capabilities"`
	Version      *Version      `json:"version" xml:"version"`
}

CapabilitiesData holds the capabilities data

type CapabilitiesDav

type CapabilitiesDav struct {
	Chunking                       string   `json:"chunking" xml:"chunking"`
	Trashbin                       string   `json:"trashbin" xml:"trashbin"`
	Reports                        []string `json:"reports" xml:"reports>element" mapstructure:"reports"`
	ChunkingParallelUploadDisabled bool     `json:"chunkingParallelUploadDisabled" xml:"chunkingParallelUploadDisabled"`
}

CapabilitiesDav holds dav endpoint config

type CapabilitiesFiles

type CapabilitiesFiles struct {
	PrivateLinks     ocsBool                      `json:"privateLinks" xml:"privateLinks" mapstructure:"private_links"`
	BigFileChunking  ocsBool                      `json:"bigfilechunking" xml:"bigfilechunking"`
	Undelete         ocsBool                      `json:"undelete" xml:"undelete"`
	Versioning       ocsBool                      `json:"versioning" xml:"versioning"`
	Favorites        ocsBool                      `json:"favorites" xml:"favorites"`
	FullTextSearch   ocsBool                      `json:"full_text_search" xml:"full_text_search" mapstructure:"full_text_search"`
	Tags             ocsBool                      `json:"tags" xml:"tags"`
	BlacklistedFiles []string                     `json:"blacklisted_files" xml:"blacklisted_files>element" mapstructure:"blacklisted_files"`
	TusSupport       *CapabilitiesFilesTusSupport `json:"tus_support" xml:"tus_support" mapstructure:"tus_support"`
	Archivers        []*CapabilitiesArchiver      `json:"archivers" xml:"archivers" mapstructure:"archivers"`
	AppProviders     []*CapabilitiesAppProvider   `json:"app_providers" xml:"app_providers" mapstructure:"app_providers"`
}

CapabilitiesFiles TODO this is storage specific, not global. What effect do these options have on the clients?

type CapabilitiesFilesSharing

type CapabilitiesFilesSharing struct {
	APIEnabled                    ocsBool                                  `json:"api_enabled" xml:"api_enabled" mapstructure:"api_enabled"`
	GroupSharing                  ocsBool                                  `json:"group_sharing" xml:"group_sharing" mapstructure:"group_sharing"`
	SharingRoles                  ocsBool                                  `json:"sharing_roles" xml:"sharing_roles" mapstructure:"sharing_roles"`
	DenyAccess                    ocsBool                                  `json:"deny_access" xml:"deny_access" mapstructure:"deny_access"`
	AutoAcceptShare               ocsBool                                  `json:"auto_accept_share" xml:"auto_accept_share" mapstructure:"auto_accept_share"`
	ShareWithGroupMembersOnly     ocsBool                                  `json:"share_with_group_members_only" xml:"share_with_group_members_only" mapstructure:"share_with_group_members_only"`
	ShareWithMembershipGroupsOnly ocsBool                                  `` /* 129-byte string literal not displayed */
	SearchMinLength               int                                      `json:"search_min_length" xml:"search_min_length" mapstructure:"search_min_length"`
	DefaultPermissions            int                                      `json:"default_permissions" xml:"default_permissions" mapstructure:"default_permissions"`
	UserEnumeration               *CapabilitiesFilesSharingUserEnumeration `json:"user_enumeration" xml:"user_enumeration" mapstructure:"user_enumeration"`
	Federation                    *CapabilitiesFilesSharingFederation      `json:"federation" xml:"federation"`
	GuestLinks                    *CapabilitiesFilesSharingGuestLinks      `json:"guest_links" xml:"guest_links" mapstructure:"guest_links"`
	Public                        *CapabilitiesFilesSharingPublic          `json:"public" xml:"public"`
	User                          *CapabilitiesFilesSharingUser            `json:"user" xml:"user"`
	// TODO: Remove next line once web defaults to resharing=false
	Resharing ocsBool `json:"resharing" xml:"resharing"`
}

CapabilitiesFilesSharing TODO document

type CapabilitiesFilesSharingFederation

type CapabilitiesFilesSharingFederation struct {
	Outgoing ocsBool `json:"outgoing" xml:"outgoing"`
	Incoming ocsBool `json:"incoming" xml:"incoming"`
}

CapabilitiesFilesSharingFederation holds outgoing and incoming flags

type CapabilitiesFilesSharingGuestLinks struct {
	Enabled ocsBool `json:"enabled" xml:"enabled" mapstructure:"enabled"`
}

CapabilitiesFilesSharingGuestLinks holds the guest links capabilities

type CapabilitiesFilesSharingPublic

type CapabilitiesFilesSharingPublic struct {
	Enabled            ocsBool                                   `json:"enabled" xml:"enabled"`
	SendMail           ocsBool                                   `json:"send_mail" xml:"send_mail" mapstructure:"send_mail"`
	SocialShare        ocsBool                                   `json:"social_share" xml:"social_share" mapstructure:"social_share"`
	Upload             ocsBool                                   `json:"upload" xml:"upload"`
	Multiple           ocsBool                                   `json:"multiple" xml:"multiple"`
	SupportsUploadOnly ocsBool                                   `json:"supports_upload_only" xml:"supports_upload_only" mapstructure:"supports_upload_only"`
	Password           *CapabilitiesFilesSharingPublicPassword   `json:"password" xml:"password"`
	ExpireDate         *CapabilitiesFilesSharingPublicExpireDate `json:"expire_date" xml:"expire_date" mapstructure:"expire_date"`
	CanEdit            ocsBool                                   `json:"can_edit" xml:"can_edit" mapstructure:"can_edit"`
	Alias              ocsBool                                   `json:"alias" xml:"alias"`
	DefaultPermissions int                                       `json:"default_permissions" xml:"default_permissions" mapstructure:"default_permissions"`
}

CapabilitiesFilesSharingPublic TODO document

type CapabilitiesFilesSharingPublicExpireDate

type CapabilitiesFilesSharingPublicExpireDate struct {
	Enabled ocsBool `json:"enabled" xml:"enabled"`
}

CapabilitiesFilesSharingPublicExpireDate TODO document

type CapabilitiesFilesSharingPublicPassword

type CapabilitiesFilesSharingPublicPassword struct {
	EnforcedFor *CapabilitiesFilesSharingPublicPasswordEnforcedFor `json:"enforced_for" xml:"enforced_for" mapstructure:"enforced_for"`
	Enforced    ocsBool                                            `json:"enforced" xml:"enforced"`
}

CapabilitiesFilesSharingPublicPassword TODO document

type CapabilitiesFilesSharingPublicPasswordEnforcedFor

type CapabilitiesFilesSharingPublicPasswordEnforcedFor struct {
	ReadOnly        ocsBool `json:"read_only" xml:"read_only,omitempty" mapstructure:"read_only"`
	ReadWrite       ocsBool `json:"read_write" xml:"read_write,omitempty" mapstructure:"read_write"`
	ReadWriteDelete ocsBool `json:"read_write_delete" xml:"read_write_delete,omitempty" mapstructure:"read_write_delete"`
	UploadOnly      ocsBool `json:"upload_only" xml:"upload_only,omitempty" mapstructure:"upload_only"`
}

CapabilitiesFilesSharingPublicPasswordEnforcedFor TODO document

type CapabilitiesFilesSharingUser

type CapabilitiesFilesSharingUser struct {
	SendMail       ocsBool                                   `json:"send_mail" xml:"send_mail" mapstructure:"send_mail"`
	ProfilePicture ocsBool                                   `json:"profile_picture" xml:"profile_picture" mapstructure:"profile_picture"`
	Settings       []*CapabilitiesUserSettings               `json:"settings" xml:"settings" mapstructure:"settings"`
	ExpireDate     *CapabilitiesFilesSharingPublicExpireDate `json:"expire_date" xml:"expire_date" mapstructure:"expire_date"`
}

CapabilitiesFilesSharingUser TODO document

type CapabilitiesFilesSharingUserEnumeration

type CapabilitiesFilesSharingUserEnumeration struct {
	Enabled          ocsBool `json:"enabled" xml:"enabled"`
	GroupMembersOnly ocsBool `json:"group_members_only" xml:"group_members_only" mapstructure:"group_members_only"`
}

CapabilitiesFilesSharingUserEnumeration TODO document

type CapabilitiesFilesTusSupport

type CapabilitiesFilesTusSupport struct {
	Version            string `json:"version" xml:"version"`
	Resumable          string `json:"resumable" xml:"resumable"`
	Extension          string `json:"extension" xml:"extension"`
	MaxChunkSize       int    `json:"max_chunk_size" xml:"max_chunk_size" mapstructure:"max_chunk_size"`
	HTTPMethodOverride string `json:"http_method_override" xml:"http_method_override" mapstructure:"http_method_override"`
}

CapabilitiesFilesTusSupport TODO this must be a summary of storages

type CapabilitiesGraph

type CapabilitiesGraph struct {
	PersonalDataExport ocsBool                `json:"personal-data-export" xml:"personal-data-export" mapstructure:"personal_data_export"`
	Users              CapabilitiesGraphUsers `json:"users" xml:"users" mapstructure:"users"`
}

CapabilitiesGraph holds the graph capabilities

type CapabilitiesGraphUsers

type CapabilitiesGraphUsers struct {
	ReadOnlyAttributes         []string `json:"read_only_attributes" xml:"read_only_attributes" mapstructure:"read_only_attributes"`
	CreateDisabled             ocsBool  `json:"create_disabled" xml:"create_disabled" mapstructure:"create_disabled"`
	DeleteDisabled             ocsBool  `json:"delete_disabled" xml:"delete_disabled" mapstructure:"delete_disabled"`
	ChangePasswordSelfDisabled ocsBool  `json:"change_password_self_disabled" xml:"change_password_self_disabled" mapstructure:"change_password_self_disabled"`
	EditLoginAllowedDisabled   ocsBool  `json:"edit_login_allowed_disabled" xml:"edit_login_allowed_disabled" mapstructure:"edit_login_allowed_disabled"`
}

CapabilitiesGraphUsers holds the graph user capabilities

type CapabilitiesGroupware added in v2.39.1

type CapabilitiesGroupware struct {
	Enabled bool `json:"enabled,omitempty" xml:"enabled,omitempty" mapstructure:"enabled"`
}

CapabilitiesGroupware holds groupware capabilities

type CapabilitiesNotifications

type CapabilitiesNotifications struct {
	Endpoints    []string `json:"ocs-endpoints,omitempty" xml:"ocs-endpoints>element,omitempty" mapstructure:"endpoints"`
	Configurable bool     `json:"configurable" xml:"configurable,omitempty" mapstructure:"configurable"`
}

CapabilitiesNotifications holds a list of notification endpoints

type CapabilitiesPasswordPolicy

type CapabilitiesPasswordPolicy struct {
	MinCharacters          int                 `json:"min_characters" xml:"min_characters" mapstructure:"min_characters"`
	MaxCharacters          int                 `json:"max_characters" xml:"max_characters" mapstructure:"max_characters"`
	MinLowerCaseCharacters int                 `json:"min_lowercase_characters" xml:"min_lowercase_characters" mapstructure:"min_lowercase_characters"`
	MinUpperCaseCharacters int                 `json:"min_uppercase_characters" xml:"min_uppercase_characters" mapstructure:"min_uppercase_characters"`
	MinDigits              int                 `json:"min_digits" xml:"min_digits" mapstructure:"min_digits"`
	MinSpecialCharacters   int                 `json:"min_special_characters" xml:"min_special_characters" mapstructure:"min_special_characters"`
	BannedPasswordsList    map[string]struct{} `json:"-" xml:"-" mapstructure:"banned_passwords_list"`
}

CapabilitiesPasswordPolicy hold the password policy capabilities

type CapabilitiesSearch

type CapabilitiesSearch struct {
	Property *CapabilitiesSearchProperties `json:"property" xml:"property" mapstructure:"property"`
}

CapabilitiesSearch holds the search capabilities

type CapabilitiesSearchProperties

type CapabilitiesSearchProperties struct {
	Name      *CapabilitiesSearchProperty         `json:"name" xml:"name" mapstructure:"name"`
	Mtime     *CapabilitiesSearchPropertyExtended `json:"mtime" xml:"mtime" mapstructure:"mtime"`
	Size      *CapabilitiesSearchProperty         `json:"size" xml:"size" mapstructure:"size"`
	MediaType *CapabilitiesSearchPropertyExtended `json:"mediatype" xml:"mediatype" mapstructure:"mediatype"`
	Type      *CapabilitiesSearchProperty         `json:"type" xml:"type" mapstructure:"type"`
	Tag       *CapabilitiesSearchProperty         `json:"tag" xml:"tag" mapstructure:"tag"`
	Tags      *CapabilitiesSearchProperty         `json:"tags" xml:"tags" mapstructure:"tags"`
	Content   *CapabilitiesSearchProperty         `json:"content" xml:"content" mapstructure:"content"`
	Scope     *CapabilitiesSearchProperty         `json:"scope" xml:"scope" mapstructure:"scope"`
}

CapabilitiesSearchProperties holds the search property capabilities

type CapabilitiesSearchProperty

type CapabilitiesSearchProperty struct {
	Enabled ocsBool `json:"enabled" xml:"enabled" mapstructure:"enabled"`
}

CapabilitiesSearchProperty represents the default search property

type CapabilitiesSearchPropertyExtended

type CapabilitiesSearchPropertyExtended struct {
	CapabilitiesSearchProperty `mapstructure:",squash"`
	Keywords                   []string `json:"keywords,omitempty" xml:"keywords,omitempty" mapstructure:"keywords"`
}

CapabilitiesSearchPropertyExtended represents the extended search property

type CapabilitiesTheme

type CapabilitiesTheme struct {
}

CapabilitiesTheme holds theming capabilities

type CapabilitiesThemeLogo struct {
	// xml marshal, unmarshal does not support map[string]string, needs a custom type with MarshalXML and UnmarshalXML implementations
	PermittedFileTypes map[string]string `json:"permitted_file_types" xml:"-" mapstructure:"permitted_file_types"`
}

CapabilitiesThemeLogo holds theming logo capabilities

type CapabilitiesUserSettings

type CapabilitiesUserSettings struct {
	Enabled bool   `json:"enabled" xml:"enabled" mapstructure:"enabled"`
	Version string `json:"version" xml:"version" mapstructure:"version"`
}

CapabilitiesUserSettings holds available user settings service information

type Spaces

type Spaces struct {
	Version      string `json:"version" xml:"version" mapstructure:"version"`
	Enabled      bool   `json:"enabled" xml:"enabled" mapstructure:"enabled"`
	Projects     bool   `json:"projects" xml:"projects" mapstructure:"projects"`
	ShareJail    bool   `json:"share_jail" xml:"share_jail" mapstructure:"share_jail"`
	MaxQuota     uint64 `json:"max_quota" xml:"max_quota" mapstructure:"max_quota"`
	DefaultQuota uint64 `json:"default_quota" xml:"default_quota" mapstructure:"default_quota"`
}

Spaces lets a service configure its advertised options related to Storage Spaces.

type Status

type Status struct {
	Installed      ocsBool `json:"installed" xml:"installed"`
	Maintenance    ocsBool `json:"maintenance" xml:"maintenance"`
	NeedsDBUpgrade ocsBool `json:"needsDbUpgrade" xml:"needsDbUpgrade"`
	Version        string  `json:"version" xml:"version"`
	VersionString  string  `json:"versionstring" xml:"versionstring"`
	Edition        string  `json:"edition" xml:"edition"`
	ProductName    string  `json:"productname" xml:"productname"`
	Product        string  `json:"product" xml:"product"`
	ProductVersion string  `json:"productversion" xml:"productversion"`
	Hostname       string  `json:"hostname,omitempty" xml:"hostname,omitempty"`
	Channel        string  `json:"channel" xml:"channel"`
}

Status holds basic status information

type Version

type Version struct {
	Major          int    `json:"major" xml:"major"`
	Minor          int    `json:"minor" xml:"minor"`
	Micro          int    `json:"micro" xml:"micro"` // = patch level
	String         string `json:"string" xml:"string"`
	Edition        string `json:"edition" xml:"edition"`
	Product        string `json:"product" xml:"product"`
	ProductVersion string `json:"productversion" xml:"productversion"`
	Channel        string `json:"channel" xml:"channel"`
}

Version holds version information

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL