import { generateRsaKeyPair } from '../activitypub/security' import { activityPub } from '../activitypub/ActivityPub' // import as from 'activitystrea.ms' // const debug = require('debug')('backend:schema') export default { Mutation: { // CreatePost: async (resolve, root, args, context, info) => { // args.activityId = activityPub.generateStatusId(context.user.slug) // args.objectId = activityPub.generateStatusId(context.user.slug) // const post = await resolve(root, args, context, info) // const { user: author } = context // const actorId = author.actorId // debug(`actorId = ${actorId}`) // const createActivity = await new Promise((resolve, reject) => { // as.create() // .id(`${actorId}/status/${args.activityId}`) // .actor(`${actorId}`) // .object( // as // .article() // .id(`${actorId}/status/${post.id}`) // .content(post.content) // .to('https://www.w3.org/ns/activitystreams#Public') // .publishedNow() // .attributedTo(`${actorId}`), // ) // .prettyWrite((err, doc) => { // if (err) { // reject(err) // } else { // debug(doc) // const parsedDoc = JSON.parse(doc) // parsedDoc.send = true // resolve(JSON.stringify(parsedDoc)) // } // }) // }) // try { // await activityPub.sendActivity(createActivity) // } catch (e) { // debug(`error sending post activity\n${e}`) // } // return post // }, SignupVerification: async (resolve, root, args, context, info) => { const keys = generateRsaKeyPair() Object.assign(args, keys) args.actorId = `${activityPub.host}/activitypub/users/${args.slug}` return resolve(root, args, context, info) }, }, }