@opencloud-eu/web-client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +95 -0
- package/dist/functions-CsnDdpYv.js +1232 -0
- package/dist/functions-ikwhAVhP.cjs +1 -0
- package/dist/index-C1H-OgNf.cjs +6 -0
- package/dist/index-C6VnMvgz.cjs +6 -0
- package/dist/index-DbVGtwLH.cjs +1 -0
- package/dist/index-DqVarwg_.js +1705 -0
- package/dist/index-Pl8khka8.js +1141 -0
- package/dist/index-VvbQMSOr.js +4651 -0
- package/dist/index-eFi29SPG.cjs +16 -0
- package/dist/index-oQ7995oB.js +672 -0
- package/dist/src/errors.d.ts +10 -0
- package/dist/src/graph/activities/activities.d.ts +3 -0
- package/dist/src/graph/activities/index.d.ts +2 -0
- package/dist/src/graph/activities/types.d.ts +5 -0
- package/dist/src/graph/applications/applications.d.ts +3 -0
- package/dist/src/graph/applications/index.d.ts +2 -0
- package/dist/src/graph/applications/types.d.ts +6 -0
- package/dist/src/graph/driveItems/driveItems.d.ts +3 -0
- package/dist/src/graph/driveItems/index.d.ts +2 -0
- package/dist/src/graph/driveItems/types.d.ts +10 -0
- package/dist/src/graph/drives/drives.d.ts +3 -0
- package/dist/src/graph/drives/index.d.ts +2 -0
- package/dist/src/graph/drives/types.d.ts +18 -0
- package/dist/src/graph/generated/api.d.ts +6506 -0
- package/dist/src/graph/generated/base.d.ts +55 -0
- package/dist/src/graph/generated/common.d.ts +54 -0
- package/dist/src/graph/generated/configuration.d.ts +91 -0
- package/dist/src/graph/generated/index.d.ts +13 -0
- package/dist/src/graph/groups/groups.d.ts +3 -0
- package/dist/src/graph/groups/index.d.ts +2 -0
- package/dist/src/graph/groups/types.d.ts +19 -0
- package/dist/src/graph/index.d.ts +20 -0
- package/dist/src/graph/permissions/index.d.ts +2 -0
- package/dist/src/graph/permissions/permissions.d.ts +3 -0
- package/dist/src/graph/permissions/types.d.ts +23 -0
- package/dist/src/graph/tags/index.d.ts +2 -0
- package/dist/src/graph/tags/tags.d.ts +3 -0
- package/dist/src/graph/tags/types.d.ts +7 -0
- package/dist/src/graph/types.d.ts +11 -0
- package/dist/src/graph/users/index.d.ts +2 -0
- package/dist/src/graph/users/types.d.ts +25 -0
- package/dist/src/graph/users/users.d.ts +3 -0
- package/dist/src/helpers/call.d.ts +1 -0
- package/dist/src/helpers/httpError.d.ts +9 -0
- package/dist/src/helpers/index.d.ts +7 -0
- package/dist/src/helpers/item.d.ts +3 -0
- package/dist/src/helpers/publicLink/functions.d.ts +2 -0
- package/dist/src/helpers/publicLink/index.d.ts +1 -0
- package/dist/src/helpers/resource/functions.d.ts +12 -0
- package/dist/src/helpers/resource/index.d.ts +2 -0
- package/dist/src/helpers/resource/types.d.ts +103 -0
- package/dist/src/helpers/share/constants.d.ts +9 -0
- package/dist/src/helpers/share/functions.d.ts +37 -0
- package/dist/src/helpers/share/index.d.ts +4 -0
- package/dist/src/helpers/share/type.d.ts +32 -0
- package/dist/src/helpers/share/types.d.ts +72 -0
- package/dist/src/helpers/space/functions.d.ts +27 -0
- package/dist/src/helpers/space/index.d.ts +2 -0
- package/dist/src/helpers/space/types.d.ts +84 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/ocs/capabilities.d.ts +181 -0
- package/dist/src/ocs/index.d.ts +8 -0
- package/dist/src/ocs/urlSign.d.ts +18 -0
- package/dist/src/sse/index.d.ts +50 -0
- package/dist/src/utils/encodePath.d.ts +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/urlJoin.d.ts +19 -0
- package/dist/src/webdav/clearTrashBin.d.ts +10 -0
- package/dist/src/webdav/client/builders.d.ts +8 -0
- package/dist/src/webdav/client/dav.d.ts +53 -0
- package/dist/src/webdav/client/index.d.ts +3 -0
- package/dist/src/webdav/client/parsers.d.ts +8 -0
- package/dist/src/webdav/constants/dav.d.ts +106 -0
- package/dist/src/webdav/constants/index.d.ts +1 -0
- package/dist/src/webdav/copyFiles.d.ts +15 -0
- package/dist/src/webdav/createFolder.d.ts +14 -0
- package/dist/src/webdav/deleteFile.d.ts +8 -0
- package/dist/src/webdav/getFileContents.d.ts +17 -0
- package/dist/src/webdav/getFileInfo.d.ts +9 -0
- package/dist/src/webdav/getFileUrl.d.ts +15 -0
- package/dist/src/webdav/getPathForFileId.d.ts +5 -0
- package/dist/src/webdav/getPublicFileUrl.d.ts +6 -0
- package/dist/src/webdav/index.d.ts +7 -0
- package/dist/src/webdav/listFavoriteFiles.d.ts +12 -0
- package/dist/src/webdav/listFileVersions.d.ts +5 -0
- package/dist/src/webdav/listFiles.d.ts +21 -0
- package/dist/src/webdav/moveFiles.d.ts +15 -0
- package/dist/src/webdav/putFileContents.d.ts +18 -0
- package/dist/src/webdav/restoreFile.d.ts +12 -0
- package/dist/src/webdav/restoreFileVersion.d.ts +10 -0
- package/dist/src/webdav/search.d.ts +15 -0
- package/dist/src/webdav/setFavorite.d.ts +8 -0
- package/dist/src/webdav/types.d.ts +47 -0
- package/dist/src/webdav/utils.d.ts +13 -0
- package/dist/toString-Cn0xCZ28.js +261 -0
- package/dist/toString-hHr716Th.cjs +1 -0
- package/dist/vite.config.d.ts +2 -0
- package/dist/web-client/graph/generated.cjs +1 -0
- package/dist/web-client/graph/generated.js +5499 -0
- package/dist/web-client/graph.cjs +1 -0
- package/dist/web-client/graph.js +5 -0
- package/dist/web-client/ocs.cjs +25 -0
- package/dist/web-client/ocs.js +6014 -0
- package/dist/web-client/sse.cjs +2 -0
- package/dist/web-client/sse.js +218 -0
- package/dist/web-client/webdav.cjs +1 -0
- package/dist/web-client/webdav.js +10 -0
- package/dist/web-client.cjs +1 -0
- package/dist/web-client.js +99 -0
- package/package.json +67 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Identity, ObjectIdentity, SharingLinkType, UnifiedRoleDefinition } from '../../graph/generated';
|
|
2
|
+
import { Resource } from '../resource';
|
|
3
|
+
export declare enum GraphSharePermission {
|
|
4
|
+
createUpload = "libre.graph/driveItem/upload/create",
|
|
5
|
+
createPermissions = "libre.graph/driveItem/permissions/create",
|
|
6
|
+
createChildren = "libre.graph/driveItem/children/create",
|
|
7
|
+
readBasic = "libre.graph/driveItem/basic/read",
|
|
8
|
+
readPath = "libre.graph/driveItem/path/read",
|
|
9
|
+
readQuota = "libre.graph/driveItem/quota/read",
|
|
10
|
+
readContent = "libre.graph/driveItem/content/read",
|
|
11
|
+
readChildren = "libre.graph/driveItem/children/read",
|
|
12
|
+
readDeleted = "libre.graph/driveItem/deleted/read",
|
|
13
|
+
readPermissions = "libre.graph/driveItem/permissions/read",
|
|
14
|
+
readVersions = "libre.graph/driveItem/versions/read",
|
|
15
|
+
updatePath = "libre.graph/driveItem/path/update",
|
|
16
|
+
updateDeleted = "libre.graph/driveItem/deleted/update",
|
|
17
|
+
updatePermissions = "libre.graph/driveItem/permissions/update",
|
|
18
|
+
updateVersions = "libre.graph/driveItem/versions/update",
|
|
19
|
+
deleteStandard = "libre.graph/driveItem/standard/delete",
|
|
20
|
+
deleteDeleted = "libre.graph/driveItem/deleted/delete",
|
|
21
|
+
deletePermissions = "libre.graph/driveItem/permissions/delete"
|
|
22
|
+
}
|
|
23
|
+
export interface ShareResource extends Resource {
|
|
24
|
+
sharedWith: Array<{
|
|
25
|
+
shareType: number;
|
|
26
|
+
} & Identity>;
|
|
27
|
+
sharedBy: Identity[];
|
|
28
|
+
sdate: string;
|
|
29
|
+
outgoing: boolean;
|
|
30
|
+
driveId: string;
|
|
31
|
+
}
|
|
32
|
+
export interface OutgoingShareResource extends ShareResource {
|
|
33
|
+
}
|
|
34
|
+
export interface IncomingShareResource extends ShareResource {
|
|
35
|
+
hidden: boolean;
|
|
36
|
+
syncEnabled: boolean;
|
|
37
|
+
shareRoles: UnifiedRoleDefinition[];
|
|
38
|
+
sharePermissions: GraphSharePermission[];
|
|
39
|
+
}
|
|
40
|
+
export interface ShareRole extends UnifiedRoleDefinition {
|
|
41
|
+
icon?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface Share {
|
|
44
|
+
id: string;
|
|
45
|
+
resourceId: string;
|
|
46
|
+
indirect: boolean;
|
|
47
|
+
sharedBy: Identity;
|
|
48
|
+
shareType: number;
|
|
49
|
+
createdDateTime: string;
|
|
50
|
+
expirationDateTime?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface CollaboratorShare extends Share {
|
|
53
|
+
permissions: GraphSharePermission[];
|
|
54
|
+
sharedWith: Identity;
|
|
55
|
+
role: ShareRole;
|
|
56
|
+
}
|
|
57
|
+
export interface LinkShare extends Share {
|
|
58
|
+
displayName: string;
|
|
59
|
+
hasPassword: boolean;
|
|
60
|
+
isQuickLink: boolean;
|
|
61
|
+
type: SharingLinkType;
|
|
62
|
+
webUrl: string;
|
|
63
|
+
preventsDownload?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface CollaboratorAutoCompleteItem {
|
|
66
|
+
id: string;
|
|
67
|
+
displayName: string;
|
|
68
|
+
shareType: number;
|
|
69
|
+
mail?: string;
|
|
70
|
+
onPremisesSamAccountName?: string;
|
|
71
|
+
identities?: ObjectIdentity[];
|
|
72
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { User } from '../../graph/generated';
|
|
2
|
+
import { Resource } from '../resource';
|
|
3
|
+
import { PublicSpaceResource, ShareSpaceResource, SpaceMember, SpaceResource } from './types';
|
|
4
|
+
import { Drive } from '@opencloud-eu/web-client/graph/generated';
|
|
5
|
+
import { ShareRole } from '../share';
|
|
6
|
+
export declare function buildWebDavSpacesPath(storageId: string, path?: string): string;
|
|
7
|
+
export declare function buildWebDavSpacesTrashPath(storageId: string, path?: string): string;
|
|
8
|
+
export declare function getRelativeSpecialFolderSpacePath(space: SpaceResource, type: 'image' | 'readme'): string;
|
|
9
|
+
export declare function getSpaceManagers(space: SpaceResource): SpaceMember[];
|
|
10
|
+
export type PublicLinkType = 'ocm' | 'public-link';
|
|
11
|
+
export declare function buildPublicSpaceResource(data: any & {
|
|
12
|
+
publicLinkType: PublicLinkType;
|
|
13
|
+
}): PublicSpaceResource;
|
|
14
|
+
export declare function buildShareSpaceResource({ driveAliasPrefix, id, shareName, serverUrl }: {
|
|
15
|
+
driveAliasPrefix: 'share' | 'ocm-share';
|
|
16
|
+
id: string;
|
|
17
|
+
shareName: string;
|
|
18
|
+
serverUrl: string;
|
|
19
|
+
}): ShareSpaceResource;
|
|
20
|
+
export declare function buildSpace(data: Drive & {
|
|
21
|
+
path?: string;
|
|
22
|
+
serverUrl?: string;
|
|
23
|
+
webDavPath?: string;
|
|
24
|
+
webDavTrashPath?: string;
|
|
25
|
+
}, graphRoles: Record<string, ShareRole>): SpaceResource;
|
|
26
|
+
export declare function buildSpaceImageResource(space: SpaceResource): Resource;
|
|
27
|
+
export declare function getPermissionsForSpaceMember(space: SpaceResource, user: User): string[];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { DriveItem, Quota, SharePointIdentitySet, User } from '@opencloud-eu/web-client/graph/generated';
|
|
2
|
+
import { Ability, Resource } from '../resource';
|
|
3
|
+
export declare const SHARE_JAIL_ID = "a0ca6a90-a365-4782-871e-d44447bbc668";
|
|
4
|
+
export declare const OCM_PROVIDER_ID = "89f37a33-858b-45fa-8890-a1f2b27d90e1";
|
|
5
|
+
export type SpaceMember = {
|
|
6
|
+
grantedTo: SharePointIdentitySet;
|
|
7
|
+
permissions: string[];
|
|
8
|
+
roleId: string;
|
|
9
|
+
};
|
|
10
|
+
export interface SpaceResource extends Resource {
|
|
11
|
+
description: string;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
driveAlias: string;
|
|
14
|
+
driveType: 'mountpoint' | 'personal' | 'project' | 'share' | 'public' | (string & unknown);
|
|
15
|
+
root: DriveItem;
|
|
16
|
+
members: Record<string, SpaceMember>;
|
|
17
|
+
spaceQuota: Quota;
|
|
18
|
+
spaceImageData: DriveItem;
|
|
19
|
+
spaceReadmeData: DriveItem;
|
|
20
|
+
webDavTrashPath: string;
|
|
21
|
+
canDisable(args?: {
|
|
22
|
+
user?: User;
|
|
23
|
+
ability?: Ability;
|
|
24
|
+
}): boolean;
|
|
25
|
+
canEditDescription(args?: {
|
|
26
|
+
user?: User;
|
|
27
|
+
ability?: Ability;
|
|
28
|
+
}): boolean;
|
|
29
|
+
canEditImage(args?: {
|
|
30
|
+
user?: User;
|
|
31
|
+
}): boolean;
|
|
32
|
+
canEditReadme(args?: {
|
|
33
|
+
user?: User;
|
|
34
|
+
}): boolean;
|
|
35
|
+
canRestore(args?: {
|
|
36
|
+
user?: User;
|
|
37
|
+
ability?: Ability;
|
|
38
|
+
}): boolean;
|
|
39
|
+
canDeleteFromTrashBin(args?: {
|
|
40
|
+
user?: User;
|
|
41
|
+
}): boolean;
|
|
42
|
+
canRestoreFromTrashbin(args?: {
|
|
43
|
+
user?: User;
|
|
44
|
+
}): boolean;
|
|
45
|
+
canListVersions(args?: {
|
|
46
|
+
user?: User;
|
|
47
|
+
}): boolean;
|
|
48
|
+
getWebDavUrl({ path }: {
|
|
49
|
+
path: string;
|
|
50
|
+
}): string;
|
|
51
|
+
getWebDavTrashUrl({ path }: {
|
|
52
|
+
path: string;
|
|
53
|
+
}): string;
|
|
54
|
+
getDriveAliasAndItem(resource: Resource): string;
|
|
55
|
+
isMember(user: User): boolean;
|
|
56
|
+
isOwner(user: User): boolean;
|
|
57
|
+
}
|
|
58
|
+
export declare const isSpaceResource: (resource: Resource) => resource is SpaceResource;
|
|
59
|
+
export interface PersonalSpaceResource extends SpaceResource {
|
|
60
|
+
__personalSpaceResource?: any;
|
|
61
|
+
}
|
|
62
|
+
export declare const isPersonalSpaceResource: (resource: Resource) => resource is PersonalSpaceResource;
|
|
63
|
+
export interface ProjectSpaceResource extends SpaceResource {
|
|
64
|
+
__projectSpaceResource?: any;
|
|
65
|
+
}
|
|
66
|
+
export declare const isProjectSpaceResource: (resource: Resource) => resource is ProjectSpaceResource;
|
|
67
|
+
export interface ShareSpaceResource extends SpaceResource {
|
|
68
|
+
__shareSpaceResource?: any;
|
|
69
|
+
rename(newName: string): void;
|
|
70
|
+
}
|
|
71
|
+
export declare const isShareSpaceResource: (resource: Resource) => resource is ShareSpaceResource;
|
|
72
|
+
export interface MountPointSpaceResource extends SpaceResource {
|
|
73
|
+
__mountPointSpaceResource?: any;
|
|
74
|
+
}
|
|
75
|
+
export declare const isMountPointSpaceResource: (resource: Resource) => resource is MountPointSpaceResource;
|
|
76
|
+
export interface PublicSpaceResource extends SpaceResource {
|
|
77
|
+
publicLinkPassword?: string;
|
|
78
|
+
publicLinkItemType?: string;
|
|
79
|
+
publicLinkPermission?: number;
|
|
80
|
+
publicLinkExpiration?: string;
|
|
81
|
+
publicLinkShareDate?: string;
|
|
82
|
+
publicLinkShareOwner?: string;
|
|
83
|
+
}
|
|
84
|
+
export declare const isPublicSpaceResource: (resource: Resource) => resource is PublicSpaceResource;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { graph, Graph } from './graph';
|
|
3
|
+
import { ocs, OCS } from './ocs';
|
|
4
|
+
import { WebDAV, webdav } from './webdav';
|
|
5
|
+
export * from './errors';
|
|
6
|
+
export * from './helpers';
|
|
7
|
+
export * from './utils';
|
|
8
|
+
export { graph, ocs, webdav };
|
|
9
|
+
interface Client {
|
|
10
|
+
graph: Graph;
|
|
11
|
+
ocs: OCS;
|
|
12
|
+
webdav: WebDAV;
|
|
13
|
+
}
|
|
14
|
+
type ClientOptions = {
|
|
15
|
+
axiosClient: AxiosInstance;
|
|
16
|
+
baseURI: string;
|
|
17
|
+
};
|
|
18
|
+
/** @deprecated use `graph()`, `ocs()` and `webdav()` to initialize and use clients */
|
|
19
|
+
export declare const client: ({ axiosClient, baseURI }: ClientOptions) => Client;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
export interface AppProviderCapability {
|
|
3
|
+
apps_url?: string;
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
new_url?: string;
|
|
6
|
+
open_url?: string;
|
|
7
|
+
version?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PasswordPolicyCapability {
|
|
10
|
+
min_characters?: number;
|
|
11
|
+
max_characters?: number;
|
|
12
|
+
min_lowercase_characters?: number;
|
|
13
|
+
min_uppercase_characters?: number;
|
|
14
|
+
min_digits?: number;
|
|
15
|
+
min_special_characters?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface PasswordEnforcedForCapability {
|
|
18
|
+
read_only?: boolean;
|
|
19
|
+
read_write?: boolean;
|
|
20
|
+
upload_only?: boolean;
|
|
21
|
+
read_write_delete?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface SearchPropertyCapability {
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface LastModifiedFilterCapability extends SearchPropertyCapability {
|
|
27
|
+
keywords?: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface MediaTypeCapability extends SearchPropertyCapability {
|
|
30
|
+
keywords?: string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Archiver struct within the capabilities as defined in reva
|
|
34
|
+
* @see https://github.com/cs3org/reva/blob/41d5a6858c2200a61736d2c165e551b9785000d1/internal/http/services/owncloud/ocs/data/capabilities.go#L105
|
|
35
|
+
*/
|
|
36
|
+
export interface ArchiverCapability {
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
version?: string;
|
|
39
|
+
formats?: string[];
|
|
40
|
+
archiver_url?: string;
|
|
41
|
+
max_num_files?: string;
|
|
42
|
+
max_size?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface Capabilities {
|
|
45
|
+
capabilities: {
|
|
46
|
+
checksums?: {
|
|
47
|
+
preferredUploadType?: string;
|
|
48
|
+
supportedTypes?: string[];
|
|
49
|
+
};
|
|
50
|
+
password_policy?: PasswordPolicyCapability;
|
|
51
|
+
search?: {
|
|
52
|
+
property?: {
|
|
53
|
+
content?: SearchPropertyCapability;
|
|
54
|
+
mediatype?: MediaTypeCapability;
|
|
55
|
+
mtime?: LastModifiedFilterCapability;
|
|
56
|
+
name?: MediaTypeCapability;
|
|
57
|
+
scope?: MediaTypeCapability;
|
|
58
|
+
size?: MediaTypeCapability;
|
|
59
|
+
tag?: MediaTypeCapability;
|
|
60
|
+
tags?: MediaTypeCapability;
|
|
61
|
+
type?: MediaTypeCapability;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
notifications?: {
|
|
65
|
+
'ocs-endpoints'?: string[];
|
|
66
|
+
configurable?: boolean;
|
|
67
|
+
};
|
|
68
|
+
core: {
|
|
69
|
+
pollinterval?: number;
|
|
70
|
+
status?: {
|
|
71
|
+
edition?: string;
|
|
72
|
+
installed?: boolean;
|
|
73
|
+
maintenance?: boolean;
|
|
74
|
+
needsDbUpgrade?: boolean;
|
|
75
|
+
product?: string;
|
|
76
|
+
productname?: string;
|
|
77
|
+
productversion?: string;
|
|
78
|
+
version?: string;
|
|
79
|
+
versionstring?: string;
|
|
80
|
+
};
|
|
81
|
+
'support-sse'?: boolean;
|
|
82
|
+
'support-url-signing'?: boolean;
|
|
83
|
+
'webdav-root'?: string;
|
|
84
|
+
};
|
|
85
|
+
dav: {
|
|
86
|
+
chunking?: string;
|
|
87
|
+
chunkingParallelUploadDisabled?: boolean;
|
|
88
|
+
reports?: string[];
|
|
89
|
+
trashbin?: string;
|
|
90
|
+
};
|
|
91
|
+
files: {
|
|
92
|
+
app_providers?: AppProviderCapability[];
|
|
93
|
+
archivers?: ArchiverCapability[];
|
|
94
|
+
favorites?: boolean;
|
|
95
|
+
full_text_search?: boolean;
|
|
96
|
+
permanent_deletion?: boolean;
|
|
97
|
+
privateLinks?: boolean;
|
|
98
|
+
tags?: boolean;
|
|
99
|
+
tus_support?: {
|
|
100
|
+
extension?: string;
|
|
101
|
+
http_method_override?: boolean;
|
|
102
|
+
max_chunk_size?: number;
|
|
103
|
+
resumable?: string;
|
|
104
|
+
version?: string;
|
|
105
|
+
};
|
|
106
|
+
undelete?: boolean;
|
|
107
|
+
versioning?: boolean;
|
|
108
|
+
thumbnail?: {
|
|
109
|
+
enabled?: boolean;
|
|
110
|
+
version?: string;
|
|
111
|
+
supportedMimeTypes?: string[];
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
files_sharing: {
|
|
115
|
+
allow_custom?: boolean;
|
|
116
|
+
api_enabled?: boolean;
|
|
117
|
+
can_rename?: boolean;
|
|
118
|
+
default_permissions?: number;
|
|
119
|
+
deny_access?: boolean;
|
|
120
|
+
federation?: {
|
|
121
|
+
incoming?: boolean;
|
|
122
|
+
outgoing?: boolean;
|
|
123
|
+
};
|
|
124
|
+
group_sharing?: boolean;
|
|
125
|
+
public?: {
|
|
126
|
+
alias?: boolean;
|
|
127
|
+
can_contribute?: boolean;
|
|
128
|
+
can_edit?: boolean;
|
|
129
|
+
default_permissions?: number;
|
|
130
|
+
enabled?: boolean;
|
|
131
|
+
multiple?: boolean;
|
|
132
|
+
password?: {
|
|
133
|
+
enforced?: boolean;
|
|
134
|
+
enforced_for?: PasswordEnforcedForCapability;
|
|
135
|
+
};
|
|
136
|
+
send_mail?: boolean;
|
|
137
|
+
supports_upload_only?: boolean;
|
|
138
|
+
upload?: boolean;
|
|
139
|
+
};
|
|
140
|
+
search_min_length?: number;
|
|
141
|
+
user?: {
|
|
142
|
+
profile_picture?: boolean;
|
|
143
|
+
send_mail?: boolean;
|
|
144
|
+
settings?: {
|
|
145
|
+
enabled?: boolean;
|
|
146
|
+
version?: string;
|
|
147
|
+
}[];
|
|
148
|
+
};
|
|
149
|
+
quick_link?: {
|
|
150
|
+
default_role?: string;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
spaces?: {
|
|
154
|
+
enabled?: boolean;
|
|
155
|
+
max_quota?: number;
|
|
156
|
+
projects?: boolean;
|
|
157
|
+
version?: string;
|
|
158
|
+
};
|
|
159
|
+
graph?: {
|
|
160
|
+
'personal-data-export'?: boolean;
|
|
161
|
+
users: {
|
|
162
|
+
change_password_self_disabled?: boolean;
|
|
163
|
+
create_disabled?: boolean;
|
|
164
|
+
delete_disabled?: boolean;
|
|
165
|
+
read_only_attributes?: string[];
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
version: {
|
|
170
|
+
edition?: string;
|
|
171
|
+
major?: string;
|
|
172
|
+
minor?: string;
|
|
173
|
+
micro?: string;
|
|
174
|
+
product?: string;
|
|
175
|
+
productversion?: string;
|
|
176
|
+
string?: string;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
export declare const GetCapabilitiesFactory: (baseURI: string, axios: AxiosInstance) => {
|
|
180
|
+
getCapabilities(): Promise<Capabilities>;
|
|
181
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Capabilities } from './capabilities';
|
|
2
|
+
import { AxiosInstance } from 'axios';
|
|
3
|
+
export * from './capabilities';
|
|
4
|
+
export interface OCS {
|
|
5
|
+
getCapabilities: () => Promise<Capabilities>;
|
|
6
|
+
signUrl: (url: string, username: string) => Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
export declare const ocs: (baseURI: string, axiosClient: AxiosInstance) => OCS;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
export interface UrlSignOptions {
|
|
3
|
+
axiosClient: AxiosInstance;
|
|
4
|
+
baseURI: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class UrlSign {
|
|
7
|
+
private axiosClient;
|
|
8
|
+
private baseURI;
|
|
9
|
+
private signingKey;
|
|
10
|
+
private ALGORITHM;
|
|
11
|
+
private TTL;
|
|
12
|
+
private HASH_LENGTH;
|
|
13
|
+
private ITERATION_COUNT;
|
|
14
|
+
constructor({ axiosClient, baseURI }: UrlSignOptions);
|
|
15
|
+
signUrl(url: string, username: string): Promise<string>;
|
|
16
|
+
private getSignKey;
|
|
17
|
+
private createHashedKey;
|
|
18
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FetchEventSourceInit } from '@microsoft/fetch-event-source';
|
|
2
|
+
export declare enum MESSAGE_TYPE {
|
|
3
|
+
NOTIFICATION = "userlog-notification",
|
|
4
|
+
POSTPROCESSING_FINISHED = "postprocessing-finished",
|
|
5
|
+
FILE_LOCKED = "file-locked",
|
|
6
|
+
FILE_UNLOCKED = "file-unlocked",
|
|
7
|
+
FILE_TOUCHED = "file-touched",
|
|
8
|
+
ITEM_RENAMED = "item-renamed",
|
|
9
|
+
ITEM_TRASHED = "item-trashed",
|
|
10
|
+
ITEM_RESTORED = "item-restored",
|
|
11
|
+
ITEM_MOVED = "item-moved",
|
|
12
|
+
FOLDER_CREATED = "folder-created",
|
|
13
|
+
SPACE_MEMBER_ADDED = "space-member-added",
|
|
14
|
+
SPACE_MEMBER_REMOVED = "space-member-removed",
|
|
15
|
+
SPACE_SHARE_UPDATED = "space-share-updated",
|
|
16
|
+
SHARE_CREATED = "share-created",
|
|
17
|
+
SHARE_REMOVED = "share-removed",
|
|
18
|
+
SHARE_UPDATED = "share-updated",
|
|
19
|
+
LINK_CREATED = "link-created",
|
|
20
|
+
LINK_REMOVED = "link-removed",
|
|
21
|
+
LINK_UPDATED = "link-updated",
|
|
22
|
+
BACKCHANNEL_LOGOUT = "backchannel-logout"
|
|
23
|
+
}
|
|
24
|
+
export declare class RetriableError extends Error {
|
|
25
|
+
name: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class SSEAdapter implements EventSource {
|
|
28
|
+
url: string;
|
|
29
|
+
fetchOptions: FetchEventSourceInit;
|
|
30
|
+
private abortController;
|
|
31
|
+
private eventListenerMap;
|
|
32
|
+
readyState: number;
|
|
33
|
+
readonly withCredentials: boolean;
|
|
34
|
+
readonly CONNECTING: 0;
|
|
35
|
+
readonly OPEN: 1;
|
|
36
|
+
readonly CLOSED: 2;
|
|
37
|
+
onerror: ((this: EventSource, ev: Event) => any) | null;
|
|
38
|
+
onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;
|
|
39
|
+
onopen: ((this: EventSource, ev: Event) => any) | null;
|
|
40
|
+
constructor(url: string, fetchOptions: FetchEventSourceInit);
|
|
41
|
+
private connect;
|
|
42
|
+
fetchProvider(...args: [RequestInfo | URL, RequestInit]): Promise<Response>;
|
|
43
|
+
close(): void;
|
|
44
|
+
addEventListener<K extends keyof EventSourceEventMap>(type: string, listener: (this: EventSource, event: EventSourceEventMap[K]) => any): void;
|
|
45
|
+
removeEventListener<K extends keyof EventSourceEventMap>(type: string, listener: (this: EventSource, event: EventSourceEventMap[K]) => any): void;
|
|
46
|
+
dispatchEvent(): boolean;
|
|
47
|
+
updateAccessToken(token: string): void;
|
|
48
|
+
updateLanguage(language: string): void;
|
|
49
|
+
}
|
|
50
|
+
export declare const sse: (baseURI: string, fetchOptions: FetchEventSourceInit) => SSEAdapter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const encodePath: (path: string) => string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A copy of https://github.com/moxystudio/js-proper-url-join/blob/master/src/index.js
|
|
3
|
+
* but without the query handling.
|
|
4
|
+
*/
|
|
5
|
+
export interface UrlJoinOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Add a leading slash.
|
|
8
|
+
*
|
|
9
|
+
* **Default**: `true`
|
|
10
|
+
*/
|
|
11
|
+
leadingSlash?: boolean | 'keep' | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Add a trailing slash.
|
|
14
|
+
*
|
|
15
|
+
* **Default**: `false`
|
|
16
|
+
*/
|
|
17
|
+
trailingSlash?: boolean | 'keep' | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare const urlJoin: (...parts: Array<string | UrlJoinOptions>) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Resource, SpaceResource } from '../helpers';
|
|
2
|
+
import { WebDavOptions } from './types';
|
|
3
|
+
import { DAV, DAVRequestOptions } from './client';
|
|
4
|
+
type ClearTrashBinOptions = {
|
|
5
|
+
id?: Resource['id'];
|
|
6
|
+
} & DAVRequestOptions;
|
|
7
|
+
export declare const ClearTrashBinFactory: (dav: DAV, options: WebDavOptions) => {
|
|
8
|
+
clearTrashBin(space: SpaceResource, { id, ...opts }?: ClearTrashBinOptions): Promise<import('./client').DavResult>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DavPropertyValue } from '../constants';
|
|
2
|
+
export declare const buildPropFindBody: (properties: DavPropertyValue[], { pattern, filterRules, limit, extraProps }: {
|
|
3
|
+
pattern?: string;
|
|
4
|
+
filterRules?: Partial<Record<DavPropertyValue, unknown>>;
|
|
5
|
+
limit?: number;
|
|
6
|
+
extraProps: string[];
|
|
7
|
+
}) => string;
|
|
8
|
+
export declare const buildPropPatchBody: (properties: Partial<Record<DavPropertyValue, unknown>>) => string;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Headers, ProgressEventCallback } from 'webdav';
|
|
2
|
+
import { DavPropertyValue } from '../constants';
|
|
3
|
+
import { WebDavResponseResource } from '../../helpers';
|
|
4
|
+
export interface DAVOptions {
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
headers?: () => Headers;
|
|
7
|
+
}
|
|
8
|
+
export interface DavResult {
|
|
9
|
+
body: WebDavResponseResource[] | undefined;
|
|
10
|
+
status: number;
|
|
11
|
+
result: Response;
|
|
12
|
+
}
|
|
13
|
+
export type DAVRequestOptions = {
|
|
14
|
+
headers?: Headers;
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
};
|
|
17
|
+
export declare class DAV {
|
|
18
|
+
private client;
|
|
19
|
+
private davPath;
|
|
20
|
+
private headers;
|
|
21
|
+
extraProps: string[];
|
|
22
|
+
constructor({ baseUrl, headers }: DAVOptions);
|
|
23
|
+
mkcol(path: string, opts?: DAVRequestOptions): Promise<DavResult>;
|
|
24
|
+
propfind(path: string, { depth, properties, headers, ...opts }?: {
|
|
25
|
+
depth?: number;
|
|
26
|
+
properties?: DavPropertyValue[];
|
|
27
|
+
} & DAVRequestOptions): Promise<WebDavResponseResource[]>;
|
|
28
|
+
report(path: string, { pattern, filterRules, limit, properties, ...opts }?: {
|
|
29
|
+
pattern?: string;
|
|
30
|
+
filterRules?: Partial<Record<DavPropertyValue, unknown>>;
|
|
31
|
+
limit?: number;
|
|
32
|
+
properties?: DavPropertyValue[];
|
|
33
|
+
} & DAVRequestOptions): Promise<{
|
|
34
|
+
results: WebDavResponseResource[];
|
|
35
|
+
range: string;
|
|
36
|
+
}>;
|
|
37
|
+
copy(source: string, target: string, { overwrite, headers, ...opts }?: {
|
|
38
|
+
overwrite?: boolean;
|
|
39
|
+
} & DAVRequestOptions): Promise<DavResult>;
|
|
40
|
+
move(source: string, target: string, { overwrite, headers, ...opts }?: {
|
|
41
|
+
overwrite?: boolean;
|
|
42
|
+
} & DAVRequestOptions): Promise<DavResult>;
|
|
43
|
+
put(path: string, content: string | ArrayBuffer, { headers, onUploadProgress, previousEntityTag, overwrite, ...opts }?: {
|
|
44
|
+
onUploadProgress?: ProgressEventCallback;
|
|
45
|
+
previousEntityTag?: string;
|
|
46
|
+
overwrite?: boolean;
|
|
47
|
+
} & DAVRequestOptions): Promise<DavResult>;
|
|
48
|
+
delete(path: string, opts?: DAVRequestOptions): Promise<DavResult>;
|
|
49
|
+
propPatch(path: string, properties: Partial<Record<DavPropertyValue, unknown>>, opts?: DAVRequestOptions): Promise<DavResult>;
|
|
50
|
+
getFileUrl(path: string): string;
|
|
51
|
+
private buildHeaders;
|
|
52
|
+
private request;
|
|
53
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { WebDavResponseResource, WebDavResponseTusSupport } from '../../helpers';
|
|
2
|
+
import { DavErrorCode } from '../constants';
|
|
3
|
+
export declare const parseTusHeaders: (headers: Headers) => WebDavResponseTusSupport;
|
|
4
|
+
export declare const parseMultiStatus: (xmlBody: string) => Promise<WebDavResponseResource[]>;
|
|
5
|
+
export declare const parseError: (xmlBody: string) => {
|
|
6
|
+
message: string;
|
|
7
|
+
errorCode: DavErrorCode;
|
|
8
|
+
};
|