diff --git a/dist/browser/api/v3/user/events.js.map b/dist/browser/api/v3/user/events.js.map index 9a680c00..3978579a 100644 --- a/dist/browser/api/v3/user/events.js.map +++ b/dist/browser/api/v3/user/events.js.map @@ -1 +1 @@ -{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../src/api/v3/user/events.ts"],"names":[],"mappings":"AAwNA;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACL,SAAS,CAAW;IAErC;;;;;;;;OAQG;IACH,YAAmB,EAAE,SAAS,EAA4B;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAA6C;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAqB;YACjE,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE;gBACL,MAAM;gBACN,SAAS,EAAE,aAAa;aACxB;SACD,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAA;IACvB,CAAC;CACD;AAED,eAAe,UAAU,CAAA"} \ No newline at end of file +{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../src/api/v3/user/events.ts"],"names":[],"mappings":"AA8NA;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACL,SAAS,CAAW;IAErC;;;;;;;;OAQG;IACH,YAAmB,EAAE,SAAS,EAA4B;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAA6C;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAqB;YACjE,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE;gBACL,MAAM;gBACN,SAAS,EAAE,aAAa;aACxB;SACD,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAA;IACvB,CAAC;CACD;AAED,eAAe,UAAU,CAAA"} \ No newline at end of file diff --git a/dist/browser/index.js b/dist/browser/index.js deleted file mode 100644 index 9040cb00..00000000 --- a/dist/browser/index.js +++ /dev/null @@ -1,447 +0,0 @@ -import "./reactNative"; -import API from "./api"; -import Crypto from "./crypto"; -import utils from "./utils"; -import { environment } from "./constants"; -import os from "os"; -import FS from "./fs"; -import appendStream from "./streams/append"; -import { streamDecodeBase64, streamEncodeBase64 } from "./streams/base64"; -import cryptoUtils from "./crypto/utils"; -import Cloud from "./cloud"; -import pathModule from "path"; -import Chats from "./chats"; -import Notes from "./notes"; -import Contacts from "./contacts"; -import User from "./user"; -import Socket from "./socket"; -/** - * FilenSDK - * @date 2/1/2024 - 2:45:02 AM - * - * @export - * @class FilenSDK - * @typedef {FilenSDK} - */ -export class FilenSDK { - config; - _api; - _crypto; - _fs; - _cloud; - _notes; - _chats; - _contacts; - _user; - socket = new Socket(); - /** - * Creates an instance of FilenSDK. - * @date 2/21/2024 - 8:58:43 AM - * - * @constructor - * @public - * @param {?FilenSDKConfig} [params] - */ - constructor(params) { - if (!params) { - params = {}; - } - this.config = params; - this._crypto = - params.masterKeys && params.publicKey && params.privateKey - ? new Crypto({ - masterKeys: params.masterKeys, - publicKey: params.publicKey, - privateKey: params.privateKey, - metadataCache: params.metadataCache ? params.metadataCache : false, - tmpPath: environment === "browser" - ? "/dev/null" - : params.tmpPath - ? utils.normalizePath(params.tmpPath) - : utils.normalizePath(os.tmpdir()) - }) - : new Crypto({ - masterKeys: [], - publicKey: "", - privateKey: "", - metadataCache: params.metadataCache ? params.metadataCache : false, - tmpPath: environment === "browser" - ? "/dev/null" - : params.tmpPath - ? utils.normalizePath(params.tmpPath) - : utils.normalizePath(os.tmpdir()) - }); - this._api = params.apiKey - ? new API({ apiKey: params.apiKey, crypto: this._crypto }) - : new API({ apiKey: "anonymous", crypto: this._crypto }); - this._cloud = new Cloud({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._fs = new FS({ sdkConfig: params, api: this._api, cloud: this._cloud, connectToSocket: params.connectToSocket }); - this._notes = new Notes({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._chats = new Chats({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._contacts = new Contacts({ sdkConfig: params, api: this._api }); - this._user = new User({ sdkConfig: params, api: this._api, crypto: this._crypto }); - } - /** - * Initialize the SDK again (after logging in for example). - * @date 2/1/2024 - 3:23:58 PM - * - * @public - * @param {FilenSDKConfig} params - */ - init(params) { - this.config = params; - this._crypto = - params.masterKeys && params.publicKey && params.privateKey - ? new Crypto({ - masterKeys: params.masterKeys, - publicKey: params.publicKey, - privateKey: params.privateKey, - metadataCache: params.metadataCache ? params.metadataCache : false, - tmpPath: environment === "browser" - ? "/dev/null" - : params.tmpPath - ? utils.normalizePath(params.tmpPath) - : utils.normalizePath(os.tmpdir()) - }) - : new Crypto({ - masterKeys: [], - publicKey: "", - privateKey: "", - metadataCache: params.metadataCache ? params.metadataCache : false, - tmpPath: environment === "browser" - ? "/dev/null" - : params.tmpPath - ? utils.normalizePath(params.tmpPath) - : utils.normalizePath(os.tmpdir()) - }); - this._api = params.apiKey - ? new API({ apiKey: params.apiKey, crypto: this._crypto }) - : new API({ apiKey: "anonymous", crypto: this._crypto }); - this._cloud = new Cloud({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._fs = new FS({ sdkConfig: params, api: this._api, cloud: this._cloud, connectToSocket: params.connectToSocket }); - this._notes = new Notes({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._chats = new Chats({ sdkConfig: params, api: this._api, crypto: this._crypto }); - this._contacts = new Contacts({ sdkConfig: params, api: this._api }); - this._user = new User({ sdkConfig: params, api: this._api, crypto: this._crypto }); - } - /** - * Check if the SDK user is authenticated. - * @date 1/31/2024 - 4:08:17 PM - * - * @private - * @returns {boolean} - */ - isLoggedIn() { - return (typeof this.config.apiKey !== "undefined" && - typeof this.config.masterKeys !== "undefined" && - typeof this.config.publicKey !== "undefined" && - typeof this.config.privateKey !== "undefined" && - typeof this.config.baseFolderUUID !== "undefined" && - typeof this.config.authVersion !== "undefined" && - typeof this.config.userId !== "undefined" && - this.config.apiKey.length > 0 && - this.config.masterKeys.length > 0 && - this.config.publicKey.length > 0 && - this.config.privateKey.length > 0 && - this.config.baseFolderUUID.length > 0 && - this.config.userId > 0 && - [1, 2].includes(this.config.authVersion)); - } - /** - * Update keypair. - * @date 2/20/2024 - 7:47:41 AM - * - * @private - * @async - * @param {{apiKey: string, publicKey: string, privateKey: string, masterKeys: string[]}} param0 - * @param {string} param0.apiKey - * @param {string} param0.publicKey - * @param {string} param0.privateKey - * @param {{}} param0.masterKeys - * @returns {Promise} - */ - async _updateKeyPair({ apiKey, publicKey, privateKey, masterKeys }) { - const encryptedPrivateKey = await this._crypto.encrypt().metadata({ metadata: privateKey, key: masterKeys[masterKeys.length - 1] }); - await this._api.v3().user().keyPair().update({ publicKey, encryptedPrivateKey, apiKey }); - } - /** - * Set keypair. - * @date 2/20/2024 - 7:48:10 AM - * - * @private - * @async - * @param {{apiKey: string, publicKey: string, privateKey: string, masterKeys: string[]}} param0 - * @param {string} param0.apiKey - * @param {string} param0.publicKey - * @param {string} param0.privateKey - * @param {{}} param0.masterKeys - * @returns {Promise} - */ - async _setKeyPair({ apiKey, publicKey, privateKey, masterKeys }) { - const encryptedPrivateKey = await this._crypto.encrypt().metadata({ metadata: privateKey, key: masterKeys[masterKeys.length - 1] }); - await this._api.v3().user().keyPair().set({ publicKey, encryptedPrivateKey, apiKey }); - } - async __updateKeyPair({ apiKey, masterKeys }) { - const keyPairInfo = await this._api.v3().user().keyPair().info({ apiKey }); - if (typeof keyPairInfo.publicKey === "string" && - typeof keyPairInfo.privateKey === "string" && - keyPairInfo.publicKey.length > 0 && - keyPairInfo.privateKey.length > 0) { - let privateKey = null; - for (const masterKey of masterKeys) { - try { - const decryptedPrivateKey = await this._crypto.decrypt().metadata({ metadata: keyPairInfo.privateKey, key: masterKey }); - if (typeof decryptedPrivateKey === "string" && decryptedPrivateKey.length > 16) { - privateKey = decryptedPrivateKey; - } - } - catch { - continue; - } - } - if (!privateKey) { - throw new Error("Could not decrypt private key."); - } - await this._updateKeyPair({ apiKey, publicKey: keyPairInfo.publicKey, privateKey, masterKeys }); - return { - publicKey: keyPairInfo.publicKey, - privateKey - }; - } - const generatedKeyPair = await this._crypto.utils.generateKeyPair(); - await this._setKeyPair({ apiKey, publicKey: generatedKeyPair.publicKey, privateKey: generatedKeyPair.privateKey, masterKeys }); - return { - publicKey: generatedKeyPair.publicKey, - privateKey: generatedKeyPair.privateKey - }; - } - async _updateKeys({ apiKey, masterKeys }) { - const encryptedMasterKeys = await this._crypto - .encrypt() - .metadata({ metadata: masterKeys.join("|"), key: masterKeys[masterKeys.length - 1] }); - const masterKeysResponse = await this._api.v3().user().masterKeys({ encryptedMasterKeys, apiKey }); - let newMasterKeys = [...masterKeys]; - for (const masterKey of masterKeys) { - try { - const decryptedMasterKeys = await this._crypto.decrypt().metadata({ metadata: masterKeysResponse.keys, key: masterKey }); - if (typeof decryptedMasterKeys === "string" && decryptedMasterKeys.length > 16 && decryptedMasterKeys.includes("|")) { - newMasterKeys = [...masterKeys, ...decryptedMasterKeys.split("|")]; - } - } - catch { - continue; - } - } - if (newMasterKeys.length === 0) { - throw new Error("Could not decrypt master keys."); - } - const { publicKey, privateKey } = await this.__updateKeyPair({ apiKey, masterKeys: newMasterKeys }); - return { - masterKeys: newMasterKeys, - publicKey, - privateKey - }; - } - /** - * Authenticate. - * @date 2/20/2024 - 7:24:10 AM - * - * @public - * @async - * @param {{email?: string, password?: string, twoFactorCode?: string}} param0 - * @param {string} param0.email - * @param {string} param0.password - * @param {string} param0.twoFactorCode - * @returns {Promise} - */ - async login({ email, password, twoFactorCode }) { - const emailToUse = email ? email : this.config.email ? this.config.email : ""; - const passwordToUse = password ? password : this.config.password ? this.config.password : ""; - const twoFactorCodeToUse = twoFactorCode ? twoFactorCode : this.config.twoFactorCode ? this.config.twoFactorCode : "XXXXXX"; - let authVersion = this.config.authVersion ? this.config.authVersion : null; - if (emailToUse.length === 0 || passwordToUse.length === 0 || twoFactorCodeToUse.length === 0) { - throw new Error("Empty email, password or twoFactorCode"); - } - const authInfo = await this._api.v3().auth().info({ email: emailToUse }); - if (!authVersion) { - authVersion = authInfo.authVersion; - } - const derived = await this._crypto.utils.generatePasswordAndMasterKeyBasedOnAuthVersion({ - rawPassword: passwordToUse, - authVersion: authInfo.authVersion, - salt: authInfo.salt - }); - const loginResponse = await this._api - .v3() - .login({ email: emailToUse, password: derived.derivedPassword, twoFactorCode: twoFactorCodeToUse, authVersion }); - const [infoResponse, baseFolderResponse] = await Promise.all([ - this._api.v3().user().info({ apiKey: loginResponse.apiKey }), - this._api.v3().user().baseFolder({ apiKey: loginResponse.apiKey }) - ]); - const updateKeys = await this._updateKeys({ apiKey: loginResponse.apiKey, masterKeys: [derived.derivedMasterKeys] }); - this.init({ - ...this.config, - email: emailToUse, - password: passwordToUse, - twoFactorCode: twoFactorCodeToUse, - masterKeys: updateKeys.masterKeys, - apiKey: loginResponse.apiKey, - publicKey: updateKeys.publicKey, - privateKey: updateKeys.privateKey, - authVersion, - baseFolderUUID: baseFolderResponse.uuid, - userId: infoResponse.id - }); - } - /** - * Logout. - * @date 2/9/2024 - 5:48:28 AM - * - * @public - */ - logout() { - this.init({ - ...this.config, - email: undefined, - password: undefined, - twoFactorCode: undefined, - masterKeys: undefined, - apiKey: undefined, - publicKey: undefined, - privateKey: undefined, - authVersion: undefined, - baseFolderUUID: undefined, - userId: undefined - }); - } - api(version) { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - if (version === 3) { - return this._api.v3(); - } - throw new Error(`API version ${version} does not exist`); - } - /** - * Returns an instance of Crypto. - * @date 1/31/2024 - 4:29:49 PM - * - * @public - * @returns {Crypto} - */ - crypto() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._crypto; - } - /** - * Returns an instance of FS. - * @date 2/17/2024 - 1:52:12 AM - * - * @public - * @returns {FS} - */ - fs() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._fs; - } - /** - * Returns an instance of Cloud. - * @date 2/17/2024 - 1:52:05 AM - * - * @public - * @returns {Cloud} - */ - cloud() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._cloud; - } - /** - * Returns an instance of Notes. - * @date 2/19/2024 - 6:32:35 AM - * - * @public - * @returns {Notes} - */ - notes() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._notes; - } - /** - * Returns an instance of Chats. - * @date 2/19/2024 - 6:32:35 AM - * - * @public - * @returns {Chats} - */ - chats() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._chats; - } - /** - * Returns an instance of Contacts. - * @date 2/20/2024 - 6:27:05 AM - * - * @public - * @returns {Contacts} - */ - contacts() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._contacts; - } - /** - * Return an instance of User. - * @date 2/20/2024 - 6:27:17 AM - * - * @public - * @returns {User} - */ - user() { - if (!this.isLoggedIn()) { - throw new Error("Not authenticated, please call login() first"); - } - return this._user; - } - /** - * Clear the temporary directory. Only available in a Node.JS environment. - * @date 2/17/2024 - 1:51:39 AM - * - * @public - * @async - * @returns {Promise} - */ - async clearTemporaryDirectory() { - if (environment !== "node") { - return; - } - const tmpDir = utils.normalizePath(pathModule.join(this.config.tmpPath ? this.config.tmpPath : os.tmpdir(), "filen-sdk")); - await utils.clearTempDirectory({ tmpDir }); - } - utils = { - ...utils, - crypto: cryptoUtils, - streams: { - append: appendStream, - decodeBase64: streamDecodeBase64, - encodeBase64: streamEncodeBase64 - } - }; -} -export default FilenSDK; -export * from "./types"; -export * from "./constants"; -export * from "./api/errors"; -export * from "./cloud/signals"; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/browser/index.js.map b/dist/browser/index.js.map deleted file mode 100644 index 42bd6477..00000000 --- a/dist/browser/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/node/api/v3/user/events.js.map b/dist/node/api/v3/user/events.js.map index 6b12d022..f2f9a0eb 100644 --- a/dist/node/api/v3/user/events.js.map +++ b/dist/node/api/v3/user/events.js.map @@ -1 +1 @@ -{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../src/api/v3/user/events.ts"],"names":[],"mappings":";;;AAwNA;;;;;;;GAOG;AACH,MAAa,UAAU;IAGtB;;;;;;;;OAQG;IACH,YAAmB,EAAE,SAAS,EAA4B;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAA6C;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAqB;YACjE,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE;gBACL,MAAM;gBACN,SAAS,EAAE,aAAa;aACxB;SACD,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAA;IACvB,CAAC;CACD;AA1CD,gCA0CC;AAED,kBAAe,UAAU,CAAA"} \ No newline at end of file +{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../src/api/v3/user/events.ts"],"names":[],"mappings":";;;AA8NA;;;;;;;GAOG;AACH,MAAa,UAAU;IAGtB;;;;;;;;OAQG;IACH,YAAmB,EAAE,SAAS,EAA4B;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAA6C;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAqB;YACjE,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE;gBACL,MAAM;gBACN,SAAS,EAAE,aAAa;aACxB;SACD,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAA;IACvB,CAAC;CACD;AA1CD,gCA0CC;AAED,kBAAe,UAAU,CAAA"} \ No newline at end of file diff --git a/dist/types/api/v3/user/events.d.ts b/dist/types/api/v3/user/events.d.ts index 363823fd..45f7448b 100644 --- a/dist/types/api/v3/user/events.d.ts +++ b/dist/types/api/v3/user/events.d.ts @@ -172,6 +172,11 @@ export type UserEvent = UserEventBase & ({ count: number; receiverEmail: string; }; +} | { + type: "folderLinkEdited"; + info: UserEventInfoBase & { + linkUUID: string; + }; }); export type UserEventsResponse = { events: UserEvent[]; diff --git a/package.json b/package.json index 3f183600..55d24861 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@filen/sdk", - "version": "0.1.72", + "version": "0.1.73", "description": "Filen SDK", "main": "dist/node/index.js", "browser": "dist/browser/index.js", diff --git a/src/api/v3/user/events.ts b/src/api/v3/user/events.ts index ffe61c0c..b763433b 100644 --- a/src/api/v3/user/events.ts +++ b/src/api/v3/user/events.ts @@ -208,6 +208,12 @@ export type UserEvent = UserEventBase & receiverEmail: string } } + | { + type: "folderLinkEdited" + info: UserEventInfoBase & { + linkUUID: string + } + } ) export type UserEventsResponse = {