diff --git a/services/gunDB/Mediator/index.js b/services/gunDB/Mediator/index.js index 7bd6c0ca..c57091fa 100644 --- a/services/gunDB/Mediator/index.js +++ b/services/gunDB/Mediator/index.js @@ -613,6 +613,7 @@ const register = async (alias, pass) => { await API.Actions.setBio('A little bit about myself.', user) await API.Actions.setDefaultSeedProvider('', user) await API.Actions.setSeedServiceData('', user) + await API.Actions.setCurrentStreamInfo('', user) return pub }) } diff --git a/services/gunDB/contact-api/actions.js b/services/gunDB/contact-api/actions.js index 4433c150..5cd616e5 100644 --- a/services/gunDB/contact-api/actions.js +++ b/services/gunDB/contact-api/actions.js @@ -218,8 +218,7 @@ const setDefaultSeedProvider = (encryptedSeedProvider, user) => /** * @param {string} encryptedSeedServiceData * @param {UserGUNNode} user - * @throws {TypeError} Rejects if displayName is not an string or an empty - * string. + * @throws {TypeError} * @returns {Promise} */ const setSeedServiceData = (encryptedSeedServiceData, user) => @@ -239,6 +238,29 @@ const setSeedServiceData = (encryptedSeedServiceData, user) => } }) }) +/** + * @param {string} encryptedCurrentStreamInfo + * @param {UserGUNNode} user + * @throws {TypeError} + * @returns {Promise} + */ +const setCurrentStreamInfo = (encryptedCurrentStreamInfo, user) => + new Promise((resolve, reject) => { + if (!user.is) { + throw new Error(ErrorCode.NOT_AUTH) + } + + if (typeof encryptedCurrentStreamInfo !== 'string') { + throw new TypeError() + } + user.get('currentStreamInfo').put(encryptedCurrentStreamInfo, ack => { + if (ack.err && typeof ack.err !== 'number') { + reject(new Error(ack.err)) + } else { + resolve() + } + }) + }) /** * @typedef {object} SpontPaymentOptions @@ -909,5 +931,6 @@ module.exports = { sendSpontaneousPayment, createPostNew, setDefaultSeedProvider, - setSeedServiceData + setSeedServiceData, + setCurrentStreamInfo }