Nextcloud PHP API (master)

Share
in package

FinalYes

Keep the following types in sync with apps/sharing/lib/ResponseDefinitions.php:

Tags
psalm-type

SharingIconSVG = array{ // An SVG using the currentColor value for dynamic theming. svg: non-empty-string, }

SharingIconURL = array{ // An absolute URL to an image suitable for light theme. light: non-empty-string, // An absolute URL to an image suitable for dark theme. dark: non-empty-string, }

SharingIcon = SharingIconSVG|SharingIconURL

SharingSource = array{ class: class-string<IShareSourceType>, value: non-empty-string, display_name: non-empty-string, icon: ?SharingIcon, }

SharingUser = array{ user_id: non-empty-string, instance: ?non-empty-string, display_name: non-empty-string, icon: SharingIcon, }

SharingRecipient = array{ class: class-string<IShareRecipientType>, value: non-empty-string, instance: ?non-empty-string, display_name: non-empty-string, icon: ?SharingIcon, secret: array{ updatable: bool, value?: non-empty-string, url?: non-empty-string, }, initiator: ?SharingUser, }

SharingState = 'active'|'draft'|'deleted'

SharingProperty = array{ class: class-string<ISharePropertyType>, display_name: non-empty-string, hint: ?non-empty-string, priority: int<1, 100>, required: bool, advanced: bool, value: ?string, }

SharingPropertyBoolean = SharingProperty&array{ type: 'boolean', }

SharingPropertyDate = SharingProperty&array{ type: 'date', // ISO 8601 min_date: ?non-empty-string, // ISO 8601 max_date: ?non-empty-string, }

SharingPropertyEnum = SharingProperty&array{ type: 'enum', valid_values: non-empty-list, }

SharingPropertyPassword = SharingProperty&array{ type: 'password', }

SharingPropertyString = SharingProperty&array{ type: 'string', min_length: ?positive-int, max_length: ?positive-int, }

SharingPermissionPreset = array{ class: class-string<ISharePermissionPreset>, display_name: non-empty-string, hint: ?non-empty-string, }

SharingPermission = array{ class: class-string<ISharePermissionType>, source_class: ?class-string<IShareSourceType>, display_name: non-empty-string, hint: ?non-empty-string, priority: int<1, 100>, presets: list<class-string<ISharePermissionPreset>>, enabled: bool, }

SharingSourceType = array{ class: class-string<IShareSourceType>, }

SharingShare = array{ id: non-empty-string, owner: SharingUser, // Unix time in milliseconds last_updated: non-negative-int, state: SharingState, sources: list<SharingSource>, recipients: list<SharingRecipient>, properties: list<SharingPropertyDate|SharingPropertyEnum|SharingPropertyBoolean|SharingPropertyPassword|SharingPropertyString>, permissions: list<SharingPermission>, permission_preset: ?class-string<ISharePermissionPreset>, }

since
35.0.0
Attributes
#[Consumable]
$since: '35.0.0'

Table of Contents

Properties

$id  : non-empty-string
$lastUpdated  : int
$owner  : ShareUser
$permissions  : array<ISharePermissionType>, SharePermission>
$properties  : array<ISharePropertyType>, ShareProperty>
$recipients  : array<int, ShareRecipient>
$sources  : array<int, ShareSource>
$state  : ShareState
$enabledPermissions  : array<ISharePermissionType>, SharePermission>

Methods

__construct()  : mixed
format()  : SharingShare
formatMultiple()  : array<int, SharingShare>
getEnabledPermissions()  : array<ISharePermissionType>, SharePermission>

Properties

$id read-only

public non-empty-string $id

$lastUpdated read-only

public int $lastUpdated

non-negative-int $lastUpdated Unix time in milliseconds

Methods

__construct()

public __construct(string $id, ShareUser $owner, int $lastUpdated, ShareState $state, array<string|int, mixed> $sources, array<string|int, mixed> $recipients, array<string|int, mixed> $properties, array<string|int, mixed> $permissions) : mixed
Parameters
$id : string
$owner : ShareUser
$lastUpdated : int
$state : ShareState
$sources : array<string|int, mixed>
$recipients : array<string|int, mixed>
$properties : array<string|int, mixed>
$permissions : array<string|int, mixed>
Tags
since
35.0.0

getEnabledPermissions()

public getEnabledPermissions() : array<ISharePermissionType>, SharePermission>
Tags
since
35.0.0
Return values
array<ISharePermissionType>, SharePermission>
On this page

Search results