import * as validator from 'validator'
import { ResultList } from '../../shared/models'
import { Activity } from '../../shared/models/activitypub'
-import { ACTIVITY_PUB } from '../initializers'
+import { ACTIVITY_PUB } from '../initializers/constants'
import { ActorModel } from '../models/activitypub/actor'
import { signJsonLDObject } from './peertube-crypto'
import { pageToStartAndCount } from './core-utils'
import { parse } from 'url'
+import { MActor } from '../typings/models'
function activityPubContextify <T> (data: T) {
return Object.assign(data, {
Infohash: 'pt:Infohash',
originallyPublishedAt: 'sc:datePublished',
views: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:views'
},
state: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:state'
},
size: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:size'
},
fps: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:fps'
},
startTimestamp: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:startTimestamp'
},
stopTimestamp: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:stopTimestamp'
},
position: {
- type: 'sc:Number',
+ '@type': 'sc:Number',
'@id': 'pt:position'
},
commentsEnabled: {
- type: 'sc:Boolean',
+ '@type': 'sc:Boolean',
'@id': 'pt:commentsEnabled'
},
downloadEnabled: {
- type: 'sc:Boolean',
+ '@type': 'sc:Boolean',
'@id': 'pt:downloadEnabled'
},
waitTranscoding: {
- type: 'sc:Boolean',
+ '@type': 'sc:Boolean',
'@id': 'pt:waitTranscoding'
},
support: {
- type: 'sc:Text',
+ '@type': 'sc:Text',
'@id': 'pt:support'
}
},
}
-function buildSignedActivity (byActor: ActorModel, data: Object) {
+function buildSignedActivity (byActor: MActor, data: Object) {
const activity = activityPubContextify(data)
return signJsonLDObject(byActor, activity) as Promise<Activity>