orgnote-api 0.18.2 → 0.19.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.
@@ -1,4 +1,4 @@
1
- import { encryptViaKeys, decryptViaKeys, encryptViaPassword, decryptViaPassword, NoKeysProvidedError, NoPasswordProvidedError, IncorrectOrMissingPrivateKeyPasswordError, encrypt, decrypt, armor, unarmor, } from "../encryption.js";
1
+ import { encryptViaKeys, decryptViaKeys, encryptViaPassword, decryptViaPassword, NoKeysProvidedError, NoPasswordProvidedError, IncorrectOrMissingPrivateKeyPasswordError, encrypt, decrypt, armor, unarmor, ImpossibleToDecryptWithProvidedKeysError, } from "../encryption.js";
2
2
  import { test, expect } from 'vitest';
3
3
  import { armoredPublicKey, armoredPrivateKey, privateKeyPassphrase, } from "./encryption-keys.js";
4
4
  import { ModelsPublicNoteEncryptionTypeEnum } from "../../remote-api/index.js";
@@ -285,3 +285,58 @@ test('Should decrypt value from provided real world data and passwords', async (
285
285
  });
286
286
  expect(decryptedMessage).toEqual('Hello world!');
287
287
  });
288
+ test.only('Should raise error when incorrect encryption key are provided', async () => {
289
+ const armoredContent = `-----BEGIN PGP MESSAGE-----
290
+
291
+ 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
328
+ =vQdH
329
+ -----END PGP MESSAGE-----
330
+ `;
331
+ try {
332
+ const decryptedMessage = await decrypt({
333
+ content: armoredContent,
334
+ type: 'gpgPassword',
335
+ format: 'utf8',
336
+ password: 'qweqwebebe1',
337
+ });
338
+ }
339
+ catch (e) {
340
+ expect(e).toBeInstanceOf(ImpossibleToDecryptWithProvidedKeysError);
341
+ }
342
+ });
@@ -16,10 +16,9 @@ export interface CommandMeta<T = any> extends Partial<CommandPreview> {
16
16
  keySequence?: string | string[];
17
17
  group?: CommandGroup;
18
18
  allowOnInput?: boolean;
19
- ignorePrompt?: boolean;
20
19
  interactive?: boolean;
21
20
  system?: boolean;
22
- available?: () => boolean;
21
+ disabled?: () => boolean;
23
22
  context?: {
24
23
  [key: string]: T;
25
24
  };
@@ -27,5 +27,7 @@ export declare enum DefaultCommands {
27
27
  OPEN_EXTENSIONS = "extensions",
28
28
  SELECT_FILE_PATH = "select file path",
29
29
  PICK_SYNC_DIR = "pick sync dir",
30
- SYNC_FILES = "sync files"
30
+ SYNC_FILES = "sync files",
31
+ ENCRYPT_NOTE = "encrypt note",
32
+ DECRYPT_NOTE = "decrypt note"
31
33
  }
@@ -38,6 +38,8 @@ export var DefaultCommands;
38
38
  // Native mobile specific
39
39
  DefaultCommands["SELECT_FILE_PATH"] = "select file path";
40
40
  DefaultCommands["PICK_SYNC_DIR"] = "pick sync dir";
41
- // File sync
41
+ // File management
42
42
  DefaultCommands["SYNC_FILES"] = "sync files";
43
+ DefaultCommands["ENCRYPT_NOTE"] = "encrypt note";
44
+ DefaultCommands["DECRYPT_NOTE"] = "decrypt note";
43
45
  })(DefaultCommands || (DefaultCommands = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orgnote-api",
3
- "version": "0.18.2",
3
+ "version": "0.19.0",
4
4
  "description": "Official API for creating extensions for OrgNote app",
5
5
  "type": "module",
6
6
  "main": "./index.js",