Skip to content
This repository was archived by the owner on Oct 1, 2021. It is now read-only.

Commit 993cb40

Browse files
committed
Adding correct option recognition
License: MIT Signed-off-by: Adam Uhlir <[email protected]>
1 parent 631b1a6 commit 993cb40

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

migrations/migration-8/index.js

+30-13
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@ const log = require('debug')('ipfs-repo-migrations:migration-8')
88

99
const KEY_PREFIX = 'key_'
1010

11-
function encode(name) {
11+
function encode (name) {
1212
name = Buffer.from(name)
13-
const encoder = new base32.Encoder({type: "rfc4648"});
13+
const encoder = new base32.Encoder({ type: "rfc4648" })
1414
return (KEY_PREFIX + encoder.finalize(name)).toLowerCase()
1515
}
1616

17-
function decode(name) {
17+
function decode (name) {
1818
log(name)
1919
if (!name.startsWith(KEY_PREFIX)) {
2020
throw Error("Unknown format of key's name!")
2121
}
2222

23-
const decoder = new base32.Decoder({type: "rfc4648"});
23+
const decoder = new base32.Decoder({ type: "rfc4648" })
2424
return decoder.finalize(name.replace(KEY_PREFIX, '').toUpperCase())
2525
}
2626

27-
async function processFolder(store, prefix, fileNameProcessor) {
27+
async function processFolder (store, prefix, fileNameProcessor) {
2828
const query = {
29-
prefix: `/${prefix}`,
29+
prefix: `/${prefix}`
3030
}
3131

3232
const files = await store.query(query)
@@ -41,9 +41,18 @@ async function processFolder(store, prefix, fileNameProcessor) {
4141
}
4242
}
4343

44-
async function migrate(repoPath, isBrowser) {
45-
const store = new Datastore(path.join(repoPath, 'keys'), {extension: '.data', createIfMissing: false})
46-
store.open()
44+
async function migrate (repoPath, options, isBrowser) {
45+
let storageBackend
46+
if (options !== undefined
47+
&& options['storageBackends'] !== undefined
48+
&& options['storageBackends']['keys'] !== undefined
49+
) {
50+
storageBackend = options['storageBackends']['keys']
51+
} else {
52+
storageBackend = Datastore
53+
}
54+
55+
const store = new storageBackend(path.join(repoPath, 'keys'), { extension: '.data' })
4756
try {
4857
const info = processFolder(store, 'info', encode)
4958
const data = processFolder(store, 'pkcs8', encode)
@@ -54,10 +63,18 @@ async function migrate(repoPath, isBrowser) {
5463
}
5564
}
5665

57-
async function revert(repoPath, isBrowser) {
58-
const store = new Datastore(path.join(repoPath, 'keys'), {extension: '.data', createIfMissing: false})
59-
store.open()
66+
async function revert (repoPath, options, isBrowser) {
67+
let storageBackend
68+
if (options !== undefined
69+
&& options['storageBackends'] !== undefined
70+
&& options['storageBackends']['keys'] !== undefined
71+
) {
72+
storageBackend = options['storageBackends']['keys']
73+
} else {
74+
storageBackend = Datastore
75+
}
6076

77+
const store = new storageBackend(path.join(repoPath, 'keys'), { extension: '.data' })
6178
try {
6279
const info = processFolder(store, 'info', decode)
6380
const data = processFolder(store, 'pkcs8', decode)
@@ -73,5 +90,5 @@ module.exports = {
7390
description: 'Transforms key\'s names into base32 encoding.',
7491
reversible: true,
7592
migrate,
76-
revert,
93+
revert
7794
}

0 commit comments

Comments
 (0)