Skip to content

Commit

Permalink
feat: api
Browse files Browse the repository at this point in the history
  • Loading branch information
Dwynr committed Feb 10, 2024
1 parent d382b3a commit 597041a
Show file tree
Hide file tree
Showing 301 changed files with 9,511 additions and 148 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
node_modules/**/*
dev/dev.config.json
.DS_Store
.DS_Store
*encrypted
*decrypted
10 changes: 10 additions & 0 deletions dev/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ const main = async () => {
.crypto()
.decrypt()
.dataStream({ inputFile: outputFile, outputFile: pathModule.join(__dirname, "dev.config.json.decrypted"), key, version: 2 })

console.log(await filen.api(3).item().shared({ uuid: "d33bd2c2-9a5f-43bb-884b-d8ebbe241085" }))
console.log(await filen.api(3).item().linked({ uuid: "d33bd2c2-9a5f-43bb-884b-d8ebbe241085" }))
console.log(await filen.api(3).dir().present({ uuid: "b48a3029-56f0-40e2-aa88-6afdd8d81274" }))

console.log(await filen.fs().readdir({ path: "/" }))
console.log(await filen.fs().stat({ path: "/.txt" }))

console.log(await filen.api(3).dir().link().status({ uuid: "b48a3029-56f0-40e2-aa88-6afdd8d81274" }))
console.log(await filen.api(3).file().link().status({ uuid: "f12403d1-2df3-41ea-9250-fb1e15c25d6b" }))
}

main()
2 changes: 1 addition & 1 deletion dist/bundle.browser.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/bundle.browser.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/bundle.node.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/bundle.node.js.map

Large diffs are not rendered by default.

