X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Factivity.ts;h=1f6ec221e58d0324a623f75adf916058f73fa285;hb=d4fff51d96925b5704c97dd673dd779030b1aced;hp=215b50b6995305aa7f3a712c96dd11f6ea8d0f55;hpb=7e98a7df7d04e19ba67163a86c7b876d78d76839;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/activity.ts b/server/lib/activitypub/activity.ts index 215b50b69..1f6ec221e 100644 --- a/server/lib/activitypub/activity.ts +++ b/server/lib/activitypub/activity.ts @@ -1,13 +1,4 @@ -import { signJsonLDObject } from '@server/helpers/peertube-crypto' -import { MActor } from '@server/types/models' -import { ContextType } from '@shared/models' -import { activityPubContextify } from './context' - -function buildSignedActivity (byActor: MActor, data: T, contextType?: ContextType) { - const activity = activityPubContextify(data, contextType) - - return signJsonLDObject(byActor, activity) -} +import { ActivityType } from '@shared/models' function getAPId (object: string | { id: string }) { if (typeof object === 'string') return object @@ -15,7 +6,35 @@ function getAPId (object: string | { id: string }) { return object.id } +function getActivityStreamDuration (duration: number) { + // https://www.w3.org/TR/activitystreams-vocabulary/#dfn-duration + return 'PT' + duration + 'S' +} + +function getDurationFromActivityStream (duration: string) { + return parseInt(duration.replace(/[^\d]+/, '')) +} + +function buildAvailableActivities (): ActivityType[] { + return [ + 'Create', + 'Update', + 'Delete', + 'Follow', + 'Accept', + 'Announce', + 'Undo', + 'Like', + 'Reject', + 'View', + 'Dislike', + 'Flag' + ] +} + export { - buildSignedActivity, - getAPId + getAPId, + getActivityStreamDuration, + buildAvailableActivities, + getDurationFromActivityStream }