]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/lib/activitypub/url.ts
Add notification on new instance follower (server side)
[github/Chocobozzz/PeerTube.git] / server / lib / activitypub / url.ts
... / ...
CommitLineData
1import { CONFIG } from '../../initializers'
2import { ActorModel } from '../../models/activitypub/actor'
3import { ActorFollowModel } from '../../models/activitypub/actor-follow'
4import { VideoModel } from '../../models/video/video'
5import { VideoAbuseModel } from '../../models/video/video-abuse'
6import { VideoCommentModel } from '../../models/video/video-comment'
7import { VideoFileModel } from '../../models/video/video-file'
8import { VideoStreamingPlaylistModel } from '../../models/video/video-streaming-playlist'
9import { VideoPlaylistModel } from '../../models/video/video-playlist'
10
11function getVideoActivityPubUrl (video: VideoModel) {
12 return CONFIG.WEBSERVER.URL + '/videos/watch/' + video.uuid
13}
14
15function getVideoPlaylistActivityPubUrl (videoPlaylist: VideoPlaylistModel) {
16 return CONFIG.WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid
17}
18
19function getVideoPlaylistElementActivityPubUrl (videoPlaylist: VideoPlaylistModel, video: VideoModel) {
20 return CONFIG.WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid + '/' + video.uuid
21}
22
23function getVideoCacheFileActivityPubUrl (videoFile: VideoFileModel) {
24 const suffixFPS = videoFile.fps && videoFile.fps !== -1 ? '-' + videoFile.fps : ''
25
26 return `${CONFIG.WEBSERVER.URL}/redundancy/videos/${videoFile.Video.uuid}/${videoFile.resolution}${suffixFPS}`
27}
28
29function getVideoCacheStreamingPlaylistActivityPubUrl (video: VideoModel, playlist: VideoStreamingPlaylistModel) {
30 return `${CONFIG.WEBSERVER.URL}/redundancy/streaming-playlists/${playlist.getStringType()}/${video.uuid}`
31}
32
33function getVideoCommentActivityPubUrl (video: VideoModel, videoComment: VideoCommentModel) {
34 return CONFIG.WEBSERVER.URL + '/videos/watch/' + video.uuid + '/comments/' + videoComment.id
35}
36
37function getVideoChannelActivityPubUrl (videoChannelName: string) {
38 return CONFIG.WEBSERVER.URL + '/video-channels/' + videoChannelName
39}
40
41function getAccountActivityPubUrl (accountName: string) {
42 return CONFIG.WEBSERVER.URL + '/accounts/' + accountName
43}
44
45function getVideoAbuseActivityPubUrl (videoAbuse: VideoAbuseModel) {
46 return CONFIG.WEBSERVER.URL + '/admin/video-abuses/' + videoAbuse.id
47}
48
49function getVideoViewActivityPubUrl (byActor: ActorModel, video: VideoModel) {
50 return byActor.url + '/views/videos/' + video.id + '/' + new Date().toISOString()
51}
52
53function getVideoLikeActivityPubUrl (byActor: ActorModel, video: VideoModel | { id: number }) {
54 return byActor.url + '/likes/' + video.id
55}
56
57function getVideoDislikeActivityPubUrl (byActor: ActorModel, video: VideoModel | { id: number }) {
58 return byActor.url + '/dislikes/' + video.id
59}
60
61function getVideoSharesActivityPubUrl (video: VideoModel) {
62 return video.url + '/announces'
63}
64
65function getVideoCommentsActivityPubUrl (video: VideoModel) {
66 return video.url + '/comments'
67}
68
69function getVideoLikesActivityPubUrl (video: VideoModel) {
70 return video.url + '/likes'
71}
72
73function getVideoDislikesActivityPubUrl (video: VideoModel) {
74 return video.url + '/dislikes'
75}
76
77function getActorFollowActivityPubUrl (follower: ActorModel, following: ActorModel) {
78 return follower.url + '/follows/' + following.id
79}
80
81function getActorFollowAcceptActivityPubUrl (actorFollow: ActorFollowModel) {
82 const follower = actorFollow.ActorFollower
83 const me = actorFollow.ActorFollowing
84
85 return follower.url + '/accepts/follows/' + me.id
86}
87
88function getActorFollowRejectActivityPubUrl (follower: ActorModel, following: ActorModel) {
89 return follower.url + '/rejects/follows/' + following.id
90}
91
92function getVideoAnnounceActivityPubUrl (byActor: ActorModel, video: VideoModel) {
93 return video.url + '/announces/' + byActor.id
94}
95
96function getDeleteActivityPubUrl (originalUrl: string) {
97 return originalUrl + '/delete'
98}
99
100function getUpdateActivityPubUrl (originalUrl: string, updatedAt: string) {
101 return originalUrl + '/updates/' + updatedAt
102}
103
104function getUndoActivityPubUrl (originalUrl: string) {
105 return originalUrl + '/undo'
106}
107
108export {
109 getVideoActivityPubUrl,
110 getVideoPlaylistElementActivityPubUrl,
111 getVideoPlaylistActivityPubUrl,
112 getVideoCacheStreamingPlaylistActivityPubUrl,
113 getVideoChannelActivityPubUrl,
114 getAccountActivityPubUrl,
115 getVideoAbuseActivityPubUrl,
116 getActorFollowActivityPubUrl,
117 getActorFollowAcceptActivityPubUrl,
118 getVideoAnnounceActivityPubUrl,
119 getUpdateActivityPubUrl,
120 getUndoActivityPubUrl,
121 getVideoViewActivityPubUrl,
122 getVideoLikeActivityPubUrl,
123 getVideoDislikeActivityPubUrl,
124 getActorFollowRejectActivityPubUrl,
125 getVideoCommentActivityPubUrl,
126 getDeleteActivityPubUrl,
127 getVideoSharesActivityPubUrl,
128 getVideoCommentsActivityPubUrl,
129 getVideoLikesActivityPubUrl,
130 getVideoDislikesActivityPubUrl,
131 getVideoCacheFileActivityPubUrl
132}