mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-06-12 00:56:36 +00:00
refactor: Standardize module loader functions. Do not expose module lists.
This commit is contained in:
parent
8b93553d0e
commit
4c3a338205
@ -73,7 +73,6 @@ const removeAccessController = type => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
accessControllers,
|
|
||||||
getAccessController,
|
getAccessController,
|
||||||
addAccessController,
|
addAccessController,
|
||||||
removeAccessController
|
removeAccessController
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* details and providers.
|
* details and providers.
|
||||||
*/
|
*/
|
||||||
import Identity, { isIdentity, isEqual, decodeIdentity } from './identity.js'
|
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 DIDIdentityProvider from './identity-providers/did.js'
|
||||||
// import EthIdentityProvider from './identity-providers/ethereum.js'
|
// import EthIdentityProvider from './identity-providers/ethereum.js'
|
||||||
import KeyStore, { signMessage, verifyMessage } from '../key-store.js'
|
import KeyStore, { signMessage, verifyMessage } from '../key-store.js'
|
||||||
@ -75,7 +75,7 @@ const Identities = async ({ keystore, path, storage, ipfs } = {}) => {
|
|||||||
options.keystore = keystore
|
options.keystore = keystore
|
||||||
|
|
||||||
const type = options.type || DefaultProviderType
|
const type = options.type || DefaultProviderType
|
||||||
const Provider = getProviderFor(type).default
|
const Provider = getIdentityProvider(type).default
|
||||||
const identityProvider = Provider(options)
|
const identityProvider = Provider(options)
|
||||||
const id = await identityProvider.getId(options)
|
const id = await identityProvider.getId(options)
|
||||||
const privateKey = await keystore.getKey(id) || await keystore.createKey(id)
|
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)
|
return isEqual(identity, verifiedIdentity)
|
||||||
}
|
}
|
||||||
|
|
||||||
const Provider = getProviderFor(identity.type)
|
const Provider = getIdentityProvider(identity.type)
|
||||||
|
|
||||||
const identityVerified = await Provider.verifyIdentity(identity)
|
const identityVerified = await Provider.verifyIdentity(identity)
|
||||||
if (identityVerified) {
|
if (identityVerified) {
|
||||||
|
@ -7,7 +7,6 @@ export {
|
|||||||
} from './identity.js'
|
} from './identity.js'
|
||||||
|
|
||||||
export {
|
export {
|
||||||
PublicKeyIdentityProvider,
|
|
||||||
addIdentityProvider,
|
addIdentityProvider,
|
||||||
identityProviders
|
getIdentityProvider
|
||||||
} from './providers/index.js'
|
} from './providers/index.js'
|
||||||
|
@ -74,7 +74,7 @@ const isProviderSupported = (type) => {
|
|||||||
* not supported.
|
* not supported.
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
const getProviderFor = (type) => {
|
const getIdentityProvider = (type) => {
|
||||||
if (!isProviderSupported(type)) {
|
if (!isProviderSupported(type)) {
|
||||||
throw new Error(`IdentityProvider type '${type}' is not supported`)
|
throw new Error(`IdentityProvider type '${type}' is not supported`)
|
||||||
}
|
}
|
||||||
@ -108,6 +108,4 @@ const addIdentityProvider = (IdentityProvider) => {
|
|||||||
identityProviders[IdentityProvider.type] = IdentityProvider
|
identityProviders[IdentityProvider.type] = IdentityProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
// export { default as DIDIdentityProvider } from './did.js'
|
export { addIdentityProvider, getIdentityProvider, PublicKeyIdentityProvider }
|
||||||
// export { default as EthIdentityProvider } from './ethereum.js'
|
|
||||||
export { identityProviders, addIdentityProvider, getProviderFor, PublicKeyIdentityProvider }
|
|
||||||
|
@ -22,15 +22,14 @@ export { default as KeyStore } from './key-store.js'
|
|||||||
export {
|
export {
|
||||||
addAccessController,
|
addAccessController,
|
||||||
removeAccessController,
|
removeAccessController,
|
||||||
getAccessController,
|
getAccessController
|
||||||
accessControllers
|
|
||||||
} from './access-controllers/index.js'
|
} from './access-controllers/index.js'
|
||||||
|
|
||||||
export {
|
export {
|
||||||
Identities,
|
Identities,
|
||||||
isIdentity,
|
isIdentity,
|
||||||
identityProviders,
|
addIdentityProvider,
|
||||||
addIdentityProvider
|
getIdentityProvider
|
||||||
} from './identities/index.js'
|
} from './identities/index.js'
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
@ -3,11 +3,11 @@ import rmrf from 'rimraf'
|
|||||||
import { copy } from 'fs-extra'
|
import { copy } from 'fs-extra'
|
||||||
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
||||||
import KeyStore, { signMessage, verifyMessage } from '../../src/key-store.js'
|
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 testKeysPath from '../fixtures/test-keys-path.js'
|
||||||
import { CustomIdentityProvider, FakeIdentityProvider } from '../fixtures/providers.js'
|
import { CustomIdentityProvider, FakeIdentityProvider } from '../fixtures/providers.js'
|
||||||
|
|
||||||
const type = PublicKeyIdentityProvider.type
|
const type = 'publickey'
|
||||||
const keysPath = './testkeys'
|
const keysPath = './testkeys'
|
||||||
|
|
||||||
describe('Identities', function () {
|
describe('Identities', function () {
|
||||||
@ -15,15 +15,6 @@ describe('Identities', function () {
|
|||||||
await copy(testKeysPath, keysPath)
|
await copy(testKeysPath, keysPath)
|
||||||
})
|
})
|
||||||
|
|
||||||
afterEach(async () => {
|
|
||||||
// reset the identityProviders.
|
|
||||||
for (const [key] of Object.entries(identityProviders)) {
|
|
||||||
if (key !== 'publickey') {
|
|
||||||
delete identityProviders[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
after(async () => {
|
after(async () => {
|
||||||
await rmrf(keysPath)
|
await rmrf(keysPath)
|
||||||
})
|
})
|
||||||
@ -335,14 +326,10 @@ describe('Identities', function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('manage identity providers', () => {
|
describe('manage identity providers', () => {
|
||||||
it('has default identity providers', () => {
|
|
||||||
assert.deepStrictEqual(identityProviders, { publickey: PublicKeyIdentityProvider })
|
|
||||||
})
|
|
||||||
|
|
||||||
it('can add an identity provider', () => {
|
it('can add an identity provider', () => {
|
||||||
addIdentityProvider(CustomIdentityProvider)
|
addIdentityProvider(CustomIdentityProvider)
|
||||||
|
|
||||||
assert.deepStrictEqual(identityProviders, { publickey: PublicKeyIdentityProvider, custom: CustomIdentityProvider })
|
assert.deepStrictEqual(getIdentityProvider('custom'), CustomIdentityProvider)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -2,7 +2,9 @@ import { strictEqual, deepStrictEqual, notStrictEqual } from 'assert'
|
|||||||
import rmrf from 'rimraf'
|
import rmrf from 'rimraf'
|
||||||
import * as IPFS from 'ipfs-core'
|
import * as IPFS from 'ipfs-core'
|
||||||
import OrbitDB from '../src/orbitdb.js'
|
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 config from './config.js'
|
||||||
import pathJoin from '../src/utils/path-join.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 () {
|
describe('Default supported access controllers', function () {
|
||||||
it('returns default supported access controllers', async () => {
|
it('returns default supported access controllers', async () => {
|
||||||
const expected = [
|
deepStrictEqual(getAccessController('ipfs'), IPFSAccessController)
|
||||||
'ipfs',
|
deepStrictEqual(getAccessController('orbitdb'), OrbitDBAccessController)
|
||||||
'orbitdb'
|
|
||||||
]
|
|
||||||
|
|
||||||
deepStrictEqual(Object.keys(accessControllers), expected)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('throws and error if custom access controller hasn\'t been added', async () => {
|
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 () => {
|
it('returns custom access controller after adding it', async () => {
|
||||||
const expected = [
|
deepStrictEqual(getAccessController(type), CustomAccessController)
|
||||||
'ipfs',
|
|
||||||
'orbitdb',
|
|
||||||
type
|
|
||||||
]
|
|
||||||
|
|
||||||
deepStrictEqual(Object.keys(accessControllers), expected)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('can be removed from supported access controllers', async () => {
|
it('can be removed from supported access controllers', async () => {
|
||||||
const expected = [
|
let err
|
||||||
'ipfs',
|
|
||||||
'orbitdb'
|
|
||||||
]
|
|
||||||
|
|
||||||
removeAccessController(type)
|
removeAccessController(type)
|
||||||
|
|
||||||
deepStrictEqual(Object.keys(accessControllers), expected)
|
try {
|
||||||
|
getAccessController(type)
|
||||||
|
} catch (e) {
|
||||||
|
err = e.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
deepStrictEqual(err, 'Error: AccessController type \'custom!\' is not supported')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user