diff options
Diffstat (limited to 'server/lib/activitypub/url.ts')
-rw-r--r-- | server/lib/activitypub/url.ts | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/server/lib/activitypub/url.ts b/server/lib/activitypub/url.ts deleted file mode 100644 index 5cdac71bf..000000000 --- a/server/lib/activitypub/url.ts +++ /dev/null | |||
@@ -1,177 +0,0 @@ | |||
1 | import { REMOTE_SCHEME, WEBSERVER } from '../../initializers/constants' | ||
2 | import { | ||
3 | MAbuseFull, | ||
4 | MAbuseId, | ||
5 | MActor, | ||
6 | MActorFollow, | ||
7 | MActorId, | ||
8 | MActorUrl, | ||
9 | MCommentId, | ||
10 | MLocalVideoViewer, | ||
11 | MVideoId, | ||
12 | MVideoPlaylistElement, | ||
13 | MVideoUrl, | ||
14 | MVideoUUID, | ||
15 | MVideoWithHost | ||
16 | } from '../../types/models' | ||
17 | import { MVideoFileVideoUUID } from '../../types/models/video/video-file' | ||
18 | import { MVideoPlaylist, MVideoPlaylistUUID } from '../../types/models/video/video-playlist' | ||
19 | import { MStreamingPlaylist } from '../../types/models/video/video-streaming-playlist' | ||
20 | |||
21 | function getLocalVideoActivityPubUrl (video: MVideoUUID) { | ||
22 | return WEBSERVER.URL + '/videos/watch/' + video.uuid | ||
23 | } | ||
24 | |||
25 | function getLocalVideoPlaylistActivityPubUrl (videoPlaylist: MVideoPlaylist) { | ||
26 | return WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid | ||
27 | } | ||
28 | |||
29 | function getLocalVideoPlaylistElementActivityPubUrl (videoPlaylist: MVideoPlaylistUUID, videoPlaylistElement: MVideoPlaylistElement) { | ||
30 | return WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid + '/videos/' + videoPlaylistElement.id | ||
31 | } | ||
32 | |||
33 | function getLocalVideoCacheFileActivityPubUrl (videoFile: MVideoFileVideoUUID) { | ||
34 | const suffixFPS = videoFile.fps && videoFile.fps !== -1 ? '-' + videoFile.fps : '' | ||
35 | |||
36 | return `${WEBSERVER.URL}/redundancy/videos/${videoFile.Video.uuid}/${videoFile.resolution}${suffixFPS}` | ||
37 | } | ||
38 | |||
39 | function getLocalVideoCacheStreamingPlaylistActivityPubUrl (video: MVideoUUID, playlist: MStreamingPlaylist) { | ||
40 | return `${WEBSERVER.URL}/redundancy/streaming-playlists/${playlist.getStringType()}/${video.uuid}` | ||
41 | } | ||
42 | |||
43 | function getLocalVideoCommentActivityPubUrl (video: MVideoUUID, videoComment: MCommentId) { | ||
44 | return WEBSERVER.URL + '/videos/watch/' + video.uuid + '/comments/' + videoComment.id | ||
45 | } | ||
46 | |||
47 | function getLocalVideoChannelActivityPubUrl (videoChannelName: string) { | ||
48 | return WEBSERVER.URL + '/video-channels/' + videoChannelName | ||
49 | } | ||
50 | |||
51 | function getLocalAccountActivityPubUrl (accountName: string) { | ||
52 | return WEBSERVER.URL + '/accounts/' + accountName | ||
53 | } | ||
54 | |||
55 | function getLocalAbuseActivityPubUrl (abuse: MAbuseId) { | ||
56 | return WEBSERVER.URL + '/admin/abuses/' + abuse.id | ||
57 | } | ||
58 | |||
59 | function getLocalVideoViewActivityPubUrl (byActor: MActorUrl, video: MVideoId, viewerIdentifier: string) { | ||
60 | return byActor.url + '/views/videos/' + video.id + '/' + viewerIdentifier | ||
61 | } | ||
62 | |||
63 | function getLocalVideoViewerActivityPubUrl (stats: MLocalVideoViewer) { | ||
64 | return WEBSERVER.URL + '/videos/local-viewer/' + stats.uuid | ||
65 | } | ||
66 | |||
67 | function getVideoLikeActivityPubUrlByLocalActor (byActor: MActorUrl, video: MVideoId) { | ||
68 | return byActor.url + '/likes/' + video.id | ||
69 | } | ||
70 | |||
71 | function getVideoDislikeActivityPubUrlByLocalActor (byActor: MActorUrl, video: MVideoId) { | ||
72 | return byActor.url + '/dislikes/' + video.id | ||
73 | } | ||
74 | |||
75 | function getLocalVideoSharesActivityPubUrl (video: MVideoUrl) { | ||
76 | return video.url + '/announces' | ||
77 | } | ||
78 | |||
79 | function getLocalVideoCommentsActivityPubUrl (video: MVideoUrl) { | ||
80 | return video.url + '/comments' | ||
81 | } | ||
82 | |||
83 | function getLocalVideoLikesActivityPubUrl (video: MVideoUrl) { | ||
84 | return video.url + '/likes' | ||
85 | } | ||
86 | |||
87 | function getLocalVideoDislikesActivityPubUrl (video: MVideoUrl) { | ||
88 | return video.url + '/dislikes' | ||
89 | } | ||
90 | |||
91 | function getLocalActorFollowActivityPubUrl (follower: MActor, following: MActorId) { | ||
92 | return follower.url + '/follows/' + following.id | ||
93 | } | ||
94 | |||
95 | function getLocalActorFollowAcceptActivityPubUrl (actorFollow: MActorFollow) { | ||
96 | return WEBSERVER.URL + '/accepts/follows/' + actorFollow.id | ||
97 | } | ||
98 | |||
99 | function getLocalActorFollowRejectActivityPubUrl () { | ||
100 | return WEBSERVER.URL + '/rejects/follows/' + new Date().toISOString() | ||
101 | } | ||
102 | |||
103 | function getLocalVideoAnnounceActivityPubUrl (byActor: MActorId, video: MVideoUrl) { | ||
104 | return video.url + '/announces/' + byActor.id | ||
105 | } | ||
106 | |||
107 | function getDeleteActivityPubUrl (originalUrl: string) { | ||
108 | return originalUrl + '/delete' | ||
109 | } | ||
110 | |||
111 | function getUpdateActivityPubUrl (originalUrl: string, updatedAt: string) { | ||
112 | return originalUrl + '/updates/' + updatedAt | ||
113 | } | ||
114 | |||
115 | function getUndoActivityPubUrl (originalUrl: string) { | ||
116 | return originalUrl + '/undo' | ||
117 | } | ||
118 | |||
119 | // --------------------------------------------------------------------------- | ||
120 | |||
121 | function getAbuseTargetUrl (abuse: MAbuseFull) { | ||
122 | return abuse.VideoAbuse?.Video?.url || | ||
123 | abuse.VideoCommentAbuse?.VideoComment?.url || | ||
124 | abuse.FlaggedAccount.Actor.url | ||
125 | } | ||
126 | |||
127 | // --------------------------------------------------------------------------- | ||
128 | |||
129 | function buildRemoteVideoBaseUrl (video: MVideoWithHost, path: string, scheme?: string) { | ||
130 | if (!scheme) scheme = REMOTE_SCHEME.HTTP | ||
131 | |||
132 | const host = video.VideoChannel.Actor.Server.host | ||
133 | |||
134 | return scheme + '://' + host + path | ||
135 | } | ||
136 | |||
137 | // --------------------------------------------------------------------------- | ||
138 | |||
139 | function checkUrlsSameHost (url1: string, url2: string) { | ||
140 | const idHost = new URL(url1).host | ||
141 | const actorHost = new URL(url2).host | ||
142 | |||
143 | return idHost && actorHost && idHost.toLowerCase() === actorHost.toLowerCase() | ||
144 | } | ||
145 | |||
146 | // --------------------------------------------------------------------------- | ||
147 | |||
148 | export { | ||
149 | getLocalVideoActivityPubUrl, | ||
150 | getLocalVideoPlaylistActivityPubUrl, | ||
151 | getLocalVideoPlaylistElementActivityPubUrl, | ||
152 | getLocalVideoCacheFileActivityPubUrl, | ||
153 | getLocalVideoCacheStreamingPlaylistActivityPubUrl, | ||
154 | getLocalVideoCommentActivityPubUrl, | ||
155 | getLocalVideoChannelActivityPubUrl, | ||
156 | getLocalAccountActivityPubUrl, | ||
157 | getLocalAbuseActivityPubUrl, | ||
158 | getLocalActorFollowActivityPubUrl, | ||
159 | getLocalActorFollowAcceptActivityPubUrl, | ||
160 | getLocalVideoAnnounceActivityPubUrl, | ||
161 | getUpdateActivityPubUrl, | ||
162 | getUndoActivityPubUrl, | ||
163 | getVideoLikeActivityPubUrlByLocalActor, | ||
164 | getLocalVideoViewActivityPubUrl, | ||
165 | getVideoDislikeActivityPubUrlByLocalActor, | ||
166 | getLocalActorFollowRejectActivityPubUrl, | ||
167 | getDeleteActivityPubUrl, | ||
168 | getLocalVideoSharesActivityPubUrl, | ||
169 | getLocalVideoCommentsActivityPubUrl, | ||
170 | getLocalVideoLikesActivityPubUrl, | ||
171 | getLocalVideoDislikesActivityPubUrl, | ||
172 | getLocalVideoViewerActivityPubUrl, | ||
173 | |||
174 | getAbuseTargetUrl, | ||
175 | checkUrlsSameHost, | ||
176 | buildRemoteVideoBaseUrl | ||
177 | } | ||