diff --git a/services/gunDB/Mediator/index.js b/services/gunDB/Mediator/index.js index 990d23ce..9e8545e2 100644 --- a/services/gunDB/Mediator/index.js +++ b/services/gunDB/Mediator/index.js @@ -1416,6 +1416,8 @@ const register = async (alias, pass) => { await API.Actions.generateOrderAddress(user) await API.Actions.initWall() await API.Actions.setBio('A little bit about myself.', user) + await API.Actions.setDefaultSeedProvider('', user) + await API.Actions.setSeedServiceData('', user) return pub }) } diff --git a/services/gunDB/contact-api/actions.js b/services/gunDB/contact-api/actions.js index 99b905ef..52a7a8b7 100644 --- a/services/gunDB/contact-api/actions.js +++ b/services/gunDB/contact-api/actions.js @@ -875,6 +875,63 @@ const setDisplayName = (displayName, user) => }) }) +/** + * @param {string} encryptedSeedProvider + * @param {UserGUNNode} user + * @throws {TypeError} Rejects if displayName is not an string or an empty + * string. + * @returns {Promise} + */ +const setDefaultSeedProvider = (encryptedSeedProvider, user) => + new Promise((resolve, reject) => { + if (!user.is) { + throw new Error(ErrorCode.NOT_AUTH) + } + + if (typeof encryptedSeedProvider !== 'string') { + throw new TypeError() + } + + if (encryptedSeedProvider.length === 0) { + throw new TypeError() + } + user.get('seedServiceProviderPubKey').put(encryptedSeedProvider, ack => { + if (ack.err && typeof ack.err !== 'number') { + reject(new Error(ack.err)) + } else { + resolve() + } + }) + }) +/** + * @param {string} encryptedSeedServiceData + * @param {UserGUNNode} user + * @throws {TypeError} Rejects if displayName is not an string or an empty + * string. + * @returns {Promise} + */ +const setSeedServiceData = (encryptedSeedServiceData, user) => + new Promise((resolve, reject) => { + if (!user.is) { + throw new Error(ErrorCode.NOT_AUTH) + } + + if (typeof encryptedSeedServiceData !== 'string') { + throw new TypeError() + } + + if (encryptedSeedServiceData.length === 0) { + throw new TypeError() + } + user.get('seedServiceSeedData').put(encryptedSeedServiceData, ack => { + if (ack.err && typeof ack.err !== 'number') { + reject(new Error(ack.err)) + } else { + resolve() + } + }) + }) + /** * @param {string} initialMsg * @param {string} recipientPublicKey @@ -1757,5 +1814,7 @@ module.exports = { initWall, sendMessageNew, sendSpontaneousPayment, - createPostNew + createPostNew, + setDefaultSeedProvider, + setSeedServiceData }