create() returns both URI and URL

This commit is contained in:
Andre Staltz 2023-07-10 16:26:51 +03:00
parent 55c0bd2844
commit 1b5b35bb14
No known key found for this signature in database
GPG Key ID: 9EDE23EA7E8A4890
3 changed files with 12 additions and 7 deletions

View File

@ -169,7 +169,7 @@ module.exports = {
/**
* @param {CreateOpts} opts
* @param {CB<string>} cb
* @param {CB<{uri: string, url: string}>} cb
*/
async function create(opts, cb) {
if (typeof opts !== 'object') {
@ -223,7 +223,8 @@ module.exports = {
const followCommand = `follow/${opts.id}`
const promiseCommand = `promise.follow/identity.${opts.id}/${token}`
const uri = `ppppp://invite/${joinCommand}/${followCommand}/${promiseCommand}`
cb(null, uri)
const url = `http://${host}/invite#${encodeURIComponent(uri)}`
cb(null, {uri, url})
}
return { create, parse }

View File

@ -43,13 +43,13 @@
"scripts": {
"build": "tsc",
"test": "node --test",
"format-code": "prettier --write \"*.js\" \"(test|lib)/*.js\"",
"format-code-staged": "pretty-quick --staged --pattern \"*.js\" --pattern \"(test|lib)/*.js\"",
"format-code": "prettier --write \"(test|lib)/**/*.js\"",
"format-code-staged": "pretty-quick --staged --pattern \"(test|lib)/**/*.js\"",
"coverage": "c8 --reporter=lcov npm run test"
},
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
"pre-commit": "npm run format-code-staged"
}
}
}

View File

@ -74,8 +74,8 @@ test('create()', async (t) => {
},
})
const uri = await p(stack.invite.create)({
type: "follow",
const { uri, url } = await p(stack.invite.create)({
type: 'follow',
_hubMsAddr: 'net:example.com:8008~shse:HUB_PUBKEY',
id: 'MOCK_ID',
})
@ -83,6 +83,10 @@ test('create()', async (t) => {
uri,
`ppppp://invite/join/example.com/8008/HUB_PUBKEY/MOCK_TOKEN/follow/MOCK_ID/promise.follow/identity.MOCK_ID/MOCK_PROMISE`
)
assert.equal(
url,
`http://example.com/invite#ppppp%3A%2F%2Finvite%2Fjoin%2Fexample.com%2F8008%2FHUB_PUBKEY%2FMOCK_TOKEN%2Ffollow%2FMOCK_ID%2Fpromise.follow%2Fidentity.MOCK_ID%2FMOCK_PROMISE`
)
assert.ok(connectCalled)
assert.ok(createTokenCalled)