2018-11-19 10:08:18 -06:00
|
|
|
import { makeDeleteRequest, makeGetRequest, makePostBodyRequest } from '../requests/requests'
|
2020-12-07 07:32:36 -06:00
|
|
|
import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
|
2018-08-16 08:25:20 -05:00
|
|
|
|
2020-12-07 07:32:36 -06:00
|
|
|
function addUserSubscription (url: string, token: string, targetUri: string, statusCodeExpected = HttpStatusCode.NO_CONTENT_204) {
|
2018-08-16 08:25:20 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions'
|
|
|
|
|
|
|
|
return makePostBodyRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
token,
|
|
|
|
statusCodeExpected,
|
|
|
|
fields: { uri: targetUri }
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-07-27 10:00:39 -05:00
|
|
|
function listUserSubscriptions (parameters: {
|
|
|
|
url: string
|
|
|
|
token: string
|
|
|
|
sort?: string
|
|
|
|
search?: string
|
|
|
|
statusCodeExpected?: number
|
|
|
|
}) {
|
2020-12-07 07:32:36 -06:00
|
|
|
const { url, token, sort = '-createdAt', search, statusCodeExpected = HttpStatusCode.OK_200 } = parameters
|
2018-08-16 08:25:20 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions'
|
|
|
|
|
|
|
|
return makeGetRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
token,
|
|
|
|
statusCodeExpected,
|
2020-07-27 10:00:39 -05:00
|
|
|
query: {
|
|
|
|
sort,
|
|
|
|
search
|
|
|
|
}
|
2018-08-16 08:25:20 -05:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-12-07 07:32:36 -06:00
|
|
|
function listUserSubscriptionVideos (url: string, token: string, sort = '-createdAt', statusCodeExpected = HttpStatusCode.OK_200) {
|
2018-08-16 08:25:20 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions/videos'
|
|
|
|
|
|
|
|
return makeGetRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
token,
|
|
|
|
statusCodeExpected,
|
|
|
|
query: { sort }
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-12-07 07:32:36 -06:00
|
|
|
function getUserSubscription (url: string, token: string, uri: string, statusCodeExpected = HttpStatusCode.OK_200) {
|
2018-08-21 03:34:18 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions/' + uri
|
|
|
|
|
|
|
|
return makeGetRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
token,
|
|
|
|
statusCodeExpected
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-12-07 07:32:36 -06:00
|
|
|
function removeUserSubscription (url: string, token: string, uri: string, statusCodeExpected = HttpStatusCode.NO_CONTENT_204) {
|
2018-08-16 08:25:20 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions/' + uri
|
|
|
|
|
|
|
|
return makeDeleteRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
token,
|
|
|
|
statusCodeExpected
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-12-07 07:32:36 -06:00
|
|
|
function areSubscriptionsExist (url: string, token: string, uris: string[], statusCodeExpected = HttpStatusCode.OK_200) {
|
2018-08-23 10:58:39 -05:00
|
|
|
const path = '/api/v1/users/me/subscriptions/exist'
|
|
|
|
|
|
|
|
return makeGetRequest({
|
|
|
|
url,
|
|
|
|
path,
|
|
|
|
query: { 'uris[]': uris },
|
|
|
|
token,
|
|
|
|
statusCodeExpected
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2018-08-16 08:25:20 -05:00
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
export {
|
2018-08-23 10:58:39 -05:00
|
|
|
areSubscriptionsExist,
|
2018-08-16 08:25:20 -05:00
|
|
|
addUserSubscription,
|
|
|
|
listUserSubscriptions,
|
2018-08-21 03:34:18 -05:00
|
|
|
getUserSubscription,
|
2018-08-16 08:25:20 -05:00
|
|
|
listUserSubscriptionVideos,
|
|
|
|
removeUserSubscription
|
|
|
|
}
|