Skip to content

Commit

Permalink
feat: all crypto fns
Browse files Browse the repository at this point in the history
  • Loading branch information
Dwynr committed Feb 6, 2024
1 parent faf6aab commit d218ade
Show file tree
Hide file tree
Showing 99 changed files with 1,402 additions and 1,227 deletions.
6 changes: 6 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"comments": false,
"minified": true,
"plugins": ["transform-remove-console"],
"presets": ["@babel/preset-env"]
}
2 changes: 1 addition & 1 deletion dist/bundle.browser.js

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions dist/bundle.browser.js.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/

/*!
* The buffer module from node.js, for the browser.
*
Expand Down
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.

7 changes: 7 additions & 0 deletions dist/bundle.node.js.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/

/*!
* mime-db
* Copyright(c) 2014 Jonathan Ong
Expand Down
2 changes: 1 addition & 1 deletion dist/bundle.node.js.map

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions dist/types/cache.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import type { FileMetadata, FolderMetadata } from "./types";
declare const cache: {
fileMetadata: Map<string, FileMetadata>;
folderMetadata: Map<string, FolderMetadata>;
importPublicKey: Map<string, CryptoKey>;
importPrivateKey: Map<string, CryptoKey>;
chatKey: Map<string, string>;
noteKeyOwner: Map<string, string>;
noteKeyParticipant: Map<string, string>;
noteTitle: Map<string, string>;
notePreview: Map<string, string>;
noteTagName: Map<string, string>;
chatConversationName: Map<string, string>;
folderLinkKey: Map<string, string>;
};
export default cache;
253 changes: 247 additions & 6 deletions dist/types/crypto/decrypt.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,31 +36,272 @@ export declare class Decrypt {
metadata: string;
key: string;
}): Promise<string>;
/**
* Decrypt metadata using the given private key.
* @date 2/3/2024 - 1:50:10 AM
*
* @public
* @async
* @param {{ metadata: string; privateKey: string }} param0
* @param {string} param0.metadata
* @param {string} param0.privateKey
* @returns {Promise<string>}
*/
metadataPrivate({ metadata, privateKey }: {
metadata: string;
privateKey: string;
}): Promise<string>;
/**
* Decrypt file metadata.
* @date 1/31/2024 - 4:20:32 PM
* @date 2/3/2024 - 1:54:51 AM
*
* @public
* @async
* @param {{ metadata: string }} param0
* @param {{ metadata: string, key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<FileMetadata>}
*/
fileMetadata({ metadata }: {
fileMetadata({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<FileMetadata>;
/**
* Decrypt folder metadata.
* @date 1/31/2024 - 4:26:11 PM
* @date 2/3/2024 - 1:55:17 AM
*
* @public
* @async
* @param {{ metadata: string, key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<FolderMetadata>}
*/
folderMetadata({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<FolderMetadata>;
/**
* Decrypt file metadata using a private key.
* @date 2/3/2024 - 1:58:12 AM
*
* @public
* @async
* @param {{ metadata: string; key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<FileMetadata>}
*/
fileMetadataPrivate({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<FileMetadata>;
/**
* Decrypt folder metadata using a private key.
* @date 2/3/2024 - 1:58:05 AM
*
* @public
* @async
* @param {{ metadata: string; key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<FolderMetadata>}
*/
folderMetadataPrivate({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<FolderMetadata>;
/**
* Decrypt file metadata inside a public link.
* @date 2/6/2024 - 3:05:42 AM
*
* @public
* @async
* @param {{ metadata: string; linkKey: string }} param0
* @param {string} param0.metadata
* @param {string} param0.linkKey
* @returns {Promise<FileMetadata>}
*/
fileMetadataLink({ metadata, linkKey }: {
metadata: string;
linkKey: string;
}): Promise<FileMetadata>;
/**
* Decrypt folder metadata inside a public link.
* @date 2/6/2024 - 3:07:06 AM
*
* @public
* @async
* @param {{ metadata: string }} param0
* @param {{ metadata: string; linkKey: string }} param0
* @param {string} param0.metadata
* @param {string} param0.linkKey
* @returns {Promise<FolderMetadata>}
*/
folderMetadata({ metadata }: {
folderMetadataLink({ metadata, linkKey }: {
metadata: string;
linkKey: string;
}): Promise<FolderMetadata>;
/**
* Decrypt a public link folder encryption key (using given key or master keys).
* @date 2/6/2024 - 3:09:37 AM
*
* @public
* @async
* @param {{ metadata: string; key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<string>}
*/
folderLinkKey({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<string>;
/**
* Decrypts a chat encryption (symmetric) key.
* @date 2/6/2024 - 12:54:25 AM
*
* @public
* @async
* @param {{metadata: string, privateKey: string}} param0
* @param {string} param0.metadata
* @param {string} param0.privateKey
* @returns {Promise<string>}
*/
chatKey({ metadata, privateKey }: {
metadata: string;
privateKey: string;
}): Promise<string>;
/**
* Decrypts a chat message with the given participant metadata (participant metadata includes the symmetric chat encryption key).
* @date 2/6/2024 - 12:57:06 AM
*
* @public
* @async
* @param {{
* message: string
* metadata: string
* privateKey: string
* }} param0
* @param {string} param0.message
* @param {string} param0.metadata
* @param {string} param0.privateKey
* @returns {Promise<string>}
*/
chatMessage({ message, metadata, privateKey }: {
message: string;
metadata: string;
privateKey: string;
}): Promise<string>;
/**
* Decrypts the symmetric note encryption key with the given owner metadata.
* @date 2/6/2024 - 1:01:59 AM
*
* @public
* @async
* @param {{ metadata: string; key?: string }} param0
* @param {string} param0.metadata
* @param {string} param0.key
* @returns {Promise<string>}
*/
noteKeyOwner({ metadata, key }: {
metadata: string;
key?: string;
}): Promise<string>;
/**
* Decrypt a symmetric note encryption key using participant metadata and their private key.
* @date 2/6/2024 - 2:47:34 AM
*
* @public
* @async
* @param {{metadata: string, privateKey: string}} param0
* @param {string} param0.metadata
* @param {string} param0.privateKey
* @returns {Promise<string>}
*/
noteKeyParticipant({ metadata, privateKey }: {
metadata: string;
privateKey: string;
}): Promise<string>;
/**
* Decrypt note content using the note's symmetric encryption key.
* @date 2/6/2024 - 2:50:15 AM
*
* @public
* @async
* @param {{content: string, key: string}} param0
* @param {string} param0.content
* @param {string} param0.key
* @returns {Promise<string>}
*/
noteContent({ content, key }: {
content: string;
key: string;
}): Promise<string>;
/**
* Decrypt a note's title using the note's symmetric encryption key.
* @date 2/6/2024 - 2:52:02 AM
*
* @public
* @async
* @param {{title: string, key: string}} param0
* @param {string} param0.title
* @param {string} param0.key
* @returns {Promise<string>}
*/
noteTitle({ title, key }: {
title: string;
key: string;
}): Promise<string>;
/**
* Decrypt a note's preview using the note's symmetric encryption key.
* @date 2/6/2024 - 2:53:35 AM
*
* @public
* @async
* @param {{ preview: string; key: string }} param0
* @param {string} param0.preview
* @param {string} param0.key
* @returns {Promise<string>}
*/
notePreview({ preview, key }: {
preview: string;
key: string;
}): Promise<string>;
/**
* Decrypt a note tag name using the master keys or a given key.
* @date 2/6/2024 - 2:56:38 AM
*
* @public
* @async
* @param {{name: string, key?: string}} param0
* @param {string} param0.name
* @param {string} param0.key
* @returns {Promise<string>}
*/
noteTagName({ name, key }: {
name: string;
key?: string;
}): Promise<string>;
/**
* Decrypt a chat conversation name using the participants metadata and private key.
* @date 2/6/2024 - 2:59:41 AM
*
* @public
* @async
* @param {{
* name: string
* metadata: string
* privateKey: string
* }} param0
* @param {string} param0.name
* @param {string} param0.metadata
* @param {string} param0.privateKey
* @returns {Promise<string>}
*/
chatConversationName({ name, metadata, privateKey }: {
name: string;
metadata: string;
privateKey: string;
}): Promise<string>;
}
export default Decrypt;
Loading

0 comments on commit d218ade

Please sign in to comment.