diff options
Diffstat (limited to 'server/controllers/api/videos.js')
-rw-r--r-- | server/controllers/api/videos.js | 46 |
1 files changed, 7 insertions, 39 deletions
diff --git a/server/controllers/api/videos.js b/server/controllers/api/videos.js index ddf85d77d..f29edac74 100644 --- a/server/controllers/api/videos.js +++ b/server/controllers/api/videos.js | |||
@@ -1,6 +1,5 @@ | |||
1 | 'use strict' | 1 | 'use strict' |
2 | 2 | ||
3 | const each = require('async/each') | ||
4 | const express = require('express') | 3 | const express = require('express') |
5 | const fs = require('fs') | 4 | const fs = require('fs') |
6 | const multer = require('multer') | 5 | const multer = require('multer') |
@@ -97,51 +96,20 @@ function addVideo (req, res, next) { | |||
97 | function findOrCreateAuthor (t, callback) { | 96 | function findOrCreateAuthor (t, callback) { |
98 | const user = res.locals.oauth.token.User | 97 | const user = res.locals.oauth.token.User |
99 | 98 | ||
100 | const query = { | 99 | const name = user.username |
101 | where: { | 100 | // null because it is OUR pod |
102 | name: user.username, | 101 | const podId = null |
103 | podId: null, | 102 | const userId = user.id |
104 | userId: user.id | ||
105 | }, | ||
106 | defaults: { | ||
107 | name: user.username, | ||
108 | podId: null, // null because it is OUR pod | ||
109 | userId: user.id | ||
110 | }, | ||
111 | transaction: t | ||
112 | } | ||
113 | |||
114 | db.Author.findOrCreate(query).asCallback(function (err, result) { | ||
115 | const authorInstance = result[0] | ||
116 | 103 | ||
104 | db.Author.findOrCreateAuthor(name, podId, userId, t, function (err, authorInstance) { | ||
117 | return callback(err, t, authorInstance) | 105 | return callback(err, t, authorInstance) |
118 | }) | 106 | }) |
119 | }, | 107 | }, |
120 | 108 | ||
121 | function findOrCreateTags (t, author, callback) { | 109 | function findOrCreateTags (t, author, callback) { |
122 | const tags = videoInfos.tags | 110 | const tags = videoInfos.tags |
123 | const tagInstances = [] | 111 | |
124 | 112 | db.Tag.findOrCreateTags(tags, t, function (err, tagInstances) { | |
125 | each(tags, function (tag, callbackEach) { | ||
126 | const query = { | ||
127 | where: { | ||
128 | name: tag | ||
129 | }, | ||
130 | defaults: { | ||
131 | name: tag | ||
132 | }, | ||
133 | transaction: t | ||
134 | } | ||
135 | |||
136 | db.Tag.findOrCreate(query).asCallback(function (err, res) { | ||
137 | if (err) return callbackEach(err) | ||
138 | |||
139 | // res = [ tag, isCreated ] | ||
140 | const tag = res[0] | ||
141 | tagInstances.push(tag) | ||
142 | return callbackEach() | ||
143 | }) | ||
144 | }, function (err) { | ||
145 | return callback(err, t, author, tagInstances) | 113 | return callback(err, t, author, tagInstances) |
146 | }) | 114 | }) |
147 | }, | 115 | }, |