Gitter migration: Setup redirects (rollout pt. 3)
[gitter.git] / server / services / check-repo-privacy.js
blobd3e006aeee3a795a6b605a387c117aa9fc1eedd4
1 'use strict';
3 var env = require('gitter-web-env');
4 var logger = env.logger;
5 var GithubRepoService = require('gitter-web-github').GitHubRepoService;
6 var securityDescriptorUpdater = require('gitter-web-permissions/lib/security-descriptor/updater');
8 /**
9  * Will change a security descriptor to public but
10  * will no longer change it to private when the
11  * change is public->private as there are
12  * edge-cases which are not handled (and difficult to handle)
13  */
14 function checkRepoPrivacy(uri) {
15   var repoService = new GithubRepoService();
17   return repoService.getRepo(uri).then(function(repo) {
18     if (repo && !repo.private) {
19       logger.info('GitHub repo is public. Updating security descriptors', {
20         uri: uri
21       });
23       return securityDescriptorUpdater.updatePublicFlagForRepo(uri, true);
24     }
26     logger.info('GitHub repo not found. It may either be private or deleting. Ignoring for now', {
27       uri: uri
28     });
29   });
32 module.exports = checkRepoPrivacy;