mirror of https://codeberg.org/pzp/pzp-db.git
get() supports msg hash
This commit is contained in:
parent
448bd44a41
commit
eec9e739c3
|
@ -294,9 +294,12 @@ exports.init = function initDB(peer, config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRecord(msgId) {
|
function getRecord(msgId) {
|
||||||
|
const isUri = msgId.startsWith('ppppp:')
|
||||||
for (let i = 0; i < recs.length; i++) {
|
for (let i = 0; i < recs.length; i++) {
|
||||||
const rec = recs[i]
|
const rec = recs[i]
|
||||||
if (rec && rec.id === msgId) return rec
|
if (!rec) continue
|
||||||
|
if (isUri && rec.id === msgId) return rec
|
||||||
|
else if (!isUri && rec.id.endsWith(msgId)) return rec
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "@ppppp/db",
|
"name": "ppppp-db",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"description": "Default ppppp database",
|
"description": "Default ppppp database",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
const test = require('tape')
|
||||||
|
const path = require('path')
|
||||||
|
const os = require('os')
|
||||||
|
const rimraf = require('rimraf')
|
||||||
|
const SecretStack = require('secret-stack')
|
||||||
|
const caps = require('ssb-caps')
|
||||||
|
const p = require('util').promisify
|
||||||
|
const FeedV1 = require('../lib/feed-v1')
|
||||||
|
const { generateKeypair } = require('./util')
|
||||||
|
|
||||||
|
const DIR = path.join(os.tmpdir(), 'ppppp-db-get')
|
||||||
|
rimraf.sync(DIR)
|
||||||
|
|
||||||
|
const keys = generateKeypair('alice')
|
||||||
|
let peer
|
||||||
|
let msgHash1
|
||||||
|
let msgId1
|
||||||
|
test('setup', async (t) => {
|
||||||
|
peer = SecretStack({ appKey: caps.shs })
|
||||||
|
.use(require('../'))
|
||||||
|
.use(require('ssb-box'))
|
||||||
|
.call(null, { keys, path: DIR })
|
||||||
|
|
||||||
|
await peer.db.loaded()
|
||||||
|
|
||||||
|
const rec1 = await p(peer.db.create)({
|
||||||
|
type: 'post',
|
||||||
|
content: { text: 'I am 1st post' },
|
||||||
|
})
|
||||||
|
msgHash1 = FeedV1.getMsgHash(rec1.msg)
|
||||||
|
msgId1 = FeedV1.getMsgId(rec1.msg)
|
||||||
|
})
|
||||||
|
|
||||||
|
test('get() supports ppppp URIs', async (t) => {
|
||||||
|
const msg = peer.db.get(msgId1)
|
||||||
|
t.ok(msg, 'msg exists')
|
||||||
|
t.equals(msg.content.text, 'I am 1st post')
|
||||||
|
})
|
||||||
|
|
||||||
|
test('get() supports msg hashes', async (t) => {
|
||||||
|
const msg = peer.db.get(msgHash1)
|
||||||
|
t.ok(msg, 'msg exists')
|
||||||
|
t.equals(msg.content.text, 'I am 1st post')
|
||||||
|
})
|
||||||
|
|
||||||
|
test('teardown', (t) => {
|
||||||
|
peer.close(t.end)
|
||||||
|
})
|
Loading…
Reference in New Issue