X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Factivity.ts;h=ba2967ce97f68f6717f1ff31f1d525be288b7cb0;hb=15eb9e5b8fe9a29201567ab41f730fd39c1a14b8;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..ba2967ce9 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 }