Files
speckle-server/packages/server/modules/activitystream/graph/resolvers/activity.js
T
2022-03-30 12:54:24 +03:00

131 lines
3.3 KiB
JavaScript

'use strict'
const appRoot = require('app-root-path')
const {
ApolloError,
ForbiddenError,
UserInputError,
withFilter
} = require('apollo-server-express')
const {
getUserActivity,
getStreamActivity,
getResourceActivity,
getUserTimeline,
getActivityCountByResourceId,
getActivityCountByStreamId,
getActivityCountByUserId,
getTimelineCount
} = require('../../services/index')
const { authorizeResolver, validateScopes } = require(`${appRoot}/modules/shared`)
const { saveActivity } = require(`${appRoot}/modules/activitystream/services`)
const { getStream } = require(`${appRoot}/modules/core/services/streams`)
module.exports = {
Query: {},
User: {
async activity(parent, args, context, info) {
let { items, cursor } = await getUserActivity({
userId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before,
cursor: args.cursor,
limit: args.limit
})
let totalCount = await getActivityCountByUserId({
userId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before
})
return { items, cursor, totalCount }
},
async timeline(parent, args, context, info) {
let { items, cursor } = await getUserTimeline({
userId: parent.id,
after: args.after,
before: args.before,
cursor: args.cursor,
limit: args.limit
})
let totalCount = await getTimelineCount({
userId: parent.id,
after: args.after,
before: args.before
})
return { items, cursor, totalCount }
}
},
Stream: {
async activity(parent, args, context, info) {
let { items, cursor } = await getStreamActivity({
streamId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before,
cursor: args.cursor,
limit: args.limit
})
let totalCount = await getActivityCountByStreamId({
streamId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before
})
return { items, cursor, totalCount }
}
},
Branch: {
async activity(parent, args, context, info) {
let { items, cursor } = await getResourceActivity({
resourceType: 'branch',
resourceId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before,
cursor: args.cursor,
limit: args.limit
})
let totalCount = await getActivityCountByResourceId({
resourceId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before
})
return { items, cursor, totalCount }
}
},
Commit: {
async activity(parent, args, context, info) {
let { items, cursor } = await getResourceActivity({
resourceType: 'commit',
resourceId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before,
cursor: args.cursor,
limit: args.limit
})
let totalCount = await getActivityCountByResourceId({
resourceId: parent.id,
actionType: args.actionType,
after: args.after,
before: args.before
})
return { items, cursor, totalCount }
}
}
}