Added update registry end point

This commit is contained in:
Kasra Bigdeli
2018-12-02 15:15:45 -08:00
parent 5d263fa00d
commit f5ca018247
9 changed files with 200 additions and 13 deletions
+47
View File
@@ -174,6 +174,8 @@ class DataStore {
const self = this;
return Promise.resolve()
.then(function () {
if (!registryId)
throw new Error('Empty registry id to delete!');
return self.getAllRegistries();
})
.then(function (registries) {
@@ -212,10 +214,55 @@ class DataStore {
return unencryptedList;
});
}
updateRegistry(id, registryUser, registryPassword, registryDomain, registryImagePrefix, registryType) {
const self = this;
return Promise.resolve()
.then(function () {
if (!id ||
!registryUser ||
!registryPassword ||
!registryDomain ||
!registryType) {
throw ApiStatusCodes.createError(ApiStatusCodes.ILLEGAL_PARAMETER, 'User, password and domain are required.');
}
return self.getAllRegistries();
})
.then(function (registries) {
let found = false;
for (let idx = 0; idx < registries.length; idx++) {
const element = registries[idx];
if (element.id === id) {
element.registryUser = registryUser;
element.registryPassword = registryPassword;
element.registryDomain = registryDomain;
element.registryImagePrefix = registryImagePrefix;
element.registryType = registryType;
found = true;
}
}
if (!found)
throw ApiStatusCodes.createError(ApiStatusCodes.NOT_FOUND, 'Registry ID not found');
registries.push({
id,
registryUser,
registryPassword,
registryDomain,
registryImagePrefix,
registryType,
});
return self.saveAllRegistries(registries);
});
}
addRegistryToDb(registryUser, registryPassword, registryDomain, registryImagePrefix, registryType) {
const self = this;
return Promise.resolve()
.then(function () {
if (!registryUser ||
!registryPassword ||
!registryDomain ||
!registryType) {
throw ApiStatusCodes.createError(ApiStatusCodes.ILLEGAL_PARAMETER, 'User, password and domain are required.');
}
return self.getAllRegistries();
})
.then(function (registries) {
File diff suppressed because one or more lines are too long
@@ -22,6 +22,24 @@ router.post('/insert/', function (req, res, next) {
})
.catch(ApiStatusCodes.createCatcher(res));
});
router.post('/update/', function (req, res, next) {
let registryId = req.body.id + '';
let registryUser = req.body.registryUser + '';
let registryPassword = req.body.registryPassword + '';
let registryDomain = req.body.registryDomain + '';
let registryImagePrefix = req.body.registryImagePrefix + '';
const registryHelper = InjectionExtractor.extractUserFromInjected(res).user.serviceManager.getRegistryHelper();
return Promise.resolve()
.then(function () {
return registryHelper.updateRegistry(registryId, registryUser, registryPassword, registryDomain, registryImagePrefix, IRegistryTypes.REMOTE_REG);
})
.then(function () {
let msg = 'Registry is updated.';
Logger.d(msg);
res.send(new BaseApi(ApiStatusCodes.STATUS_OK, msg));
})
.catch(ApiStatusCodes.createCatcher(res));
});
router.get('/all/', function (req, res, next) {
const registryHelper = InjectionExtractor.extractUserFromInjected(res).user.serviceManager.getRegistryHelper();
let registries = [];
@@ -1 +1 @@
{"version":3,"file":"RegistriesRouter.js","sourceRoot":"","sources":["../../src/routes/RegistriesRouter.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"RegistriesRouter.js","sourceRoot":"","sources":["../../src/routes/RegistriesRouter.ts"],"names":[],"mappings":"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"}
@@ -125,12 +125,15 @@ class DockerRegistryHelper {
addRegistry(registryUser, registryPassword, registryDomain, registryImagePrefix, registryType) {
const self = this;
return Promise.resolve().then(function () {
if (!registryUser || !registryPassword || !registryDomain) {
throw ApiStatusCodes.createError(ApiStatusCodes.ILLEGAL_PARAMETER, 'User, password and domain are required.');
}
return self.dataStore.addRegistryToDb(registryUser, registryPassword, registryDomain, registryImagePrefix, registryType);
});
}
updateRegistry(id, registryUser, registryPassword, registryDomain, registryImagePrefix, registryType) {
const self = this;
return Promise.resolve().then(function () {
return self.dataStore.updateRegistry(id, registryUser, registryPassword, registryDomain, registryImagePrefix, registryType);
});
}
}
module.exports = DockerRegistryHelper;
//# sourceMappingURL=DockerRegistryHelper.js.map
@@ -1 +1 @@
{"version":3,"file":"DockerRegistryHelper.js","sourceRoot":"","sources":["../../src/user/DockerRegistryHelper.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"DockerRegistryHelper.js","sourceRoot":"","sources":["../../src/user/DockerRegistryHelper.ts"],"names":[],"mappings":"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"}
+74
View File
@@ -216,6 +216,8 @@ class DataStore {
return Promise.resolve()
.then(function() {
if (!registryId) throw new Error('Empty registry id to delete!')
return self.getAllRegistries()
})
.then(function(registries) {
@@ -264,6 +266,66 @@ class DataStore {
})
}
updateRegistry(
id: string,
registryUser: string,
registryPassword: string,
registryDomain: string,
registryImagePrefix: string,
registryType: IRegistryType
) {
const self = this
return Promise.resolve()
.then(function() {
if (
!id ||
!registryUser ||
!registryPassword ||
!registryDomain ||
!registryType
) {
throw ApiStatusCodes.createError(
ApiStatusCodes.ILLEGAL_PARAMETER,
'User, password and domain are required.'
)
}
return self.getAllRegistries()
})
.then(function(registries) {
let found = false
for (let idx = 0; idx < registries.length; idx++) {
const element = registries[idx]
if (element.id === id) {
element.registryUser = registryUser
element.registryPassword = registryPassword
element.registryDomain = registryDomain
element.registryImagePrefix = registryImagePrefix
element.registryType = registryType
found = true
}
}
if (!found)
throw ApiStatusCodes.createError(
ApiStatusCodes.NOT_FOUND,
'Registry ID not found'
)
registries.push({
id,
registryUser,
registryPassword,
registryDomain,
registryImagePrefix,
registryType,
})
return self.saveAllRegistries(registries)
})
}
addRegistryToDb(
registryUser: string,
registryPassword: string,
@@ -275,6 +337,18 @@ class DataStore {
return Promise.resolve()
.then(function() {
if (
!registryUser ||
!registryPassword ||
!registryDomain ||
!registryType
) {
throw ApiStatusCodes.createError(
ApiStatusCodes.ILLEGAL_PARAMETER,
'User, password and domain are required.'
)
}
return self.getAllRegistries()
})
.then(function(registries) {
@@ -34,6 +34,36 @@ router.post('/insert/', function(req, res, next) {
.catch(ApiStatusCodes.createCatcher(res))
})
router.post('/update/', function(req, res, next) {
let registryId = req.body.id + ''
let registryUser = req.body.registryUser + ''
let registryPassword = req.body.registryPassword + ''
let registryDomain = req.body.registryDomain + ''
let registryImagePrefix = req.body.registryImagePrefix + ''
const registryHelper = InjectionExtractor.extractUserFromInjected(
res
).user.serviceManager.getRegistryHelper()
return Promise.resolve()
.then(function() {
return registryHelper.updateRegistry(
registryId,
registryUser,
registryPassword,
registryDomain,
registryImagePrefix,
IRegistryTypes.REMOTE_REG
)
})
.then(function() {
let msg = 'Registry is updated.'
Logger.d(msg)
res.send(new BaseApi(ApiStatusCodes.STATUS_OK, msg))
})
.catch(ApiStatusCodes.createCatcher(res))
})
router.get('/all/', function(req, res, next) {
const registryHelper = InjectionExtractor.extractUserFromInjected(
res
+22 -7
View File
@@ -167,13 +167,6 @@ class DockerRegistryHelper {
) {
const self = this
return Promise.resolve().then(function() {
if (!registryUser || !registryPassword || !registryDomain) {
throw ApiStatusCodes.createError(
ApiStatusCodes.ILLEGAL_PARAMETER,
'User, password and domain are required.'
)
}
return self.dataStore.addRegistryToDb(
registryUser,
registryPassword,
@@ -183,6 +176,28 @@ class DockerRegistryHelper {
)
})
}
updateRegistry(
id: string,
registryUser: string,
registryPassword: string,
registryDomain: string,
registryImagePrefix: string,
registryType: IRegistryType
) {
const self = this
return Promise.resolve().then(function() {
return self.dataStore.updateRegistry(
id,
registryUser,
registryPassword,
registryDomain,
registryImagePrefix,
registryType
)
})
}
}
export = DockerRegistryHelper