aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/account
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-11-14 09:11:43 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-11-27 19:40:51 +0100
commit8e6964874990d5ee9d3703be71c6ab4617b9ce20 (patch)
tree84f45507c425d8b64ba03292cb9d49a4feaadeba /server/models/account
parentce548a10db3822c415b30ea0edb59e02a460734a (diff)
downloadPeerTube-8e6964874990d5ee9d3703be71c6ab4617b9ce20.tar.gz
PeerTube-8e6964874990d5ee9d3703be71c6ab4617b9ce20.tar.zst
PeerTube-8e6964874990d5ee9d3703be71c6ab4617b9ce20.zip
Add MANAGE_PEERTUBE_FOLLOW right
Diffstat (limited to 'server/models/account')
-rw-r--r--server/models/account/account-interface.ts8
-rw-r--r--server/models/account/account.ts20
2 files changed, 14 insertions, 14 deletions
diff --git a/server/models/account/account-interface.ts b/server/models/account/account-interface.ts
index 73701f233..2468dc6e1 100644
--- a/server/models/account/account-interface.ts
+++ b/server/models/account/account-interface.ts
@@ -14,8 +14,8 @@ export namespace AccountMethods {
14 export type LoadAccountByPodAndUUID = (uuid: string, podId: number, transaction: Sequelize.Transaction) => Bluebird<AccountInstance> 14 export type LoadAccountByPodAndUUID = (uuid: string, podId: number, transaction: Sequelize.Transaction) => Bluebird<AccountInstance>
15 export type LoadLocalAccountByNameAndPod = (name: string, host: string) => Bluebird<AccountInstance> 15 export type LoadLocalAccountByNameAndPod = (name: string, host: string) => Bluebird<AccountInstance>
16 export type ListOwned = () => Bluebird<AccountInstance[]> 16 export type ListOwned = () => Bluebird<AccountInstance[]>
17 export type ListFollowerUrlsForApi = (id: number, start: number, count?: number) => Promise< ResultList<string> > 17 export type ListAcceptedFollowerUrlsForApi = (id: number, start: number, count?: number) => Promise< ResultList<string> >
18 export type ListFollowingUrlsForApi = (id: number, start: number, count?: number) => Promise< ResultList<string> > 18 export type ListAcceptedFollowingUrlsForApi = (id: number, start: number, count?: number) => Promise< ResultList<string> >
19 export type ListFollowingForApi = (id: number, start: number, count: number, sort: string) => Bluebird< ResultList<AccountInstance> > 19 export type ListFollowingForApi = (id: number, start: number, count: number, sort: string) => Bluebird< ResultList<AccountInstance> >
20 export type ListFollowersForApi = (id: number, start: number, count: number, sort: string) => Bluebird< ResultList<AccountInstance> > 20 export type ListFollowersForApi = (id: number, start: number, count: number, sort: string) => Bluebird< ResultList<AccountInstance> >
21 21
@@ -36,8 +36,8 @@ export interface AccountClass {
36 loadByUrl: AccountMethods.LoadByUrl 36 loadByUrl: AccountMethods.LoadByUrl
37 loadLocalAccountByNameAndPod: AccountMethods.LoadLocalAccountByNameAndPod 37 loadLocalAccountByNameAndPod: AccountMethods.LoadLocalAccountByNameAndPod
38 listOwned: AccountMethods.ListOwned 38 listOwned: AccountMethods.ListOwned
39 listFollowerUrlsForApi: AccountMethods.ListFollowerUrlsForApi 39 listAcceptedFollowerUrlsForApi: AccountMethods.ListAcceptedFollowerUrlsForApi
40 listFollowingUrlsForApi: AccountMethods.ListFollowingUrlsForApi 40 listAcceptedFollowingUrlsForApi: AccountMethods.ListAcceptedFollowingUrlsForApi
41 listFollowingForApi: AccountMethods.ListFollowingForApi 41 listFollowingForApi: AccountMethods.ListFollowingForApi
42 listFollowersForApi: AccountMethods.ListFollowersForApi 42 listFollowersForApi: AccountMethods.ListFollowersForApi
43} 43}
diff --git a/server/models/account/account.ts b/server/models/account/account.ts
index 7ce97b2fd..6ef29c8b7 100644
--- a/server/models/account/account.ts
+++ b/server/models/account/account.ts
@@ -33,8 +33,8 @@ let loadByUUID: AccountMethods.LoadByUUID
33let loadByUrl: AccountMethods.LoadByUrl 33let loadByUrl: AccountMethods.LoadByUrl
34let loadLocalAccountByNameAndPod: AccountMethods.LoadLocalAccountByNameAndPod 34let loadLocalAccountByNameAndPod: AccountMethods.LoadLocalAccountByNameAndPod
35let listOwned: AccountMethods.ListOwned 35let listOwned: AccountMethods.ListOwned
36let listFollowerUrlsForApi: AccountMethods.ListFollowerUrlsForApi 36let listAcceptedFollowerUrlsForApi: AccountMethods.ListAcceptedFollowerUrlsForApi
37let listFollowingUrlsForApi: AccountMethods.ListFollowingUrlsForApi 37let listAcceptedFollowingUrlsForApi: AccountMethods.ListAcceptedFollowingUrlsForApi
38let listFollowingForApi: AccountMethods.ListFollowingForApi 38let listFollowingForApi: AccountMethods.ListFollowingForApi
39let listFollowersForApi: AccountMethods.ListFollowersForApi 39let listFollowersForApi: AccountMethods.ListFollowersForApi
40let isOwned: AccountMethods.IsOwned 40let isOwned: AccountMethods.IsOwned
@@ -201,8 +201,8 @@ export default function defineAccount (sequelize: Sequelize.Sequelize, DataTypes
201 loadByUrl, 201 loadByUrl,
202 loadLocalAccountByNameAndPod, 202 loadLocalAccountByNameAndPod,
203 listOwned, 203 listOwned,
204 listFollowerUrlsForApi, 204 listAcceptedFollowerUrlsForApi,
205 listFollowingUrlsForApi, 205 listAcceptedFollowingUrlsForApi,
206 listFollowingForApi, 206 listFollowingForApi,
207 listFollowersForApi 207 listFollowersForApi
208 ] 208 ]
@@ -365,12 +365,12 @@ listOwned = function () {
365 return Account.findAll(query) 365 return Account.findAll(query)
366} 366}
367 367
368listFollowerUrlsForApi = function (id: number, start: number, count?: number) { 368listAcceptedFollowerUrlsForApi = function (id: number, start: number, count?: number) {
369 return createListFollowForApiQuery('followers', id, start, count) 369 return createListAcceptedFollowForApiQuery('followers', id, start, count)
370} 370}
371 371
372listFollowingUrlsForApi = function (id: number, start: number, count?: number) { 372listAcceptedFollowingUrlsForApi = function (id: number, start: number, count?: number) {
373 return createListFollowForApiQuery('following', id, start, count) 373 return createListAcceptedFollowForApiQuery('following', id, start, count)
374} 374}
375 375
376listFollowingForApi = function (id: number, start: number, count: number, sort: string) { 376listFollowingForApi = function (id: number, start: number, count: number, sort: string) {
@@ -506,7 +506,7 @@ loadAccountByPodAndUUID = function (uuid: string, podId: number, transaction: Se
506 506
507// ------------------------------ UTILS ------------------------------ 507// ------------------------------ UTILS ------------------------------
508 508
509async function createListFollowForApiQuery (type: 'followers' | 'following', id: number, start: number, count?: number) { 509async function createListAcceptedFollowForApiQuery (type: 'followers' | 'following', id: number, start: number, count?: number) {
510 let firstJoin: string 510 let firstJoin: string
511 let secondJoin: string 511 let secondJoin: string
512 512
@@ -525,7 +525,7 @@ async function createListFollowForApiQuery (type: 'followers' | 'following', id:
525 let query = 'SELECT ' + selection + ' FROM "Account" ' + 525 let query = 'SELECT ' + selection + ' FROM "Account" ' +
526 'INNER JOIN "AccountFollower" ON "AccountFollower"."' + firstJoin + '" = "Account"."id" ' + 526 'INNER JOIN "AccountFollower" ON "AccountFollower"."' + firstJoin + '" = "Account"."id" ' +
527 'INNER JOIN "Account" AS "Follows" ON "Followers"."id" = "Follows"."' + secondJoin + '" ' + 527 'INNER JOIN "Account" AS "Follows" ON "Followers"."id" = "Follows"."' + secondJoin + '" ' +
528 'WHERE "Account"."id" = $id ' + 528 'WHERE "Account"."id" = $id AND "AccountFollower"."state" = \'accepted\' ' +
529 'LIMIT ' + start 529 'LIMIT ' + start
530 530
531 if (count !== undefined) query += ', ' + count 531 if (count !== undefined) query += ', ' + count