X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Factivity.ts;h=ba2967ce97f68f6717f1ff31f1d525be288b7cb0;hb=3b0525106d8742b5ebd6962219eaf105435f6fb9;hp=cccb7b1c1d4a081dc90e89dec2faee5dba0ecf00;hpb=a219c9100b3ce8774d454497d46be87465bf664e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/activity.ts b/server/lib/activitypub/activity.ts index cccb7b1c1..ba2967ce9 100644 --- a/server/lib/activitypub/activity.ts +++ b/server/lib/activitypub/activity.ts @@ -1,9 +1,40 @@ +import { ActivityType } from "@shared/models" + function getAPId (object: string | { id: string }) { if (typeof object === 'string') return object 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 { - getAPId + getAPId, + getActivityStreamDuration, + buildAvailableActivities, + getDurationFromActivityStream }