diff --git a/src/access-controllers/index.js b/src/access-controllers/index.js index 7a47273..ec850de 100644 --- a/src/access-controllers/index.js +++ b/src/access-controllers/index.js @@ -73,7 +73,6 @@ const removeAccessController = type => { } export { - accessControllers, getAccessController, addAccessController, removeAccessController diff --git a/src/identities/identities.js b/src/identities/identities.js index ea96511..5894567 100644 --- a/src/identities/identities.js +++ b/src/identities/identities.js @@ -5,7 +5,7 @@ * details and providers. */ import Identity, { isIdentity, isEqual, decodeIdentity } from './identity.js' -import { getProviderFor } from './providers/index.js' +import { getIdentityProvider } from './providers/index.js' // import DIDIdentityProvider from './identity-providers/did.js' // import EthIdentityProvider from './identity-providers/ethereum.js' import KeyStore, { signMessage, verifyMessage } from '../key-store.js' @@ -75,7 +75,7 @@ const Identities = async ({ keystore, path, storage, ipfs } = {}) => { options.keystore = keystore const type = options.type || DefaultProviderType - const Provider = getProviderFor(type).default + const Provider = getIdentityProvider(type).default const identityProvider = Provider(options) const id = await identityProvider.getId(options) const privateKey = await keystore.getKey(id) || await keystore.createKey(id) @@ -117,7 +117,7 @@ const Identities = async ({ keystore, path, storage, ipfs } = {}) => { return isEqual(identity, verifiedIdentity) } - const Provider = getProviderFor(identity.type) + const Provider = getIdentityProvider(identity.type) const identityVerified = await Provider.verifyIdentity(identity) if (identityVerified) { diff --git a/src/identities/index.js b/src/identities/index.js index 4ed6ab8..8f0e7e2 100644 --- a/src/identities/index.js +++ b/src/identities/index.js @@ -7,7 +7,6 @@ export { } from './identity.js' export { - PublicKeyIdentityProvider, addIdentityProvider, - identityProviders + getIdentityProvider } from './providers/index.js' diff --git a/src/identities/providers/index.js b/src/identities/providers/index.js index cb140d7..2387052 100644 --- a/src/identities/providers/index.js +++ b/src/identities/providers/index.js @@ -74,7 +74,7 @@ const isProviderSupported = (type) => { * not supported. * @static */ -const getProviderFor = (type) => { +const getIdentityProvider = (type) => { if (!isProviderSupported(type)) { throw new Error(`IdentityProvider type '${type}' is not supported`) } @@ -108,6 +108,4 @@ const addIdentityProvider = (IdentityProvider) => { identityProviders[IdentityProvider.type] = IdentityProvider } -// export { default as DIDIdentityProvider } from './did.js' -// export { default as EthIdentityProvider } from './ethereum.js' -export { identityProviders, addIdentityProvider, getProviderFor, PublicKeyIdentityProvider } +export { addIdentityProvider, getIdentityProvider, PublicKeyIdentityProvider } diff --git a/src/index.js b/src/index.js index 62de267..8be5aaa 100644 --- a/src/index.js +++ b/src/index.js @@ -22,15 +22,14 @@ export { default as KeyStore } from './key-store.js' export { addAccessController, removeAccessController, - getAccessController, - accessControllers + getAccessController } from './access-controllers/index.js' export { Identities, isIdentity, - identityProviders, - addIdentityProvider + addIdentityProvider, + getIdentityProvider } from './identities/index.js' export { diff --git a/test/identities/identities.test.js b/test/identities/identities.test.js index 2b58584..d1958ae 100644 --- a/test/identities/identities.test.js +++ b/test/identities/identities.test.js @@ -3,11 +3,11 @@ import rmrf from 'rimraf' import { copy } from 'fs-extra' import { toString as uint8ArrayToString } from 'uint8arrays/to-string' import KeyStore, { signMessage, verifyMessage } from '../../src/key-store.js' -import { Identities, identityProviders, addIdentityProvider, Identity, PublicKeyIdentityProvider } from '../../src/identities/index.js' +import { Identities, addIdentityProvider, getIdentityProvider, Identity } from '../../src/identities/index.js' import testKeysPath from '../fixtures/test-keys-path.js' import { CustomIdentityProvider, FakeIdentityProvider } from '../fixtures/providers.js' -const type = PublicKeyIdentityProvider.type +const type = 'publickey' const keysPath = './testkeys' describe('Identities', function () { @@ -15,15 +15,6 @@ describe('Identities', function () { await copy(testKeysPath, keysPath) }) - afterEach(async () => { - // reset the identityProviders. - for (const [key] of Object.entries(identityProviders)) { - if (key !== 'publickey') { - delete identityProviders[key] - } - } - }) - after(async () => { await rmrf(keysPath) }) @@ -335,14 +326,10 @@ describe('Identities', function () { }) describe('manage identity providers', () => { - it('has default identity providers', () => { - assert.deepStrictEqual(identityProviders, { publickey: PublicKeyIdentityProvider }) - }) - it('can add an identity provider', () => { addIdentityProvider(CustomIdentityProvider) - assert.deepStrictEqual(identityProviders, { publickey: PublicKeyIdentityProvider, custom: CustomIdentityProvider }) + assert.deepStrictEqual(getIdentityProvider('custom'), CustomIdentityProvider) }) }) }) diff --git a/test/orbitdb-access-controllers.test.js b/test/orbitdb-access-controllers.test.js index 2b81131..55251a9 100644 --- a/test/orbitdb-access-controllers.test.js +++ b/test/orbitdb-access-controllers.test.js @@ -2,7 +2,9 @@ import { strictEqual, deepStrictEqual, notStrictEqual } from 'assert' import rmrf from 'rimraf' import * as IPFS from 'ipfs-core' import OrbitDB from '../src/orbitdb.js' -import { accessControllers, addAccessController, removeAccessController } from '../src/access-controllers/index.js' +import { getAccessController, addAccessController, removeAccessController } from '../src/access-controllers/index.js' +import IPFSAccessController from '../src/access-controllers/ipfs.js' +import OrbitDBAccessController from '../src/access-controllers/orbitdb.js' import config from './config.js' import pathJoin from '../src/utils/path-join.js' @@ -47,12 +49,8 @@ describe('Add a custom access controller', function () { describe('Default supported access controllers', function () { it('returns default supported access controllers', async () => { - const expected = [ - 'ipfs', - 'orbitdb' - ] - - deepStrictEqual(Object.keys(accessControllers), expected) + deepStrictEqual(getAccessController('ipfs'), IPFSAccessController) + deepStrictEqual(getAccessController('orbitdb'), OrbitDBAccessController) }) it('throws and error if custom access controller hasn\'t been added', async () => { @@ -93,24 +91,20 @@ describe('Add a custom access controller', function () { }) it('returns custom access controller after adding it', async () => { - const expected = [ - 'ipfs', - 'orbitdb', - type - ] - - deepStrictEqual(Object.keys(accessControllers), expected) + deepStrictEqual(getAccessController(type), CustomAccessController) }) it('can be removed from supported access controllers', async () => { - const expected = [ - 'ipfs', - 'orbitdb' - ] - + let err removeAccessController(type) - deepStrictEqual(Object.keys(accessControllers), expected) + try { + getAccessController(type) + } catch (e) { + err = e.toString() + } + + deepStrictEqual(err, 'Error: AccessController type \'custom!\' is not supported') }) }) })