solid-ui 2.4.27-a6ef5829 → 2.4.27-a8ee341e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/solid-ui.js +480 -432
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/chat/keys.d.ts +7 -0
- package/lib/chat/keys.d.ts.map +1 -1
- package/lib/chat/keys.js +95 -160
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +36 -9
- package/lib/chat/message.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +10 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
- package/lib/utils/{cryptoKeyHelpers.js → keyHelpers/accessData.js} +67 -69
- package/lib/utils/keyHelpers/accessData.js.map +1 -0
- package/lib/utils/keyHelpers/acl.d.ts +20 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
- package/lib/utils/keyHelpers/acl.js +93 -0
- package/lib/utils/keyHelpers/acl.js.map +1 -0
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +1 -1
- package/lib/utils/cryptoKeyHelpers.d.ts +0 -6
- package/lib/utils/cryptoKeyHelpers.d.ts.map +0 -1
- package/lib/utils/cryptoKeyHelpers.js.map +0 -1
package/lib/chat/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","names":["_infinite","require","_messageTools","_bookmarks","_chatLogic","debug","_interopRequireWildcard","_iconBase","_solidLogic","_login","_index","ns","pad","style","utils","widgets","_signature","_keys","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","dom","window","document","messageBodyStyle","label","elementForImageURI","imageUri","options","img","createElement","height","inlineImageHeightEms","trim","setAttribute","anchor","appendChild","makeDraggable","$rdf","sym","text","term","a","uri","addEventListener","openHrefInOutlineMode","textContent","nick","person","store","any","foaf","creatorAndDate","td1","creator","date","message","nickAnchor","fetcher","nowOrWhenFetched","doc","undefined","_ok","_body","creatorAndDateHorizontal","dateBit","fontSize","marginLeft","renderMessageRow","channelObject","fresh","userContext","colorizeByAuthor","dct","latestVersion","mostRecentVersion","latestVersionCreator","msgId","content","sioc","signature","concat","SEC","msg","getBlankMsg","id","created","maker","warn","getPublicKey","then","publicKey","log","regex","match","verifySignature","originalMessage","originalVersion","edited","sameTerm","sortDate","the","messageRow","AJAR_date","AJAR_subject","authorDateOnLeft","setImage","shortDate","bothDates","td2","isURI","para","isImage","expandImagesInline","anc","href","bgcolor","lightColorHash","getBgColor","strip","sentimentStripLinked","children","td3","toolsButton","button","icons","iconBase","_event","toolTR","parentNode","removeChild","toolsTR","tools","messageToolbar","nextSibling","parentElement","insertBefore","toolsTD","switchToEditor","messageTable","editRow","renderMessageEditor","originalRow","visibility","revertEditing","messageEditor","handleFieldInput","_x","_handleFieldInput","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","wrap","_callee5$","_context6","prev","sendMessage","field","stop","_x2","_x3","_sendMessage","_callee6","fromMainField","sendComplete","statusArea","_callee6$","_context7","_sendComplete","_text2","insertMessageIntoTable","oldRow","backgroundColor","disabled","scrollIntoView","newestFirst","focus","select","updateMessage","sent","t0","errorMessageBlock","abrupt","droppedFileHandler","files","base","chatDocument","dir","uploadFiles","_ref","_callee","theFile","destURI","_callee$","_context2","_x4","_x5","droppedURIHandler","_ref2","_callee2","uris","_iterator","_step","_callee2$","_context3","finish","_x6","turnOnInput","getImageDoc","imageDoc","Date","now","tookPicture","_x7","_tookPicture","_callee4","_callee4$","_context5","menuButton","menuHandler","buttonStyle","rhs","me","authn","currentUser","menuOptions","div","newBase","event","chatChannel","lhs","middle","innerHTML","rows","anyValue","_ref3","_callee3","_callee3$","_context4","code","shiftKey","shiftEnterSendsMessage","_x8","makeDropTarget","sendButton","sendIcon","cancelButton","dateFolder","leafDocumentFromDate","media","cameraButton","recordParticipation","channel","context","ensureLoggedIn","assign","findBookmarkDocument","_context"],"sources":["../../src/chat/message.js"],"sourcesContent":["/** UI code for individual messages: display them, edit them\n *\n * @packageDocumentation\n */\n\n/* global $rdf */\nimport { insertMessageIntoTable } from './infinite'\nimport { messageToolbar, sentimentStripLinked } from './messageTools'\nimport { findBookmarkDocument } from './bookmarks'\nimport { mostRecentVersion, originalVersion } from './chatLogic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { store, authn } from 'solid-logic'\nimport { ensureLoggedIn } from '../login/login'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { getBlankMsg, verifySignature, SEC } from './signature'\nimport { getPrivateKey, getPublicKey } from './keys'\n\nconst dom = window.document\nconst messageBodyStyle = style.messageBodyStyle\n\nconst label = utils.label\n\n/**\n * HTML component for an image\n */\nexport function elementForImageURI (imageUri, options) {\n const img = dom.createElement('img')\n let height = '10'\n if (options.inlineImageHeightEms) {\n height = ('' + options.inlineImageHeightEms).trim()\n }\n img.setAttribute(\n 'style',\n 'max-height: ' + height + 'em; border-radius: 1em; margin: 0.7em;'\n )\n // widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler)\n if (imageUri) img.setAttribute('src', imageUri)\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', imageUri)\n anchor.setAttribute('target', 'images')\n anchor.appendChild(img)\n widgets.makeDraggable(img, $rdf.sym(imageUri))\n return anchor\n}\n\nconst anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n}\n\nfunction nick (person) {\n const s = store.any(person, ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + label(person)\n}\n\n/**\n * Displays creator and date for a chat message\n * inside the `td1` element\n */\nexport function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n}\n\n/**\n * Horizontally displays creator and date for a chat message\n * inside the `td1` element\n */\nexport function creatorAndDateHorizontal (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(label(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n const dateBit = td1.appendChild(anchor(date, message))\n dateBit.style.fontSize = '80%'\n dateBit.style.marginLeft = '1em'\n td1.appendChild(dom.createElement('br'))\n}\n\n/**\n * Renders a chat message, read-only mode\n */\nexport function renderMessageRow (channelObject, message, fresh, options, userContext) {\n const colorizeByAuthor =\n options.colorizeByAuthor === '1' || options.colorizeByAuthor === true\n\n const creator = store.any(message, ns.foaf('maker'))\n const date = store.any(message, ns.dct('created'))\n const latestVersion = mostRecentVersion(message)\n const latestVersionCreator = store.any(latestVersion, ns.foaf('maker'))\n\n // use latest content if same owner, else use original\n const msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message\n const content = store.any(msgId, ns.sioc('content'))\n const signature = store.any(msgId, $rdf.sym(`${SEC}Proof`))\n\n // set message object\n const msg = getBlankMsg()\n msg.id = msgId.uri\n msg.created = store.any(msgId, ns.dct('created')).value\n msg.content = content.value\n msg.maker = creator.uri\n\n // unsigned message\n if (!signature?.value) debug.warn(msgId.uri + ' is unsigned') // TODO replace with UI (colored message ?)\n\n // signed message, get public key and check signature\n else {\n getPublicKey(creator).then(publicKey => {\n debug.log(creator.uri + '\\n' + msg.created + '\\n' + msg.id + '\\n' + publicKey)\n if (!publicKey) {\n // TODO try to recreate the publicKey\n // if(me.uri === creator.uri) await getPrivateKey(creator)\n debug.warn('message is signed but ' + creator.uri + ' is missing publicKey')\n }\n // check that publicKey is a valid hex string\n const regex = /[0-9A-Fa-f]{6}/g\n if (!publicKey?.match(regex)) debug.warn('invalid publicKey hex string\\n' + creator.uri + '\\n' + publicKey)\n // verify signature\n else if (signature?.value && !verifySignature(signature?.value, msg, publicKey)) debug.warn('invalid signature\\n' + msg.id)\n })\n }\n\n const originalMessage = originalVersion(message)\n const edited = !message.sameTerm(originalMessage)\n\n const sortDate = store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) // In message\n\n const messageRow = dom.createElement('tr')\n messageRow.AJAR_date = sortDate.value\n messageRow.AJAR_subject = message\n\n const td1 = dom.createElement('td')\n messageRow.appendChild(td1)\n if (!options.authorDateOnLeft) {\n const img = dom.createElement('img')\n img.setAttribute(\n 'style',\n 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;'\n )\n widgets.setImage(img, creator)\n td1.appendChild(img)\n } else {\n creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message)\n }\n let bothDates = widgets.shortDate(sortDate.value)\n if (edited) {\n bothDates += ' ... ' + widgets.shortDate(date.value)\n }\n\n // Render the content ot the message itself\n const td2 = messageRow.appendChild(dom.createElement('td'))\n\n if (!options.authorDateOnLeft) {\n creatorAndDateHorizontal(\n td2,\n creator,\n bothDates, // widgets.shortDate(dateString)\n message\n )\n }\n const text = content.value.trim()\n const isURI = /^https?:\\/[^ <>]*$/i.test(text)\n let para = null\n if (isURI) {\n const isImage = /\\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text) // @@ Should use content-type not URI\n if (isImage && options.expandImagesInline) {\n const img = elementForImageURI(text, options)\n td2.appendChild(img)\n } else {\n // Link but not Image\n const anc = td2.appendChild(dom.createElement('a'))\n para = anc.appendChild(dom.createElement('p'))\n anc.href = text\n para.textContent = text\n td2.appendChild(anc)\n }\n } else {\n // text\n para = dom.createElement('p')\n td2.appendChild(para)\n para.textContent = text\n }\n if (para) {\n const bgcolor = colorizeByAuthor\n ? pad.lightColorHash(creator)\n : getBgColor(fresh)\n para.setAttribute(\n 'style',\n messageBodyStyle + 'background-color: ' + bgcolor + ';'\n )\n }\n\n function getBgColor (fresh) {\n return fresh ? '#e8ffe8' : 'white'\n }\n\n // Sentiment strip\n const strip = sentimentStripLinked(message, message.doc())\n if (strip.children.length) {\n td2.appendChild(dom.createElement('br'))\n td2.appendChild(strip)\n }\n\n // Message tool bar button\n const td3 = dom.createElement('td')\n messageRow.appendChild(td3)\n const toolsButton = widgets.button(\n dom,\n icons.iconBase + 'noun_243787.svg',\n '...'\n )\n td3.appendChild(toolsButton)\n toolsButton.addEventListener('click', function (_event) {\n if (messageRow.toolTR) {\n // already got a toolbar? Toogle\n messageRow.parentNode.removeChild(messageRow.toolTR)\n delete messageRow.toolTR\n return\n }\n const toolsTR = dom.createElement('tr')\n const tools = messageToolbar(message, messageRow, userContext, channelObject)\n tools.style =\n 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;' // @@ fix\n if (messageRow.nextSibling) {\n messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling)\n } else {\n messageRow.parentElement.appendChild(toolsTR)\n }\n messageRow.toolTR = toolsTR\n toolsTR.appendChild(dom.createElement('td')) // left\n const toolsTD = toolsTR.appendChild(dom.createElement('td'))\n toolsTR.appendChild(dom.createElement('td')) // right\n toolsTD.appendChild(tools)\n })\n return messageRow\n}\n\nexport function switchToEditor (messageRow, message, channelObject, userContext) {\n const messageTable = messageRow.parentNode\n const editRow = renderMessageEditor(channelObject, messageTable, userContext,\n channelObject.options, mostRecentVersion(message))\n messageTable.insertBefore(editRow, messageRow)\n editRow.originalRow = messageRow\n messageRow.style.visibility = 'hidden' // Hide the original message. unhide if user cancels edit\n}\n/* Control for a new message -- or editing an old message ***************\n *\n */\nexport function renderMessageEditor (channelObject, messageTable, userContext, options, originalMessage) {\n function revertEditing (messageEditor) {\n messageEditor.originalRow.style.visibility = 'visible' // restore read-only version\n messageEditor.parentNode.removeChild(messageEditor)\n }\n\n async function handleFieldInput (_event) {\n await sendMessage(field.value, true)\n }\n\n async function sendMessage (text, fromMainField) {\n function sendComplete (message, _text2) {\n // const dateStamp = store.any(message, ns.dct('created'), null, message.doc())\n // const content = $rdf.literal(text2)\n insertMessageIntoTable(channelObject, messageTable, message, false, options, userContext) // not green\n\n if (originalMessage) { // editing another message\n const oldRow = messageEditor.originalRow\n // oldRow.style.display = '' // restore read-only version, re-attack\n if (oldRow.parentNode) {\n oldRow.parentNode.removeChild(oldRow) // No longer needed old version\n } else {\n debug.warn('No parentNode on old message ' + oldRow.textContent)\n oldRow.style.backgroundColor = '#fee'\n oldRow.style.visibility = 'hidden' // @@ FIX THIS AND REMOVE FROM DOM INSTEAD\n }\n messageEditor.parentNode.removeChild(messageEditor) // no longer need editor\n } else {\n if (fromMainField) {\n field.value = '' // clear from out for reuse\n field.setAttribute('style', messageBodyStyle)\n field.disabled = false\n field.scrollIntoView(options.newestFirst) // allign bottom (top)\n field.focus() // Start typing next line immediately\n field.select()\n }\n }\n // await channelObject.div.refresh() // Add new day if nec @@ add back\n }\n\n // const me = authn.currentUser() // Must be logged on or wuld have got login button\n if (fromMainField) {\n field.setAttribute('style', messageBodyStyle + 'color: #bbb;') // pendingedit\n field.disabled = true\n }\n\n let message\n try {\n message = await channelObject.updateMessage(text, originalMessage)\n } catch (err) {\n const statusArea = userContext.statusArea || messageEditor\n statusArea.appendChild(\n widgets.errorMessageBlock(dom, 'Error writing message: ' + err)\n )\n return\n }\n sendComplete(message, text)\n } // sendMessage\n\n // DRAG AND DROP\n function droppedFileHandler (files) {\n const base = messageTable.chatDocument.dir().uri\n widgets.uploadFiles(\n store.fetcher,\n files,\n base + 'Files',\n base + 'Pictures',\n async function (theFile, destURI) {\n // @@@@@@ Wait for each if several\n await sendMessage(destURI)\n }\n )\n }\n\n // When a set of URIs are dropped on the field\n const droppedURIHandler = async function (uris) {\n for (const uri of uris) {\n await sendMessage(uri)\n }\n }\n\n // When we are actually logged on\n function turnOnInput () {\n function getImageDoc () {\n imageDoc = $rdf.sym(\n chatDocument.dir().uri + 'Image_' + Date.now() + '.png'\n )\n return imageDoc\n }\n\n async function tookPicture (imageDoc) {\n if (imageDoc) {\n await sendMessage(imageDoc.uri)\n }\n }\n\n // Body of turnOnInput\n\n let menuButton\n if (options.menuHandler) {\n const menuButton = widgets.button(\n dom, icons.iconBase + 'noun_243787.svg', 'More')\n menuButton.setAttribute('style', style.buttonStyle + 'float: right;')\n // menuButton.addEventListener('click', _event => sendMessage(), false) (done in turnoninput)\n rhs.appendChild(menuButton)\n }\n\n if (options.menuHandler && menuButton) {\n const me = authn.currentUser()\n const menuOptions = {\n me,\n dom,\n div: null, // @@ was: div\n newBase: messageTable.chatDocument.dir().uri\n }\n menuButton.addEventListener(\n 'click',\n event => {\n options.menuHandler(event, channelObject.chatChannel, menuOptions)\n },\n false\n )\n }\n\n const me = authn.currentUser() // If already logged on\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n if (originalMessage) {\n field.value = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n }\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n // Trap the Enter BEFORE it is used ti make a newline\n\n field.addEventListener(\n 'keydown',\n async function (e) {\n // User preference?\n if (e.code === 'Enter') {\n // if (e.keyCode === 13) { // deprocated https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if ((!e.shiftKey && !options.shiftEnterSendsMessage) || (e.shiftKey && options.shiftEnterSendsMessage)) {\n // Shift-Enter just adds a new line\n // (note alt-enter doesn't add newline anyway on my setup - so have to use shift.\n await handleFieldInput(e)\n }\n }\n },\n false\n )\n\n widgets.makeDropTarget(field, droppedURIHandler, droppedFileHandler)\n\n rhs.innerHTML = ''\n\n sendButton = widgets.button(dom, sendIcon, 'Send')\n sendButton.style.float = 'right'\n sendButton.addEventListener('click', _event => handleFieldInput(), false)\n rhs.appendChild(sendButton)\n\n if (originalMessage) { // Are we editing another message?\n const cancelButton = rhs.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'left'\n // cancelButton.firstChild.style.opacity = '0.3' // moved to buttons\n cancelButton.addEventListener('click', _event => revertEditing(messageEditor), false)\n rhs.appendChild(cancelButton)\n }\n\n const chatDocument = channelObject.dateFolder.leafDocumentFromDate(new Date())\n let imageDoc\n\n middle.appendChild(\n media.cameraButton(dom, store, getImageDoc, tookPicture)\n )\n\n pad.recordParticipation(channelObject.channel, channelObject.channel.doc()) // participation =\n } // turn on inpuut\n\n // Body of renderMessageEditor\n\n let sortDate, sendIcon\n if (originalMessage) {\n sortDate = store.anyValue(originalMessage, ns.dct('created'), null, originalMessage.doc())\n // text = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n sendIcon = icons.iconBase + 'noun_1180158.svg' // Green check\n // cancelIcon = icons.iconBase + 'noun_1180156.svg' // Black cross\n } else {\n sendIcon = icons.iconBase + 'noun_383448.svg'\n sortDate = '9999-01-01T00:00:00Z' // ISO format for field sort\n // text = ''\n }\n const messageEditor = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n messageEditor.appendChild(lhs)\n messageEditor.appendChild(middle)\n messageEditor.appendChild(rhs)\n messageEditor.AJAR_date = sortDate\n // messageEditor.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const context = { div: middle, dom }\n\n ensureLoggedIn(context).then(context => {\n // me = context.me\n turnOnInput()\n Object.assign(context, userContext)\n findBookmarkDocument(context).then(_context => {\n // console.log('Bookmark file: ' + context.bookmarkDocument)\n })\n })\n\n return messageEditor\n} // renderMessageEditor\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message.js","names":["_infinite","require","_messageTools","_bookmarks","_chatLogic","debug","_interopRequireWildcard","_iconBase","_solidLogic","_login","_index","ns","pad","style","utils","widgets","_signature","_keys","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","dom","window","document","messageBodyStyle","label","elementForImageURI","imageUri","options","img","createElement","height","inlineImageHeightEms","trim","setAttribute","anchor","appendChild","makeDraggable","$rdf","sym","text","term","a","uri","addEventListener","openHrefInOutlineMode","textContent","nickname","person","store","any","foaf","creatorAndDate","td1","creator","date","message","nickAnchor","fetcher","nowOrWhenFetched","doc","undefined","_ok","_body","creatorAndDateHorizontal","dateBit","fontSize","marginLeft","renderMessageRow","channelObject","fresh","userContext","unsignedMessage","colorizeByAuthor","dct","latestVersion","mostRecentVersion","latestVersionCreator","msgId","content","sioc","signature","concat","SEC","msg","getBlankMsg","id","created","maker","warn","getPublicKey","then","publicKey","log","regex","match","verifySignature","originalMessage","originalVersion","edited","sameTerm","sortDate","the","messageRow","AJAR_date","AJAR_subject","authorDateOnLeft","setImage","shortDate","bothDates","td2","isURI","para","isImage","expandImagesInline","anc","href","bgcolor","lightColorHash","getBgColor","strip","sentimentStripLinked","children","td3","toolsButton","button","icons","iconBase","_event","toolTR","parentNode","removeChild","toolsTR","tools","messageToolbar","nextSibling","parentElement","insertBefore","toolsTD","switchToEditor","messageTable","editRow","renderMessageEditor","originalRow","visibility","revertEditing","messageEditor","handleFieldInput","_x","_handleFieldInput","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","wrap","_callee5$","_context6","prev","sendMessage","field","stop","_x2","_x3","_sendMessage","_callee6","fromMainField","sendComplete","statusArea","_callee6$","_context7","_sendComplete","_text2","insertMessageIntoTable","oldRow","backgroundColor","disabled","scrollIntoView","newestFirst","focus","select","updateMessage","sent","t0","errorMessageBlock","abrupt","droppedFileHandler","files","base","chatDocument","dir","uploadFiles","_ref","_callee","theFile","destURI","_callee$","_context2","_x4","_x5","droppedURIHandler","_ref2","_callee2","uris","_iterator","_step","_callee2$","_context3","finish","_x6","turnOnInput","getImageDoc","imageDoc","Date","now","tookPicture","_x7","_tookPicture","_callee4","_callee4$","_context5","menuButton","menuHandler","buttonStyle","rhs","me","authn","currentUser","menuOptions","div","newBase","event","chatChannel","lhs","middle","innerHTML","rows","anyValue","_ref3","_callee3","_callee3$","_context4","code","shiftKey","shiftEnterSendsMessage","_x8","makeDropTarget","sendButton","sendIcon","cancelButton","dateFolder","leafDocumentFromDate","media","cameraButton","recordParticipation","channel","context","ensureLoggedIn","assign","findBookmarkDocument","_context"],"sources":["../../src/chat/message.js"],"sourcesContent":["/** UI code for individual messages: display them, edit them\n *\n * @packageDocumentation\n */\n\n/* global $rdf */\nimport { insertMessageIntoTable } from './infinite'\nimport { messageToolbar, sentimentStripLinked } from './messageTools'\nimport { findBookmarkDocument } from './bookmarks'\nimport { mostRecentVersion, originalVersion } from './chatLogic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { store, authn } from 'solid-logic'\nimport { ensureLoggedIn } from '../login/login'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { getBlankMsg, verifySignature, SEC } from './signature'\nimport { getPublicKey } from './keys'\n\nconst dom = window.document\nconst messageBodyStyle = style.messageBodyStyle\n\nconst label = utils.label\n\n/**\n * elementForImageURI\n * HTML component for an image\n * @param imageUri\n * @param options { inlineImageHeightEms }\n * @returns HTMLAnchorElement For Image\n */\nexport function elementForImageURI (imageUri, options) {\n const img = dom.createElement('img')\n let height = '10'\n if (options.inlineImageHeightEms) {\n height = ('' + options.inlineImageHeightEms).trim()\n }\n img.setAttribute(\n 'style',\n 'max-height: ' + height + 'em; border-radius: 1em; margin: 0.7em;'\n )\n // widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler)\n if (imageUri) img.setAttribute('src', imageUri)\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', imageUri)\n anchor.setAttribute('target', 'images')\n anchor.appendChild(img)\n widgets.makeDraggable(img, $rdf.sym(imageUri))\n return anchor\n}\n\nconst anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n}\n\nfunction nickname (person) {\n const s = store.any(person, ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + label(person)\n}\n\n/**\n * creatorAndDate\n * Displays creator and date for a chat message\n * inside the `td1` element\n * @param td1\n * @param creator\n * @param date\n * @param message\n * @returns HTMLAnchorElement For Image\n */\nexport function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nickname(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nickname(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n}\n\n/**\n * creatorAndDateHorizontal\n * Horizontally displays creator and date for a chat message\n * inside the `td1` element\n * @param td1\n * @param creator\n * @param date\n * @param message\n * @returns HTMLAnchorElement For Image\n */\nexport function creatorAndDateHorizontal (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(label(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nickname(creator)\n })\n }\n const dateBit = td1.appendChild(anchor(date, message))\n dateBit.style.fontSize = '80%'\n dateBit.style.marginLeft = '1em'\n td1.appendChild(dom.createElement('br'))\n}\n\n/**\n * renderMessageRow\n * Renders a chat message, read-only mode\n * @param channelObject\n * @param message\n * @param fresh\n * @param options\n * @param userContext\n * @returns Message Row HTML Table Element\n */\nexport function renderMessageRow (channelObject, message, fresh, options, userContext) {\n let unsignedMessage = false\n const colorizeByAuthor =\n options.colorizeByAuthor === '1' || options.colorizeByAuthor === true\n\n const creator = store.any(message, ns.foaf('maker'))\n const date = store.any(message, ns.dct('created'))\n const latestVersion = mostRecentVersion(message)\n const latestVersionCreator = store.any(latestVersion, ns.foaf('maker'))\n\n // use latest content if same owner, else use original\n const msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message\n const content = store.any(msgId, ns.sioc('content'))\n const signature = store.any(msgId, $rdf.sym(`${SEC}Proof`))\n\n // set message object\n const msg = getBlankMsg()\n msg.id = msgId.uri\n msg.created = store.any(msgId, ns.dct('created')).value\n msg.content = content.value\n msg.maker = creator.uri\n\n // unsigned message\n if (!signature?.value) {\n unsignedMessage = true\n debug.warn(msgId.uri + ' is unsigned') // TODO replace with UI (colored message ?)\n } else { // signed message, get public key and check signature\n getPublicKey(creator).then(publicKey => {\n debug.log(creator.uri + '\\n' + msg.created + '\\n' + msg.id + '\\n' + publicKey)\n if (!publicKey) {\n // TODO try to recreate the publicKey\n // if(me.uri === creator.uri) await getPrivateKey(creator)\n debug.warn('message is signed but ' + creator.uri + ' is missing publicKey')\n }\n // check that publicKey is a valid hex string\n const regex = /[0-9A-Fa-f]{6}/g\n if (!publicKey?.match(regex)) debug.warn('invalid publicKey hex string\\n' + creator.uri + '\\n' + publicKey)\n // verify signature\n else if (signature?.value && !verifySignature(signature?.value, msg, publicKey)) debug.warn('invalid signature\\n' + msg.id)\n })\n }\n\n const originalMessage = originalVersion(message)\n const edited = !message.sameTerm(originalMessage)\n\n const sortDate = store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) // In message\n\n const messageRow = dom.createElement('tr')\n if (unsignedMessage) messageRow.setAttribute('style', 'background-color: red')\n messageRow.AJAR_date = sortDate.value\n messageRow.AJAR_subject = message\n\n const td1 = dom.createElement('td')\n messageRow.appendChild(td1)\n if (!options.authorDateOnLeft) {\n const img = dom.createElement('img')\n img.setAttribute(\n 'style',\n 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;'\n )\n widgets.setImage(img, creator)\n td1.appendChild(img)\n } else {\n creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message)\n }\n let bothDates = widgets.shortDate(sortDate.value)\n if (edited) {\n bothDates += ' ... ' + widgets.shortDate(date.value)\n }\n\n // Render the content ot the message itself\n const td2 = messageRow.appendChild(dom.createElement('td'))\n\n if (!options.authorDateOnLeft) {\n creatorAndDateHorizontal(\n td2,\n creator,\n bothDates, // widgets.shortDate(dateString)\n message\n )\n }\n const text = content.value.trim()\n const isURI = /^https?:\\/[^ <>]*$/i.test(text)\n let para = null\n if (isURI) {\n const isImage = /\\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text) // @@ Should use content-type not URI\n if (isImage && options.expandImagesInline) {\n const img = elementForImageURI(text, options)\n td2.appendChild(img)\n } else {\n // Link but not Image\n const anc = td2.appendChild(dom.createElement('a'))\n para = anc.appendChild(dom.createElement('p'))\n anc.href = text\n para.textContent = text\n td2.appendChild(anc)\n }\n } else {\n // text\n para = dom.createElement('p')\n td2.appendChild(para)\n para.textContent = text\n }\n if (para) {\n const bgcolor = colorizeByAuthor\n ? pad.lightColorHash(creator)\n : getBgColor(fresh)\n para.setAttribute(\n 'style',\n messageBodyStyle + 'background-color: ' + bgcolor + ';'\n )\n }\n\n function getBgColor (fresh) {\n return fresh ? '#e8ffe8' : 'white'\n }\n\n // Sentiment strip\n const strip = sentimentStripLinked(message, message.doc())\n if (strip.children.length) {\n td2.appendChild(dom.createElement('br'))\n td2.appendChild(strip)\n }\n\n // Message tool bar button\n const td3 = dom.createElement('td')\n messageRow.appendChild(td3)\n const toolsButton = widgets.button(\n dom,\n icons.iconBase + 'noun_243787.svg',\n '...'\n )\n td3.appendChild(toolsButton)\n toolsButton.addEventListener('click', function (_event) {\n if (messageRow.toolTR) {\n // already got a toolbar? Toogle\n messageRow.parentNode.removeChild(messageRow.toolTR)\n delete messageRow.toolTR\n return\n }\n const toolsTR = dom.createElement('tr')\n const tools = messageToolbar(message, messageRow, userContext, channelObject)\n tools.style =\n 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;' // @@ fix\n if (messageRow.nextSibling) {\n messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling)\n } else {\n messageRow.parentElement.appendChild(toolsTR)\n }\n messageRow.toolTR = toolsTR\n toolsTR.appendChild(dom.createElement('td')) // left\n const toolsTD = toolsTR.appendChild(dom.createElement('td'))\n toolsTR.appendChild(dom.createElement('td')) // right\n toolsTD.appendChild(tools)\n })\n return messageRow\n} // END OF RENDERMESSAGE\n\nexport function switchToEditor (messageRow, message, channelObject, userContext) {\n const messageTable = messageRow.parentNode\n const editRow = renderMessageEditor(channelObject, messageTable, userContext,\n channelObject.options, mostRecentVersion(message))\n messageTable.insertBefore(editRow, messageRow)\n editRow.originalRow = messageRow\n messageRow.style.visibility = 'hidden' // Hide the original message. unhide if user cancels edit\n}\n/* Control for a new message -- or editing an old message ***************\n *\n */\nexport function renderMessageEditor (channelObject, messageTable, userContext, options, originalMessage) {\n function revertEditing (messageEditor) {\n messageEditor.originalRow.style.visibility = 'visible' // restore read-only version\n messageEditor.parentNode.removeChild(messageEditor)\n }\n\n async function handleFieldInput (_event) {\n await sendMessage(field.value, true)\n }\n\n async function sendMessage (text, fromMainField) {\n function sendComplete (message, _text2) {\n // const dateStamp = store.any(message, ns.dct('created'), null, message.doc())\n // const content = $rdf.literal(text2)\n insertMessageIntoTable(channelObject, messageTable, message, false, options, userContext) // not green\n\n if (originalMessage) { // editing another message\n const oldRow = messageEditor.originalRow\n // oldRow.style.display = '' // restore read-only version, re-attack\n if (oldRow.parentNode) {\n oldRow.parentNode.removeChild(oldRow) // No longer needed old version\n } else {\n debug.warn('No parentNode on old message ' + oldRow.textContent)\n oldRow.style.backgroundColor = '#fee'\n oldRow.style.visibility = 'hidden' // @@ FIX THIS AND REMOVE FROM DOM INSTEAD\n }\n messageEditor.parentNode.removeChild(messageEditor) // no longer need editor\n } else {\n if (fromMainField) {\n field.value = '' // clear from out for reuse\n field.setAttribute('style', messageBodyStyle)\n field.disabled = false\n field.scrollIntoView(options.newestFirst) // allign bottom (top)\n field.focus() // Start typing next line immediately\n field.select()\n }\n }\n // await channelObject.div.refresh() // Add new day if nec @@ add back\n }\n\n // const me = authn.currentUser() // Must be logged on or wuld have got login button\n if (fromMainField) {\n field.setAttribute('style', messageBodyStyle + 'color: #bbb;') // pendingedit\n field.disabled = true\n }\n\n let message\n try {\n message = await channelObject.updateMessage(text, originalMessage)\n } catch (err) {\n const statusArea = userContext.statusArea || messageEditor\n statusArea.appendChild(\n widgets.errorMessageBlock(dom, 'Error writing message: ' + err)\n )\n return\n }\n sendComplete(message, text)\n } // sendMessage\n\n // DRAG AND DROP\n function droppedFileHandler (files) {\n const base = messageTable.chatDocument.dir().uri\n widgets.uploadFiles(\n store.fetcher,\n files,\n base + 'Files',\n base + 'Pictures',\n async function (theFile, destURI) {\n // @@@@@@ Wait for each if several\n await sendMessage(destURI)\n }\n )\n }\n\n // When a set of URIs are dropped on the field\n const droppedURIHandler = async function (uris) {\n for (const uri of uris) {\n await sendMessage(uri)\n }\n }\n\n // When we are actually logged on\n function turnOnInput () {\n function getImageDoc () {\n imageDoc = $rdf.sym(\n chatDocument.dir().uri + 'Image_' + Date.now() + '.png'\n )\n return imageDoc\n }\n\n async function tookPicture (imageDoc) {\n if (imageDoc) {\n await sendMessage(imageDoc.uri)\n }\n }\n\n // Body of turnOnInput\n\n let menuButton\n if (options.menuHandler) {\n const menuButton = widgets.button(\n dom, icons.iconBase + 'noun_243787.svg', 'More')\n menuButton.setAttribute('style', style.buttonStyle + 'float: right;')\n // menuButton.addEventListener('click', _event => sendMessage(), false) (done in turnoninput)\n rhs.appendChild(menuButton)\n }\n\n if (options.menuHandler && menuButton) {\n const me = authn.currentUser()\n const menuOptions = {\n me,\n dom,\n div: null, // @@ was: div\n newBase: messageTable.chatDocument.dir().uri\n }\n menuButton.addEventListener(\n 'click',\n event => {\n options.menuHandler(event, channelObject.chatChannel, menuOptions)\n },\n false\n )\n }\n\n const me = authn.currentUser() // If already logged on\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n if (originalMessage) {\n field.value = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n }\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n // Trap the Enter BEFORE it is used ti make a newline\n\n field.addEventListener(\n 'keydown',\n async function (e) {\n // User preference?\n if (e.code === 'Enter') {\n // if (e.keyCode === 13) { // deprocated https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if ((!e.shiftKey && !options.shiftEnterSendsMessage) || (e.shiftKey && options.shiftEnterSendsMessage)) {\n // Shift-Enter just adds a new line\n // (note alt-enter doesn't add newline anyway on my setup - so have to use shift.\n await handleFieldInput(e)\n }\n }\n },\n false\n )\n\n widgets.makeDropTarget(field, droppedURIHandler, droppedFileHandler)\n\n rhs.innerHTML = ''\n\n sendButton = widgets.button(dom, sendIcon, 'Send')\n sendButton.style.float = 'right'\n sendButton.addEventListener('click', _event => handleFieldInput(), false)\n rhs.appendChild(sendButton)\n\n if (originalMessage) { // Are we editing another message?\n const cancelButton = rhs.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'left'\n // cancelButton.firstChild.style.opacity = '0.3' // moved to buttons\n cancelButton.addEventListener('click', _event => revertEditing(messageEditor), false)\n rhs.appendChild(cancelButton)\n }\n\n const chatDocument = channelObject.dateFolder.leafDocumentFromDate(new Date())\n let imageDoc\n\n middle.appendChild(\n media.cameraButton(dom, store, getImageDoc, tookPicture)\n )\n\n pad.recordParticipation(channelObject.channel, channelObject.channel.doc()) // participation =\n } // turn on inpuut\n\n // Body of renderMessageEditor\n\n let sortDate, sendIcon\n if (originalMessage) {\n sortDate = store.anyValue(originalMessage, ns.dct('created'), null, originalMessage.doc())\n // text = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n sendIcon = icons.iconBase + 'noun_1180158.svg' // Green check\n // cancelIcon = icons.iconBase + 'noun_1180156.svg' // Black cross\n } else {\n sendIcon = icons.iconBase + 'noun_383448.svg'\n sortDate = '9999-01-01T00:00:00Z' // ISO format for field sort\n // text = ''\n }\n const messageEditor = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n messageEditor.appendChild(lhs)\n messageEditor.appendChild(middle)\n messageEditor.appendChild(rhs)\n messageEditor.AJAR_date = sortDate\n // messageEditor.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const context = { div: middle, dom }\n\n ensureLoggedIn(context).then(context => {\n // me = context.me\n turnOnInput()\n Object.assign(context, userContext)\n findBookmarkDocument(context).then(_context => {\n // console.log('Bookmark file: ' + context.bookmarkDocument)\n })\n })\n\n return messageEditor\n} // renderMessageEditor\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NamedNode } from 'rdflib';
|
|
2
|
+
export declare const getPodRoot: (webId: NamedNode) => Promise<NamedNode>;
|
|
3
|
+
export declare const pubKeyUrl: (webId: NamedNode) => Promise<string>;
|
|
4
|
+
export declare function getExistingPublicKey(webId: NamedNode, publicKeyUrl: string): Promise<string | undefined>;
|
|
5
|
+
export declare const privKeyUrl: (webId: NamedNode) => Promise<string>;
|
|
6
|
+
export declare function getExistingPrivateKey(webId: NamedNode, privateKeyUrl: string): Promise<string | undefined>;
|
|
7
|
+
type KeyType = 'PublicKey' | 'PrivateKey';
|
|
8
|
+
export declare function getKeyIfExists(webId: NamedNode, keyUrl: string, keyType: KeyType): Promise<string | undefined>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=accessData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessData.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/accessData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,eAAO,MAAM,UAAU,UAAiB,SAAS,uBAsBhD,CAAA;AAED,eAAO,MAAM,SAAS,UAAiB,SAAS,oBAI/C,CAAA;AAED,wBAAsB,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAGjF;AAED,eAAO,MAAM,UAAU,UAAiB,SAAS,oBAQhD,CAAA;AAED,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,+BAGnF;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEzC,wBAAsB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,+BA2BvF"}
|
|
@@ -5,21 +5,20 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
8
|
+
exports.getExistingPrivateKey = getExistingPrivateKey;
|
|
9
|
+
exports.getExistingPublicKey = getExistingPublicKey;
|
|
10
|
+
exports.getKeyIfExists = getKeyIfExists;
|
|
11
|
+
exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
13
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
-
var debug = _interopRequireWildcard(require("
|
|
15
|
-
var _signature = require("
|
|
14
|
+
var debug = _interopRequireWildcard(require("../../debug"));
|
|
15
|
+
var _signature = require("../../chat/signature");
|
|
16
16
|
var _solidLogic = require("solid-logic");
|
|
17
|
-
var ns = _interopRequireWildcard(require("
|
|
17
|
+
var ns = _interopRequireWildcard(require("../../ns"));
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
20
|
var getPodRoot = /*#__PURE__*/function () {
|
|
21
21
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
|
|
22
|
-
var _podRoot;
|
|
23
22
|
var webIdURL, storages, podRoot, path, _res$headers$get, res;
|
|
24
23
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
25
24
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -65,7 +64,7 @@ var getPodRoot = /*#__PURE__*/function () {
|
|
|
65
64
|
});
|
|
66
65
|
if (!podRoot) podRoot = storages[0];
|
|
67
66
|
case 21:
|
|
68
|
-
return _context.abrupt("return",
|
|
67
|
+
return _context.abrupt("return", podRoot);
|
|
69
68
|
case 22:
|
|
70
69
|
case "end":
|
|
71
70
|
return _context.stop();
|
|
@@ -76,6 +75,7 @@ var getPodRoot = /*#__PURE__*/function () {
|
|
|
76
75
|
return _ref.apply(this, arguments);
|
|
77
76
|
};
|
|
78
77
|
}();
|
|
78
|
+
exports.getPodRoot = getPodRoot;
|
|
79
79
|
var pubKeyUrl = /*#__PURE__*/function () {
|
|
80
80
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
81
81
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
@@ -85,7 +85,7 @@ var pubKeyUrl = /*#__PURE__*/function () {
|
|
|
85
85
|
_context2.next = 3;
|
|
86
86
|
return getPodRoot(webId);
|
|
87
87
|
case 3:
|
|
88
|
-
_context2.t0 = _context2.sent;
|
|
88
|
+
_context2.t0 = _context2.sent.value;
|
|
89
89
|
return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
|
|
90
90
|
case 7:
|
|
91
91
|
_context2.prev = 7;
|
|
@@ -102,88 +102,88 @@ var pubKeyUrl = /*#__PURE__*/function () {
|
|
|
102
102
|
};
|
|
103
103
|
}();
|
|
104
104
|
exports.pubKeyUrl = pubKeyUrl;
|
|
105
|
-
function
|
|
106
|
-
return
|
|
105
|
+
function getExistingPublicKey(_x3, _x4) {
|
|
106
|
+
return _getExistingPublicKey.apply(this, arguments);
|
|
107
107
|
}
|
|
108
|
-
function
|
|
109
|
-
|
|
110
|
-
var publicKeyUrl;
|
|
108
|
+
function _getExistingPublicKey() {
|
|
109
|
+
_getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
|
|
111
110
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
112
111
|
while (1) switch (_context4.prev = _context4.next) {
|
|
113
112
|
case 0:
|
|
114
113
|
_context4.next = 2;
|
|
115
|
-
return
|
|
114
|
+
return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
|
|
116
115
|
case 2:
|
|
117
|
-
publicKeyUrl = _context4.sent;
|
|
118
|
-
_context4.next = 5;
|
|
119
|
-
return keyExists(webId, publicKeyUrl, 'PublicKey');
|
|
120
|
-
case 5:
|
|
121
116
|
return _context4.abrupt("return", _context4.sent);
|
|
122
|
-
case
|
|
117
|
+
case 3:
|
|
123
118
|
case "end":
|
|
124
119
|
return _context4.stop();
|
|
125
120
|
}
|
|
126
121
|
}, _callee4);
|
|
127
122
|
}));
|
|
128
|
-
return
|
|
123
|
+
return _getExistingPublicKey.apply(this, arguments);
|
|
129
124
|
}
|
|
130
125
|
var privKeyUrl = /*#__PURE__*/function () {
|
|
131
126
|
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
|
|
127
|
+
var _store$any, _settings;
|
|
128
|
+
var settings, _settings2, podRoot;
|
|
132
129
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
133
130
|
while (1) switch (_context3.prev = _context3.next) {
|
|
134
131
|
case 0:
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
settings = (_store$any = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any === void 0 ? void 0 : _store$any.value;
|
|
133
|
+
settings = (_settings = settings) === null || _settings === void 0 ? void 0 : _settings.split('/').slice(0, -1).join('/');
|
|
134
|
+
_context3.prev = 2;
|
|
135
|
+
_context3.next = 5;
|
|
137
136
|
return getPodRoot(webId);
|
|
138
|
-
case
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
throw new Error(
|
|
145
|
-
case
|
|
137
|
+
case 5:
|
|
138
|
+
podRoot = _context3.sent;
|
|
139
|
+
if ((_settings2 = settings) !== null && _settings2 !== void 0 && _settings2.startsWith(podRoot.value)) {
|
|
140
|
+
_context3.next = 8;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
throw new Error("/settings/ is expected to be in ".concat(podRoot.value));
|
|
144
|
+
case 8:
|
|
145
|
+
return _context3.abrupt("return", "".concat(settings, "/keys/privateKey.ttl"));
|
|
146
|
+
case 11:
|
|
147
|
+
_context3.prev = 11;
|
|
148
|
+
_context3.t0 = _context3["catch"](2);
|
|
149
|
+
throw new Error(_context3.t0);
|
|
150
|
+
case 14:
|
|
146
151
|
case "end":
|
|
147
152
|
return _context3.stop();
|
|
148
153
|
}
|
|
149
|
-
}, _callee3, null, [[
|
|
154
|
+
}, _callee3, null, [[2, 11]]);
|
|
150
155
|
}));
|
|
151
|
-
return function privKeyUrl(
|
|
156
|
+
return function privKeyUrl(_x5) {
|
|
152
157
|
return _ref3.apply(this, arguments);
|
|
153
158
|
};
|
|
154
159
|
}();
|
|
155
160
|
exports.privKeyUrl = privKeyUrl;
|
|
156
|
-
function
|
|
157
|
-
return
|
|
161
|
+
function getExistingPrivateKey(_x6, _x7) {
|
|
162
|
+
return _getExistingPrivateKey.apply(this, arguments);
|
|
158
163
|
}
|
|
159
|
-
function
|
|
160
|
-
|
|
161
|
-
var privateKeyUrl;
|
|
164
|
+
function _getExistingPrivateKey() {
|
|
165
|
+
_getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
|
|
162
166
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
163
167
|
while (1) switch (_context5.prev = _context5.next) {
|
|
164
168
|
case 0:
|
|
165
169
|
_context5.next = 2;
|
|
166
|
-
return
|
|
170
|
+
return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
|
|
167
171
|
case 2:
|
|
168
|
-
privateKeyUrl = _context5.sent;
|
|
169
|
-
_context5.next = 5;
|
|
170
|
-
return keyExists(webId, privateKeyUrl, 'PrivateKey');
|
|
171
|
-
case 5:
|
|
172
172
|
return _context5.abrupt("return", _context5.sent);
|
|
173
|
-
case
|
|
173
|
+
case 3:
|
|
174
174
|
case "end":
|
|
175
175
|
return _context5.stop();
|
|
176
176
|
}
|
|
177
177
|
}, _callee5);
|
|
178
178
|
}));
|
|
179
|
-
return
|
|
179
|
+
return _getExistingPrivateKey.apply(this, arguments);
|
|
180
180
|
}
|
|
181
|
-
function
|
|
182
|
-
return
|
|
181
|
+
function getKeyIfExists(_x8, _x9, _x10) {
|
|
182
|
+
return _getKeyIfExists.apply(this, arguments);
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
|
|
186
|
-
var key
|
|
184
|
+
function _getKeyIfExists() {
|
|
185
|
+
_getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
|
|
186
|
+
var key;
|
|
187
187
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
188
188
|
while (1) switch (_context6.prev = _context6.next) {
|
|
189
189
|
case 0:
|
|
@@ -196,30 +196,28 @@ function _keyExists() {
|
|
|
196
196
|
case 7:
|
|
197
197
|
_context6.prev = 7;
|
|
198
198
|
_context6.t0 = _context6["catch"](0);
|
|
199
|
-
if (!(
|
|
199
|
+
if (!(_context6.t0.response.status === 404)) {
|
|
200
200
|
_context6.next = 24;
|
|
201
201
|
break;
|
|
202
202
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
contentType = 'text/turtle';
|
|
207
|
-
_context6.next = 15;
|
|
203
|
+
debug.log('createIfNotExists: doc does NOT exist, will create... ' + keyUrl);
|
|
204
|
+
_context6.prev = 11;
|
|
205
|
+
_context6.next = 14;
|
|
208
206
|
return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
|
|
209
|
-
data:
|
|
210
|
-
contentType:
|
|
207
|
+
data: '',
|
|
208
|
+
contentType: 'text/turtle'
|
|
211
209
|
});
|
|
212
|
-
case
|
|
213
|
-
|
|
214
|
-
_context6.next = 22;
|
|
210
|
+
case 14:
|
|
211
|
+
_context6.next = 20;
|
|
215
212
|
break;
|
|
216
|
-
case
|
|
217
|
-
_context6.prev =
|
|
218
|
-
_context6.t1 = _context6["catch"](
|
|
213
|
+
case 16:
|
|
214
|
+
_context6.prev = 16;
|
|
215
|
+
_context6.t1 = _context6["catch"](11);
|
|
219
216
|
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
|
|
220
217
|
throw _context6.t1;
|
|
221
|
-
case
|
|
218
|
+
case 20:
|
|
222
219
|
delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
|
|
220
|
+
// debug.log('createIfNotExists doc created ok ' + doc)
|
|
223
221
|
return _context6.abrupt("return", undefined);
|
|
224
222
|
case 24:
|
|
225
223
|
debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
|
|
@@ -228,8 +226,8 @@ function _keyExists() {
|
|
|
228
226
|
case "end":
|
|
229
227
|
return _context6.stop();
|
|
230
228
|
}
|
|
231
|
-
}, _callee6, null, [[0, 7], [
|
|
229
|
+
}, _callee6, null, [[0, 7], [11, 16]]);
|
|
232
230
|
}));
|
|
233
|
-
return
|
|
231
|
+
return _getKeyIfExists.apply(this, arguments);
|
|
234
232
|
}
|
|
235
|
-
//# sourceMappingURL=
|
|
233
|
+
//# sourceMappingURL=accessData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessData.js","names":["debug","_interopRequireWildcard","require","_signature","_solidLogic","ns","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getPodRoot","_ref","_asyncToGenerator2","_regenerator","mark","_callee","webId","webIdURL","storages","podRoot","path","_res$headers$get","res","wrap","_callee$","_context","prev","next","URL","uri","store","fetcher","load","each","space","doc","length","pathname","substring","lastIndexOf","sym","origin","webOperation","sent","headers","includes","value","abrupt","warn","concat","find","storage","stop","_x","apply","arguments","exports","pubKeyUrl","_ref2","_callee2","_callee2$","_context2","t0","t1","Error","_x2","getExistingPublicKey","_x3","_x4","_getExistingPublicKey","_callee4","publicKeyUrl","_callee4$","_context4","getKeyIfExists","privKeyUrl","_ref3","_callee3","_store$any","_settings","settings","_settings2","_callee3$","_context3","any","split","slice","join","startsWith","_x5","getExistingPrivateKey","_x6","_x7","_getExistingPrivateKey","_callee5","privateKeyUrl","_callee5$","_context5","_x8","_x9","_x10","_getKeyIfExists","_callee6","keyUrl","keyType","_callee6$","_context6","CERT","response","status","log","data","contentType","requested","undefined"],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../debug'\nimport { CERT } from '../../chat/signature'\nimport { store } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { NamedNode } from 'rdflib'\n\nexport const getPodRoot = async (webId: NamedNode) => {\n const webIdURL = new URL(webId.uri)\n // find storages in webId document\n await store.fetcher.load(webId.uri)\n const storages = store.each(webId, ns.space('storage'), null, webId.doc())\n var podRoot: NamedNode | undefined\n if (!storages?.length) {\n // find storage recursively in webId URL\n let path = webIdURL.pathname\n while (path.length) {\n path = path.substring(0, path.lastIndexOf('/'))\n podRoot = store.sym(webIdURL.origin + path + '/')\n const res = await store.fetcher.webOperation('HEAD', podRoot.uri)\n if (res.headers.get('link')?.includes(ns.space('Storage').value)) break\n if (!path) debug.warn(`Current user storage not found for\\n${webId}`)\n }\n } else {\n // give preference to storage in webId root\n podRoot = storages.find((storage) => webIdURL.origin === new URL(storage.value).origin) as NamedNode\n if (!podRoot) podRoot = storages[0] as NamedNode\n }\n return podRoot as NamedNode\n}\n\nexport const pubKeyUrl = async (webId: NamedNode) => {\n try {\n return (await getPodRoot(webId)).value + 'profile/keys/publicKey.ttl'\n } catch (err) { throw new Error(err) }\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'PublicKey')\n}\n\nexport const privKeyUrl = async (webId: NamedNode) => {\n let settings = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n settings = settings?.split('/').slice(0, -1).join('/')\n try {\n const podRoot = await getPodRoot(webId)\n if (!settings?.startsWith(podRoot.value)) throw new Error(`/settings/ is expected to be in ${podRoot.value}`)\n return `${settings}/keys/privateKey.ttl`\n } catch (err) { throw new Error(err) }\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'PrivateKey')\n}\n\ntype KeyType = 'PublicKey' | 'PrivateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* set ACL
|
|
3
|
+
* @param keyDoc
|
|
4
|
+
* @param aclBody
|
|
5
|
+
*/
|
|
6
|
+
export declare function setAcl(keyDoc: string, aclBody: string): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* key container ACL
|
|
9
|
+
* @param me
|
|
10
|
+
* @returns aclBody
|
|
11
|
+
*/
|
|
12
|
+
export declare const keyContainerAclBody: (me: string) => string;
|
|
13
|
+
/**
|
|
14
|
+
* Read only ACL
|
|
15
|
+
* @param keyDoc
|
|
16
|
+
* @param me
|
|
17
|
+
* @returns aclBody
|
|
18
|
+
*/
|
|
19
|
+
export declare const keyAclBody: (keyDoc: any, me: any) => string;
|
|
20
|
+
//# sourceMappingURL=acl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/acl.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAsB5D;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAe7C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,kCAatB,CAAA"}
|