261 changes: 261 additions & 0 deletions dist/types/api/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
/// <reference types="node" />
import type Crypto from "../crypto";
export type APIConfig = {
apiKey: string;
crypto: Crypto;
};
/**
* API
Expand All @@ -12,6 +15,7 @@ export type APIConfig = {
export declare class API {
private readonly config;
private readonly apiClient;
private readonly crypto;
private readonly _v3;
/**
* Creates an instance of API.
Expand Down Expand Up @@ -43,6 +47,82 @@ export declare class API {
linked: (params_0: {
uuid: string;
}) => Promise<import("./v3/dir/linked").DirLinkedResponse>;
link: () => {
add: (params_0: {
uuid: string;
parent: string;
linkUUID: string;
type: string;
metadata: string;
key: string;
expiration: string;
}) => Promise<void>;
status: (params_0: {
uuid: string;
}) => Promise<import("./v3/dir/link/status").DirLinkStatusResponse>;
remove: (params_0: {
uuid: string;
}) => Promise<void>;
edit: (params_0: {
uuid: string;
expiration?: import("./v3/dir/link/edit").DirLinkEditExpiration | undefined;
password?: string | undefined;
downloadBtn?: boolean | undefined;
}) => Promise<void>;
info: (params_0: {
uuid: string;
}) => Promise<import("./v3/dir/link/info").DirLinkInfoResponse>;
content: (params_0: {
uuid: string;
password: string;
parent: string;
}) => Promise<import("./v3/dir/link/content").DirLinkContentResponse>;
};
exists: (params_0: {
name: string;
parent: string;
}) => Promise<import("./v3/dir/exists").DirExistsResponse>;
create: (params_0: {
uuid?: string | undefined;
name: string;
parent: string;
}) => Promise<import("./v3/dir/create").DirCreateResponse>;
present: (params_0: {
uuid: string;
}) => Promise<import("./v3/dir/present").DirPresentResponse>;
trash: (params_0: {
uuid: string;
}) => Promise<void>;
move: (params_0: {
uuid: string;
to: string;
}) => Promise<void>;
rename: (params_0: {
uuid: string;
name: string;
}) => Promise<void>;
size: (params_0: {
uuid: string;
sharerId?: number | undefined;
receiverId?: number | undefined;
trash?: boolean | undefined;
}) => Promise<import("./v3/dir/size").DirSizeResponse>;
sizeLink: (params_0: {
uuid: string;
linkUUID: string;
}) => Promise<import("./v3/dir/sizeLink").DirSizeLinkResponse>;
delete: () => {
permanent: (params_0: {
uuid: string;
}) => Promise<void>;
};
restore: (params_0: {
uuid: string;
}) => Promise<void>;
color: (params_0: {
uuid: string;
color: import("./v3/dir/color").DirColors;
}) => Promise<void>;
};
auth: () => {
info: (params_0: {
Expand All @@ -58,6 +138,88 @@ export declare class API {
user: () => {
info: () => Promise<import("./v3/user/info").UserInfoResponse>;
baseFolder: () => Promise<import("./v3/user/baseFolder").UserBaseFolderResponse>;
publicKey: (params_0: {
email: string;
}) => Promise<import("./v3/user/publicKey").UserPublicKeyResponse>;
settings: () => Promise<import("./v3/user/settings").UserSettingsResponse>;
account: () => Promise<import("./v3/user/account").UserAccountResponse>;
gdpr: () => Promise<import("./v3/user/gdpr").UserGDPRResponse>;
avatar: (params_0: {
buffer: Buffer;
}) => Promise<void>;
settingsEmail: () => {
change: (params_0: {
email: string;
password: string;
authVersion: import("../types").AuthVersion;
}) => Promise<void>;
};
personal: () => {
change: (params_0: {
city?: string | undefined;
companyName?: string | undefined;
country?: string | undefined;
firstName?: string | undefined;
lastName?: string | undefined;
postalCode?: string | undefined;
street?: string | undefined;
streetNumber?: string | undefined;
vatId?: string | undefined;
}) => Promise<void>;
};
delete: (params_0: {
twoFactorCode?: string | undefined;
}) => Promise<void>;
deleteVersions: () => Promise<void>;
deleteAll: () => Promise<void>;
settingsPassword: () => {
change: (params_0: {
password: string;
currentPassword: string;
authVersion: import("../types").AuthVersion;
salt: string;
masterKeys: string;
}) => Promise<import("./v3/user/settings/password/change").UserSettingsPasswordChangeResponse>;
};
twoFactorAuthentication: () => {
enable: (params_0: {
code: string;
}) => Promise<import("./v3/user/2fa/enable").User2FAEnableResponse>;
disable: (params_0: {
code: string;
}) => Promise<void>;
};
events: (params_0: {
lastTimestamp?: number | undefined;
filter?: string | undefined;
}) => Promise<import("./v3/user/events").UserEvent[]>;
event: (params_0: {
uuid: string;
}) => Promise<import("./v3/user/event").UserEventResponse>;
sub: () => {
cancel: (params_0: {
uuid: string;
}) => Promise<void>;
create: (params_0: {
planId: number;
method: import("./v3/user/sub/create").PaymentMethods;
}) => Promise<import("./v3/user/sub/create").UserSubCreateResponse>;
};
invoice: (params_0: {
uuid: string;
}) => Promise<string>;
affiliate: () => {
payout: (params_0: {
address: string;
method: string;
}) => Promise<void>;
};
versioning: (params_0: {
enable: boolean;
}) => Promise<void>;
loginAlerts: (params_0: {
enable: boolean;
}) => Promise<void>;
};
shared: () => {
in: (params?: {
Expand All @@ -82,6 +244,105 @@ export declare class API {
uploadKey: string;
}) => Promise<import("./v3/upload/done").UploadDoneResponse>;
};
item: () => {
share: (params_0: {
uuid: string;
parent: string;
email: string;
type: string;
metadata: string;
}) => Promise<void>;
shared: (params_0: {
uuid: string;
}) => Promise<import("./v3/item/shared").ItemSharedResponse>;
linked: (params_0: {
uuid: string;
}) => Promise<import("./v3/item/linked").ItemLinkedResponse>;
linkedRename: (params_0: {
uuid: string;
linkUUID: string;
metadata: string;
}) => Promise<void>;
sharedRename: (params_0: {
uuid: string;
receiverId: number;
metadata: string;
}) => Promise<void>;
favorite: (params_0: {
uuid: string;
type: "file" | "folder";
favorite: boolean;
}) => Promise<void>;
sharedOut: () => {
remove: (params_0: {
uuid: string;
receiverId: number;
}) => Promise<void>;
};
sharedIn: () => {
remove: (params_0: {
uuid: string;
}) => Promise<void>;
};
};
file: () => {
exists: (params_0: {
name: string;
parent: string;
}) => Promise<import("./v3/file/exists").FileExistsResponse>;
trash: (params_0: {
uuid: string;
}) => Promise<void>;
move: (params_0: {
uuid: string;
to: string;
}) => Promise<void>;
rename: (params_0: {
uuid: string;
metadata: import("../types").FileMetadata;
name: string;
}) => Promise<void>;
delete: () => {
permanent: (params_0: {
uuid: string;
}) => Promise<void>;
};
restore: (params_0: {
uuid: string;
}) => Promise<void>;
version: () => {
restore: (params_0: {
uuid: string;
currentUUID: string;
}) => Promise<void>;
};
link: () => {
status: (params_0: {
uuid: string;
}) => Promise<import("./v3/file/link/status").FileLinkStatusResponse>;
edit: (params_0: {
uuid: string;
fileUUID: string;
expiration?: import("./v3/file/link/edit").FileLinkEditExpiration | undefined;
password?: string | undefined;
downloadBtn?: boolean | undefined;
type: "enable" | "disable" | "edit";
}) => Promise<void>;
info: (params_0: {
uuid: string;
password: string;
}) => Promise<import("./v3/file/link/info").FileLinkInfoResponse>;
password: (params_0: {
uuid: string;
}) => Promise<import("./v3/file/link/password").FileLinkPasswordResponse>;
};
versions: (params_0: {
uuid: string;
}) => Promise<import("./v3/file/versions").FileVersionsResponse>;
};
trash: () => {
empty: () => Promise<void>;
};
};
}
export default API;
41 changes: 41 additions & 0 deletions dist/types/api/v3/dir/color.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import type APIClient from "../../client";
export type DirColors = "default" | "blue" | "green" | "purple" | "red" | "gray";
/**
* DirColor
* @date 2/1/2024 - 8:16:35 PM
*
* @export
* @class DirColor
* @typedef {DirColor}
*/
export declare class DirColor {
private readonly apiClient;
/**
* Creates an instance of DirColor.
* @date 2/1/2024 - 8:16:39 PM
*
* @constructor
* @public
* @param {{ apiClient: APIClient }} param0
* @param {APIClient} param0.apiClient
*/
constructor({ apiClient }: {
apiClient: APIClient;
});
/**
* Change the display color of a directory.
* @date 2/10/2024 - 1:21:30 AM
*
* @public
* @async
* @param {{ uuid: string; color: DirColors }} param0
* @param {string} param0.uuid
* @param {DirColors} param0.color
* @returns {Promise<void>}
*/
fetch({ uuid, color }: {
uuid: string;
color: DirColors;
}): Promise<void>;
}
export default DirColor;
Loading

0 comments on commit 597041a

Please sign in to comment.