Skip to content

Commit 2d04d6a

Browse files
committed
https://github.com/topcoder-platform/topcoder-x-ui/issues/453
1 parent 855879d commit 2d04d6a

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/front/src/app/upsertproject/upsertproject.controller.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ angular.module('topcoderX').controller('ProjectController', ['currentUser', '$sc
3030
if ($rootScope.project) {
3131
$scope.title = 'Manage a Project';
3232
$scope.project = $rootScope.project;
33+
$scope.project.tags = $rootScope.project.tags.split(',');
3334
$scope.project.repoUrl = $rootScope.project.repoUrls.join(',');
3435
$scope.editing = true;
3536
if ($rootScope.project.tcDirectId) {
@@ -52,7 +53,8 @@ angular.module('topcoderX').controller('ProjectController', ['currentUser', '$sc
5253
$scope.tags = [];
5354
$scope.fetchTags = function() {
5455
ProjectService.getTags().then(function (resp) {
55-
$scope.tags = resp.data.map(tag => tag.name);
56+
const s = new Set(resp.data.result.content.map(function(tag) { return tag.name; }));
57+
$scope.tags = Array.from(s).sort();
5658
});
5759
}
5860
$scope.fetchTags();

src/models/Project.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ const schema = new Schema({
2525
required: true
2626
},
2727
tags: {
28-
type: Array,
28+
type: String,
2929
required: true,
30-
default: []
30+
default: ''
3131
},
3232
rocketChatWebhook: {type: String, required: false},
3333
rocketChatChannelName: {type: String, required: false},

src/services/ProjectService.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ async function create(project, currentUser) {
212212
project.secretWebhookKey = guid.raw();
213213
project.copilot = project.copilot ? project.copilot.toLowerCase() : null;
214214
project.id = helper.generateIdentifier();
215+
project.tags = project.tags.join(',');
215216

216217
const createdProject = await dbHelper.create(models.Project, project);
217218

@@ -221,7 +222,7 @@ async function create(project, currentUser) {
221222
try {
222223
const challengeUUIDs = await _createOrMigrateRepository(repoUrl, project, currentUser);
223224
if (!_.isEmpty(challengeUUIDs)) {
224-
challengeUUIDsList.append(challengeUUIDs);
225+
challengeUUIDsList.push(challengeUUIDs);
225226
}
226227
}
227228
catch (err) {
@@ -278,6 +279,7 @@ async function update(project, currentUser) {
278279
*/
279280
project.owner = dbProject.owner;
280281
project.copilot = project.copilot !== undefined ? project.copilot.toLowerCase() : null;
282+
project.tags = project.tags.join(',');
281283

282284
// TODO: move the following logic into one dynamoose transaction
283285
const repos = await dbHelper.queryRepositoriesByProjectId(project.id);
@@ -289,13 +291,13 @@ async function update(project, currentUser) {
289291
await dbHelper.update(models.Repository, repoId, {archived: project.archived});
290292
if (!_.isEqual(dbProject.tags, project.tags)) {
291293
// NOTE: delay query of challengeUUIDs into topcoder-x-processor
292-
challengeUUIDsList.append(repoUrl);
294+
challengeUUIDsList.push(repoUrl);
293295
}
294296
} else {
295297
try {
296298
const challengeUUIDs = await _createOrMigrateRepository(repoUrl, project, currentUser);
297299
if (!_.isEmpty(challengeUUIDs)) {
298-
challengeUUIDsList.append(challengeUUIDs);
300+
challengeUUIDsList.push(challengeUUIDs);
299301
}
300302
}
301303
catch (err) {

0 commit comments

Comments
 (0)