]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/activitypub/activity.ts
Merge branch 'feature/improve-live' into develop
[github/Chocobozzz/PeerTube.git] / server / lib / activitypub / activity.ts
index 215b50b6995305aa7f3a712c96dd11f6ea8d0f55..1f6ec221e58d0324a623f75adf916058f73fa285 100644 (file)
@@ -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 <T> (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
 }