diff options
Diffstat (limited to 'shared/extra-utils/miscs')
-rw-r--r-- | shared/extra-utils/miscs/sql.ts | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/shared/extra-utils/miscs/sql.ts b/shared/extra-utils/miscs/sql.ts index 740f0c2d6..65a0aa5fe 100644 --- a/shared/extra-utils/miscs/sql.ts +++ b/shared/extra-utils/miscs/sql.ts | |||
@@ -82,6 +82,11 @@ async function countVideoViewsOf (internalServerNumber: number, uuid: string) { | |||
82 | return parseInt(total + '', 10) | 82 | return parseInt(total + '', 10) |
83 | } | 83 | } |
84 | 84 | ||
85 | function getActorImage (internalServerNumber: number, filename: string) { | ||
86 | return selectQuery(internalServerNumber, `SELECT * FROM "actorImage" WHERE filename = '${filename}'`) | ||
87 | .then(rows => rows[0]) | ||
88 | } | ||
89 | |||
85 | function selectQuery (internalServerNumber: number, query: string) { | 90 | function selectQuery (internalServerNumber: number, query: string) { |
86 | const seq = getSequelize(internalServerNumber) | 91 | const seq = getSequelize(internalServerNumber) |
87 | const options = { type: QueryTypes.SELECT as QueryTypes.SELECT } | 92 | const options = { type: QueryTypes.SELECT as QueryTypes.SELECT } |
@@ -106,12 +111,20 @@ async function closeAllSequelize (servers: ServerInfo[]) { | |||
106 | } | 111 | } |
107 | } | 112 | } |
108 | 113 | ||
109 | function setPluginVersion (internalServerNumber: number, pluginName: string, newVersion: string) { | 114 | function setPluginField (internalServerNumber: number, pluginName: string, field: string, value: string) { |
110 | const seq = getSequelize(internalServerNumber) | 115 | const seq = getSequelize(internalServerNumber) |
111 | 116 | ||
112 | const options = { type: QueryTypes.UPDATE } | 117 | const options = { type: QueryTypes.UPDATE } |
113 | 118 | ||
114 | return seq.query(`UPDATE "plugin" SET "version" = '${newVersion}' WHERE "name" = '${pluginName}'`, options) | 119 | return seq.query(`UPDATE "plugin" SET "${field}" = '${value}' WHERE "name" = '${pluginName}'`, options) |
120 | } | ||
121 | |||
122 | function setPluginVersion (internalServerNumber: number, pluginName: string, newVersion: string) { | ||
123 | return setPluginField(internalServerNumber, pluginName, 'version', newVersion) | ||
124 | } | ||
125 | |||
126 | function setPluginLatestVersion (internalServerNumber: number, pluginName: string, newVersion: string) { | ||
127 | return setPluginField(internalServerNumber, pluginName, 'latestVersion', newVersion) | ||
115 | } | 128 | } |
116 | 129 | ||
117 | function setActorFollowScores (internalServerNumber: number, newScore: number) { | 130 | function setActorFollowScores (internalServerNumber: number, newScore: number) { |
@@ -122,14 +135,25 @@ function setActorFollowScores (internalServerNumber: number, newScore: number) { | |||
122 | return seq.query(`UPDATE "actorFollow" SET "score" = ${newScore}`, options) | 135 | return seq.query(`UPDATE "actorFollow" SET "score" = ${newScore}`, options) |
123 | } | 136 | } |
124 | 137 | ||
138 | function setTokenField (internalServerNumber: number, accessToken: string, field: string, value: string) { | ||
139 | const seq = getSequelize(internalServerNumber) | ||
140 | |||
141 | const options = { type: QueryTypes.UPDATE } | ||
142 | |||
143 | return seq.query(`UPDATE "oAuthToken" SET "${field}" = '${value}' WHERE "accessToken" = '${accessToken}'`, options) | ||
144 | } | ||
145 | |||
125 | export { | 146 | export { |
126 | setVideoField, | 147 | setVideoField, |
127 | setPlaylistField, | 148 | setPlaylistField, |
128 | setActorField, | 149 | setActorField, |
129 | countVideoViewsOf, | 150 | countVideoViewsOf, |
130 | setPluginVersion, | 151 | setPluginVersion, |
152 | setPluginLatestVersion, | ||
131 | selectQuery, | 153 | selectQuery, |
154 | getActorImage, | ||
132 | deleteAll, | 155 | deleteAll, |
156 | setTokenField, | ||
133 | updateQuery, | 157 | updateQuery, |
134 | setActorFollowScores, | 158 | setActorFollowScores, |
135 | closeAllSequelize, | 159 | closeAllSequelize, |