mirror of
https://github.com/ansible/awx.git
synced 2026-01-15 03:40:42 -03:30
Merge pull request #1 from gconsidine/275-delete-warnings
275 delete warnings
This commit is contained in:
commit
2957f5bc7f
@ -45,6 +45,7 @@ module.exports = {
|
||||
ignoreTemplateLiterals: true,
|
||||
}],
|
||||
'no-continue': 'off',
|
||||
'no-debugger': 'off',
|
||||
'no-mixed-operators': 'off',
|
||||
'no-param-reassign': 'off',
|
||||
'no-plusplus': 'off',
|
||||
|
||||
@ -42,7 +42,7 @@ function AddCredentialsController (models, $state, strings) {
|
||||
vm.form.save = data => {
|
||||
data.user = me.get('id');
|
||||
|
||||
return credential.request('post', data);
|
||||
return credential.request('post', { data });
|
||||
};
|
||||
|
||||
vm.form.onSaveSuccess = res => {
|
||||
|
||||
@ -88,7 +88,7 @@ function EditCredentialsController (models, $state, $scope, strings) {
|
||||
data.user = me.get('id');
|
||||
credential.unset('inputs');
|
||||
|
||||
return credential.request('put', data);
|
||||
return credential.request('put', { data });
|
||||
};
|
||||
|
||||
vm.form.onSaveSuccess = () => {
|
||||
|
||||
@ -1,34 +1,46 @@
|
||||
let $http;
|
||||
let $q;
|
||||
let cache;
|
||||
let strings;
|
||||
|
||||
function request (method, resource) {
|
||||
if (Array.isArray(method)) {
|
||||
const promises = method.map((_method_, i) =>
|
||||
this.request(_method_, Array.isArray(resource) ? resource[i] : resource));
|
||||
function request (method, resource, config) {
|
||||
let req = this.parseRequestConfig(method, resource, config);
|
||||
|
||||
if (Array.isArray(req.method)) {
|
||||
const promises = req.method.map((_method, i) => {
|
||||
const _resource = Array.isArray(req.resource) ? req.resource[i] : req.resource;
|
||||
|
||||
req = this.parseRequestConfig(_method, _resource, config);
|
||||
|
||||
if (this.isCacheable(req)) {
|
||||
return this.requestWithCache(req);
|
||||
}
|
||||
|
||||
return this.request(req);
|
||||
});
|
||||
|
||||
return $q.all(promises);
|
||||
}
|
||||
|
||||
if (this.isCacheable(method, resource)) {
|
||||
return this.requestWithCache(method, resource);
|
||||
if (this.isCacheable(req)) {
|
||||
return this.requestWithCache(req);
|
||||
}
|
||||
|
||||
return this.http[method](resource);
|
||||
return this.http[req.method](req);
|
||||
}
|
||||
|
||||
function requestWithCache (method, resource) {
|
||||
const key = cache.createKey(method, this.path, resource);
|
||||
function requestWithCache (config) {
|
||||
const key = cache.createKey(config.method, this.path, config.resource);
|
||||
|
||||
return cache.get(key)
|
||||
.then(data => {
|
||||
if (data) {
|
||||
this.model[method.toUpperCase()] = data;
|
||||
this.model[config.method.toUpperCase()] = data;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
return this.http[method](resource)
|
||||
return this.http[config.method](config)
|
||||
.then(res => {
|
||||
cache.put(key, res.data);
|
||||
|
||||
@ -77,22 +89,22 @@ function search (params, config) {
|
||||
});
|
||||
}
|
||||
|
||||
function httpGet (resource, config) {
|
||||
function httpGet (config = {}) {
|
||||
const req = {
|
||||
method: 'GET',
|
||||
url: this.path
|
||||
};
|
||||
|
||||
if (config && config.params) {
|
||||
if (config.params) {
|
||||
req.params = config.params;
|
||||
}
|
||||
|
||||
if (typeof resource === 'object') {
|
||||
this.model.GET = resource;
|
||||
if (typeof config.resource === 'object') {
|
||||
this.model.GET = config.resource;
|
||||
|
||||
return $q.resolve();
|
||||
} else if (resource) {
|
||||
req.url = `${this.path}${resource}/`;
|
||||
} else if (config.resource) {
|
||||
req.url = `${this.path}${config.resource}/`;
|
||||
}
|
||||
|
||||
return $http(req)
|
||||
@ -103,40 +115,51 @@ function httpGet (resource, config) {
|
||||
});
|
||||
}
|
||||
|
||||
function httpPost (data) {
|
||||
function httpPost (config = {}) {
|
||||
const req = {
|
||||
method: 'POST',
|
||||
url: this.path,
|
||||
data
|
||||
data: config.data
|
||||
};
|
||||
|
||||
return $http(req).then(res => {
|
||||
this.model.GET = res.data;
|
||||
return $http(req)
|
||||
.then(res => {
|
||||
this.model.GET = res.data;
|
||||
|
||||
return res;
|
||||
});
|
||||
return res;
|
||||
});
|
||||
}
|
||||
|
||||
function httpPut (changes) {
|
||||
const model = Object.assign(this.get(), changes);
|
||||
function httpPatch (config = {}) {
|
||||
const req = {
|
||||
method: 'PUT',
|
||||
url: `${this.path}${this.get('id')}/`,
|
||||
data: config.changes
|
||||
};
|
||||
|
||||
return $http(req);
|
||||
}
|
||||
|
||||
function httpPut (config = {}) {
|
||||
const model = _.merge(this.get(), config.data);
|
||||
|
||||
const req = {
|
||||
method: 'PUT',
|
||||
url: `${this.path}${model.id}/`,
|
||||
url: `${this.path}${this.get('id')}/`,
|
||||
data: model
|
||||
};
|
||||
|
||||
return $http(req).then(res => res);
|
||||
return $http(req);
|
||||
}
|
||||
|
||||
function httpOptions (resource) {
|
||||
function httpOptions (config = {}) {
|
||||
const req = {
|
||||
method: 'OPTIONS',
|
||||
url: this.path
|
||||
};
|
||||
|
||||
if (resource) {
|
||||
req.url = `${this.path}${resource}/`;
|
||||
if (config.resource) {
|
||||
req.url = `${this.path}${config.resource}/`;
|
||||
}
|
||||
|
||||
return $http(req)
|
||||
@ -147,17 +170,17 @@ function httpOptions (resource) {
|
||||
});
|
||||
}
|
||||
|
||||
function httpDelete (resource) {
|
||||
function httpDelete (config = {}) {
|
||||
const req = {
|
||||
method: 'DELETE',
|
||||
url: this.path
|
||||
};
|
||||
|
||||
if (resource) {
|
||||
req.url = `${this.path}${resource}/`;
|
||||
if (config.resource) {
|
||||
req.url = `${this.path}${config.resource}/`;
|
||||
}
|
||||
|
||||
return $http(req).then(res => res);
|
||||
return $http(req);
|
||||
}
|
||||
|
||||
function options (keys) {
|
||||
@ -367,29 +390,19 @@ function graft (id) {
|
||||
}
|
||||
|
||||
function getDependentResourceCounts (id) {
|
||||
if (this.setDependentResources) {
|
||||
this.setDependentResources(id);
|
||||
} else {
|
||||
return Promise.resolve([]);
|
||||
}
|
||||
this.setDependentResources(id);
|
||||
|
||||
const dependentResourcePromises = [];
|
||||
const promises = [];
|
||||
|
||||
this.dependentResources.forEach(dependentResource => {
|
||||
const config = {};
|
||||
|
||||
if (dependentResource.params) {
|
||||
config.params = dependentResource.params;
|
||||
}
|
||||
|
||||
dependentResourcePromises.push(dependentResource.model.http.get(undefined, config)
|
||||
.then((val) => ({
|
||||
label: dependentResource.model.label,
|
||||
count: val.data.count
|
||||
this.dependentResources.forEach(resource => {
|
||||
promises.push(resource.model.request('get', resource.params)
|
||||
.then(res => ({
|
||||
label: resource.model.label,
|
||||
count: res.data.count
|
||||
})));
|
||||
});
|
||||
|
||||
return Promise.all(dependentResourcePromises);
|
||||
return Promise.all(promises);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -401,20 +414,22 @@ function getDependentResourceCounts (id) {
|
||||
* @arg {string=} method - Populate the model with `GET` or `OPTIONS` data.
|
||||
* @arg {(string|Object)=} resource - An `id` reference to a particular
|
||||
* resource or an existing model's data.
|
||||
* @arg {boolean=} isGraft - Create a new instance from existing model data.
|
||||
* @arg {config=} config - Create a new instance from existing model data.
|
||||
*
|
||||
* @returns {(Object|Promise)} - Returns a reference to the model instance
|
||||
* if an empty instance or graft is created. Otherwise, a promise yielding
|
||||
* a model instance is returned.
|
||||
*/
|
||||
function create (method, resource, isGraft, config) {
|
||||
if (!method) {
|
||||
function create (method, resource, config) {
|
||||
const req = this.parseRequestConfig(method, resource, config);
|
||||
|
||||
if (!req || !req.method) {
|
||||
return this;
|
||||
}
|
||||
|
||||
this.promise = this.request(method, resource, config);
|
||||
this.promise = this.request(req);
|
||||
|
||||
if (isGraft) {
|
||||
if (req.graft) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -422,17 +437,51 @@ function create (method, resource, isGraft, config) {
|
||||
.then(() => this);
|
||||
}
|
||||
|
||||
function parseRequestConfig (method, resource, config) {
|
||||
if (!method) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let req = {};
|
||||
|
||||
if (Array.isArray(method)) {
|
||||
if (Array.isArray(resource)) {
|
||||
req.resource = resource;
|
||||
} else if (typeof resource === 'object') {
|
||||
req = resource;
|
||||
}
|
||||
|
||||
req.method = method;
|
||||
} else if (typeof method === 'string') {
|
||||
if (typeof resource === 'object') {
|
||||
req = resource;
|
||||
} else {
|
||||
req.resource = resource;
|
||||
}
|
||||
|
||||
req.method = method;
|
||||
} else if (typeof method === 'object') {
|
||||
req = method;
|
||||
} else {
|
||||
req = config;
|
||||
req.method = method;
|
||||
req.resource = resource;
|
||||
}
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
/**
|
||||
* Base functionality for API interaction.
|
||||
*
|
||||
* @arg {string} path - The API resource for the model extending BaseModel to
|
||||
* @arg {string} resource - The API resource for the model extending BaseModel to
|
||||
* use.
|
||||
* @arg {Object=} settings - Configuration applied to all instances of the
|
||||
* extending model.
|
||||
* @arg {boolean=} settings.cache - Cache the model data.
|
||||
*
|
||||
*/
|
||||
function BaseModel (path, settings) {
|
||||
function BaseModel (resource, settings) {
|
||||
this.create = create;
|
||||
this.find = find;
|
||||
this.get = get;
|
||||
@ -444,6 +493,7 @@ function BaseModel (path, settings) {
|
||||
this.match = match;
|
||||
this.normalizePath = normalizePath;
|
||||
this.options = options;
|
||||
this.parseRequestConfig = parseRequestConfig;
|
||||
this.request = request;
|
||||
this.requestWithCache = requestWithCache;
|
||||
this.search = search;
|
||||
@ -455,24 +505,27 @@ function BaseModel (path, settings) {
|
||||
this.http = {
|
||||
get: httpGet.bind(this),
|
||||
options: httpOptions.bind(this),
|
||||
patch: httpPatch.bind(this),
|
||||
post: httpPost.bind(this),
|
||||
put: httpPut.bind(this),
|
||||
delete: httpDelete.bind(this)
|
||||
};
|
||||
|
||||
this.model = {};
|
||||
this.path = this.normalizePath(path);
|
||||
this.path = this.normalizePath(resource);
|
||||
this.label = strings.get(`${resource}.LABEL`);
|
||||
this.settings = settings || {};
|
||||
}
|
||||
|
||||
function BaseModelLoader (_$http_, _$q_, _cache_) {
|
||||
function BaseModelLoader (_$http_, _$q_, _cache_, ModelsStrings) {
|
||||
$http = _$http_;
|
||||
$q = _$q_;
|
||||
cache = _cache_;
|
||||
strings = ModelsStrings;
|
||||
|
||||
return BaseModel;
|
||||
}
|
||||
|
||||
BaseModelLoader.$inject = ['$http', '$q', 'CacheService'];
|
||||
BaseModelLoader.$inject = ['$http', '$q', 'CacheService', 'ModelsStrings'];
|
||||
|
||||
export default BaseModelLoader;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
let $log;
|
||||
let BaseModel;
|
||||
let Base;
|
||||
|
||||
function getTruncatedVersion () {
|
||||
let version;
|
||||
@ -17,18 +17,18 @@ function isOpen () {
|
||||
return this.get('license_info.license_type') === 'open';
|
||||
}
|
||||
|
||||
function ConfigModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'config', { cache: true });
|
||||
function ConfigModel (method, resource, config) {
|
||||
Base.call(this, 'config', { cache: true });
|
||||
|
||||
this.Constructor = ConfigModel;
|
||||
this.getTruncatedVersion = getTruncatedVersion;
|
||||
this.isOpen = isOpen;
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function ConfigModelLoader (_BaseModel_, _$log_) {
|
||||
BaseModel = _BaseModel_;
|
||||
function ConfigModelLoader (BaseModel, _$log_) {
|
||||
Base = BaseModel;
|
||||
$log = _$log_;
|
||||
|
||||
return ConfigModel;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
const ENCRYPTED_VALUE = '$encrypted$';
|
||||
|
||||
let BaseModel;
|
||||
let ProjectModel;
|
||||
let JobTemplateModel;
|
||||
let InventoryModel;
|
||||
let InventorySourceModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let Project;
|
||||
let JobTemplate;
|
||||
let Inventory;
|
||||
let InventorySource;
|
||||
|
||||
function createFormSchema (method, config) {
|
||||
if (!config) {
|
||||
@ -48,26 +47,26 @@ function assignInputGroupValues (inputs) {
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new ProjectModel(),
|
||||
model: new Project(),
|
||||
params: {
|
||||
credential: id
|
||||
}
|
||||
},
|
||||
{
|
||||
model: new JobTemplateModel(),
|
||||
model: new JobTemplate(),
|
||||
params: {
|
||||
credential: id,
|
||||
ask_credential_on_launch: false
|
||||
}
|
||||
},
|
||||
{
|
||||
model: new InventoryModel(),
|
||||
model: new Inventory(),
|
||||
params: {
|
||||
insights_credential: id
|
||||
}
|
||||
},
|
||||
{
|
||||
model: new InventorySourceModel(),
|
||||
model: new InventorySource(),
|
||||
params: {
|
||||
credential: id
|
||||
}
|
||||
@ -75,32 +74,29 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function CredentialModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'credentials');
|
||||
function CredentialModel (method, resource, config) {
|
||||
Base.call(this, 'credentials');
|
||||
|
||||
this.Constructor = CredentialModel;
|
||||
this.createFormSchema = createFormSchema.bind(this);
|
||||
this.assignInputGroupValues = assignInputGroupValues.bind(this);
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.CREDENTIAL');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function CredentialModelLoader (
|
||||
_BaseModel_,
|
||||
_ProjectModel_,
|
||||
_JobTemplateModel_,
|
||||
_InventoryModel_,
|
||||
_InventorySourceModel_,
|
||||
_ModelsStrings_
|
||||
BaseModel,
|
||||
ProjectModel,
|
||||
JobTemplateModel,
|
||||
InventoryModel,
|
||||
InventorySourceModel
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
ProjectModel = _ProjectModel_;
|
||||
JobTemplateModel = _JobTemplateModel_;
|
||||
InventoryModel = _InventoryModel_;
|
||||
InventorySourceModel = _InventorySourceModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
Base = BaseModel;
|
||||
Project = ProjectModel;
|
||||
JobTemplate = JobTemplateModel;
|
||||
Inventory = InventoryModel;
|
||||
InventorySource = InventorySourceModel;
|
||||
|
||||
return CredentialModel;
|
||||
}
|
||||
@ -110,8 +106,7 @@ CredentialModelLoader.$inject = [
|
||||
'ProjectModel',
|
||||
'JobTemplateModel',
|
||||
'InventoryModel',
|
||||
'InventorySourceModel',
|
||||
'ModelsStrings'
|
||||
'InventorySourceModel'
|
||||
];
|
||||
|
||||
export default CredentialModelLoader;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
let BaseModel;
|
||||
let CredentialModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let Credential;
|
||||
|
||||
function categorizeByKind () {
|
||||
const group = {};
|
||||
@ -35,7 +34,7 @@ function mergeInputProperties () {
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new CredentialModel(),
|
||||
model: new Credential(),
|
||||
params: {
|
||||
credential_type: id
|
||||
}
|
||||
@ -43,34 +42,27 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function CredentialTypeModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'credential_types');
|
||||
function CredentialTypeModel (method, resource, config) {
|
||||
Base.call(this, 'credential_types');
|
||||
|
||||
this.Constructor = CredentialTypeModel;
|
||||
this.categorizeByKind = categorizeByKind.bind(this);
|
||||
this.mergeInputProperties = mergeInputProperties.bind(this);
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.CREDENTIAL_TYPE');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function CredentialTypeModelLoader (
|
||||
_BaseModel_,
|
||||
_CredentialModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
CredentialModel = _CredentialModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function CredentialTypeModelLoader (BaseModel, CredentialModel) {
|
||||
Base = BaseModel;
|
||||
Credential = CredentialModel;
|
||||
|
||||
return CredentialTypeModel;
|
||||
}
|
||||
|
||||
CredentialTypeModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'CredentialModel',
|
||||
'ModelsStrings'
|
||||
'CredentialModel'
|
||||
];
|
||||
|
||||
export default CredentialTypeModelLoader;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
let BaseModel;
|
||||
let JobTemplateModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let JobTemplate;
|
||||
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new JobTemplateModel(),
|
||||
model: new JobTemplate(),
|
||||
params: {
|
||||
inventory: id
|
||||
}
|
||||
@ -13,32 +12,25 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function InventoryModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'inventories');
|
||||
function InventoryModel (method, resource, config) {
|
||||
Base.call(this, 'inventories');
|
||||
|
||||
this.Constructor = InventoryModel;
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.INVENTORY');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function InventoryModelLoader (
|
||||
_BaseModel_,
|
||||
_JobTemplateModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
JobTemplateModel = _JobTemplateModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function InventoryModelLoader (BaseModel, JobTemplateModel) {
|
||||
Base = BaseModel;
|
||||
JobTemplate = JobTemplateModel;
|
||||
|
||||
return InventoryModel;
|
||||
}
|
||||
|
||||
InventoryModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'JobTemplateModel',
|
||||
'ModelsStrings'
|
||||
'JobTemplateModel'
|
||||
];
|
||||
|
||||
export default InventoryModelLoader;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
let BaseModel;
|
||||
let InventorySourceModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let InventorySource;
|
||||
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new InventorySourceModel(),
|
||||
model: new InventorySource(),
|
||||
params: {
|
||||
source_script: id
|
||||
}
|
||||
@ -13,32 +12,25 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function InventoryScriptModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'inventory_scripts');
|
||||
function InventoryScriptModel (method, resource, config) {
|
||||
Base.call(this, 'inventory_scripts');
|
||||
|
||||
this.Constructor = InventoryScriptModel;
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.INVENTORY_SCRIPT');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function InventoryScriptModelLoader (
|
||||
_BaseModel_,
|
||||
_InventorySourceModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
InventorySourceModel = _InventorySourceModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function InventoryScriptModelLoader (BaseModel, InventorySourceModel) {
|
||||
Base = BaseModel;
|
||||
InventorySource = InventorySourceModel;
|
||||
|
||||
return InventoryScriptModel;
|
||||
}
|
||||
|
||||
InventoryScriptModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'InventorySourceModel',
|
||||
'ModelsStrings'
|
||||
'InventorySourceModel'
|
||||
];
|
||||
|
||||
export default InventoryScriptModelLoader;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
let BaseModel;
|
||||
let WorkflowJobTemplateNodeModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let WorkflowJobTemplateNode;
|
||||
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new WorkflowJobTemplateNodeModel(),
|
||||
model: new WorkflowJobTemplateNode(),
|
||||
params: {
|
||||
unified_job_template: id
|
||||
}
|
||||
@ -13,32 +12,28 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function InventorySourceModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'inventory_sources');
|
||||
function InventorySourceModel (method, resource, config) {
|
||||
Base.call(this, 'inventory_sources');
|
||||
|
||||
this.Constructor = InventorySourceModel;
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.INVENTORY_SOURCE');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function InventorySourceModelLoader (
|
||||
_BaseModel_,
|
||||
_WorkflowJobTemplateNodeModel_,
|
||||
_ModelsStrings_
|
||||
BaseModel,
|
||||
WorkflowJobTemplateNodeModel
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
Base = BaseModel;
|
||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||
|
||||
return InventorySourceModel;
|
||||
}
|
||||
|
||||
InventorySourceModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'WorkflowJobTemplateNodeModel',
|
||||
'ModelsStrings'
|
||||
'WorkflowJobTemplateNodeModel'
|
||||
];
|
||||
|
||||
export default InventorySourceModelLoader;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
let BaseModel;
|
||||
let WorkflowJobTemplateNodeModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let WorkflowJobTemplateNode;
|
||||
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new WorkflowJobTemplateNodeModel(),
|
||||
model: new WorkflowJobTemplateNode(),
|
||||
params: {
|
||||
unified_job_template: id
|
||||
}
|
||||
@ -13,32 +12,25 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function JobTemplateModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'job_templates');
|
||||
function JobTemplateModel (method, resource, config) {
|
||||
Base.call(this, 'job_templates');
|
||||
|
||||
this.Constructor = JobTemplateModel;
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.JOB_TEMPLATE');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function JobTemplateModelLoader (
|
||||
_BaseModel_,
|
||||
_WorkflowJobTemplateNodeModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function JobTemplateModelLoader (BaseModel, WorkflowJobTemplateNodeModel) {
|
||||
Base = BaseModel;
|
||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||
|
||||
return JobTemplateModel;
|
||||
}
|
||||
|
||||
JobTemplateModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'WorkflowJobTemplateNodeModel',
|
||||
'ModelsStrings'
|
||||
'WorkflowJobTemplateNodeModel'
|
||||
];
|
||||
|
||||
export default JobTemplateModelLoader;
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
let BaseModel;
|
||||
let Base;
|
||||
|
||||
function MeModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'me');
|
||||
function MeModel (method, resource, config) {
|
||||
Base.call(this, 'me');
|
||||
|
||||
this.Constructor = MeModel;
|
||||
|
||||
return this.create(method, resource, graft)
|
||||
return this.create(method, resource, config)
|
||||
.then(() => {
|
||||
if (this.has('results')) {
|
||||
_.merge(this.model.GET, this.get('results[0]'));
|
||||
@ -16,8 +16,8 @@ function MeModel (method, resource, graft) {
|
||||
});
|
||||
}
|
||||
|
||||
function MeModelLoader (_BaseModel_) {
|
||||
BaseModel = _BaseModel_;
|
||||
function MeModelLoader (BaseModel) {
|
||||
Base = BaseModel;
|
||||
|
||||
return MeModel;
|
||||
}
|
||||
|
||||
@ -1,28 +1,21 @@
|
||||
let BaseModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
|
||||
function OrganizationModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'organizations');
|
||||
function OrganizationModel (method, resource, config) {
|
||||
Base.call(this, 'organizations');
|
||||
|
||||
this.Constructor = OrganizationModel;
|
||||
this.label = ModelsStrings.get('labels.ORGANIZATION');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function OrganizationModelLoader (
|
||||
_BaseModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function OrganizationModelLoader (BaseModel) {
|
||||
Base = BaseModel;
|
||||
|
||||
return OrganizationModel;
|
||||
}
|
||||
|
||||
OrganizationModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'ModelsStrings'
|
||||
'BaseModel'
|
||||
];
|
||||
|
||||
export default OrganizationModelLoader;
|
||||
|
||||
@ -1,25 +1,24 @@
|
||||
let BaseModel;
|
||||
let JobTemplateModel;
|
||||
let WorkflowJobTemplateNodeModel;
|
||||
let InventorySourceModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
let JobTemplate;
|
||||
let WorkflowJobTemplateNode;
|
||||
let InventorySource;
|
||||
|
||||
function setDependentResources (id) {
|
||||
this.dependentResources = [
|
||||
{
|
||||
model: new JobTemplateModel(),
|
||||
model: new JobTemplate(),
|
||||
params: {
|
||||
project: id
|
||||
}
|
||||
},
|
||||
{
|
||||
model: new WorkflowJobTemplateNodeModel(),
|
||||
model: new WorkflowJobTemplateNode(),
|
||||
params: {
|
||||
unified_job_template: id
|
||||
}
|
||||
},
|
||||
{
|
||||
model: new InventorySourceModel(),
|
||||
model: new InventorySource(),
|
||||
params: {
|
||||
source_project: id
|
||||
}
|
||||
@ -27,28 +26,25 @@ function setDependentResources (id) {
|
||||
];
|
||||
}
|
||||
|
||||
function ProjectModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'projects');
|
||||
function ProjectModel (method, resource, config) {
|
||||
Base.call(this, 'projects');
|
||||
|
||||
this.Constructor = ProjectModel;
|
||||
this.setDependentResources = setDependentResources.bind(this);
|
||||
this.label = ModelsStrings.get('labels.PROJECT');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function ProjectModelLoader (
|
||||
_BaseModel_,
|
||||
_JobTemplateModel_,
|
||||
_WorkflowJobTemplateNodeModel_,
|
||||
_InventorySourceModel_,
|
||||
_ModelsStrings_
|
||||
BaseModel,
|
||||
JobTemplateModel,
|
||||
WorkflowJobTemplateNodeModel,
|
||||
InventorySourceModel,
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
JobTemplateModel = _JobTemplateModel_;
|
||||
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
|
||||
InventorySourceModel = _InventorySourceModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
Base = BaseModel;
|
||||
JobTemplate = JobTemplateModel;
|
||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||
InventorySource = InventorySourceModel;
|
||||
|
||||
return ProjectModel;
|
||||
}
|
||||
@ -57,8 +53,7 @@ ProjectModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'JobTemplateModel',
|
||||
'WorkflowJobTemplateNodeModel',
|
||||
'InventorySourceModel',
|
||||
'ModelsStrings'
|
||||
'InventorySourceModel'
|
||||
];
|
||||
|
||||
export default ProjectModelLoader;
|
||||
|
||||
@ -1,28 +1,21 @@
|
||||
let BaseModel;
|
||||
let ModelsStrings;
|
||||
let Base;
|
||||
|
||||
function WorkflowJobTemplateNodeModel (method, resource, graft) {
|
||||
BaseModel.call(this, 'workflow_job_template_nodes');
|
||||
function WorkflowJobTemplateNodeModel (method, resource, config) {
|
||||
Base.call(this, 'workflow_job_template_nodes');
|
||||
|
||||
this.Constructor = WorkflowJobTemplateNodeModel;
|
||||
this.label = ModelsStrings.get('labels.WORKFLOW_JOB_TEMPLATE_NODE');
|
||||
|
||||
return this.create(method, resource, graft);
|
||||
return this.create(method, resource, config);
|
||||
}
|
||||
|
||||
function WorkflowJobTemplateNodeModelLoader (
|
||||
_BaseModel_,
|
||||
_ModelsStrings_
|
||||
) {
|
||||
BaseModel = _BaseModel_;
|
||||
ModelsStrings = _ModelsStrings_;
|
||||
function WorkflowJobTemplateNodeModelLoader (BaseModel) {
|
||||
Base = BaseModel;
|
||||
|
||||
return WorkflowJobTemplateNodeModel;
|
||||
}
|
||||
|
||||
WorkflowJobTemplateNodeModelLoader.$inject = [
|
||||
'BaseModel',
|
||||
'ModelsStrings'
|
||||
'BaseModel'
|
||||
];
|
||||
|
||||
export default WorkflowJobTemplateNodeModelLoader;
|
||||
|
||||
@ -4,16 +4,46 @@ function ModelsStrings (BaseString) {
|
||||
const { t } = this;
|
||||
const ns = this.models;
|
||||
|
||||
ns.labels = {
|
||||
CREDENTIAL: t.s('Credentials'),
|
||||
CREDENTIAL_TYPE: t.s('Credential Types'),
|
||||
INVENTORY: t.s('Inventories'),
|
||||
INVENTORY_SCRIPT: t.s('Inventory Scripts'),
|
||||
INVENTORY_SOURCE: t.s('Inventory Sources'),
|
||||
JOB_TEMPLATE: t.s('Job Templates'),
|
||||
ORGANIZATION: t.s('Organizations'),
|
||||
PROJECT: t.s('Projects'),
|
||||
WORKFLOW_JOB_TEMPLATE_NODE: t.s('Workflow Job Template Nodes')
|
||||
ns.credentials = {
|
||||
LABEL: t.s('Credentials')
|
||||
};
|
||||
|
||||
ns.credential_types = {
|
||||
LABEL: t.s('Credential Types')
|
||||
};
|
||||
|
||||
ns.inventories = {
|
||||
LABEL: t.s('Inventories')
|
||||
};
|
||||
|
||||
ns.inventory_scripts = {
|
||||
LABEL: t.s('Inventory Scripts')
|
||||
|
||||
};
|
||||
|
||||
ns.inventory_sources = {
|
||||
LABEL: t.s('Inventory Sources')
|
||||
|
||||
};
|
||||
|
||||
ns.job_templates = {
|
||||
LABEL: t.s('Job Templates')
|
||||
|
||||
};
|
||||
|
||||
ns.organizations = {
|
||||
LABEL: t.s('Organizations')
|
||||
|
||||
};
|
||||
|
||||
ns.projects = {
|
||||
LABEL: t.s('Projects')
|
||||
|
||||
};
|
||||
|
||||
ns.workflow_job_template_nodes = {
|
||||
LABEL: t.s('Workflow Job Template Nodes')
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ let i18n;
|
||||
|
||||
function BaseStringService (namespace) {
|
||||
const ERROR_NO_NAMESPACE = 'BaseString cannot be extended without providing a namespace';
|
||||
const ERROR_NO_STRING = 'No string exists with this name';
|
||||
|
||||
if (!namespace) {
|
||||
throw new Error(ERROR_NO_NAMESPACE);
|
||||
@ -67,8 +66,6 @@ function BaseStringService (namespace) {
|
||||
* the more globally relevant strings defined here. Strings with with dots as delimeters are
|
||||
* supported to give flexibility to extending classes to nest strings as necessary.
|
||||
*
|
||||
* If no match is found, an error is thrown to alert the developer immediately instead of
|
||||
* failing silently.
|
||||
*
|
||||
* The `t.s` and `t.p` calls should only be used where strings are defined in
|
||||
* <name>.strings.js` files. To use translated strings elsewhere, access them through this
|
||||
@ -88,13 +85,13 @@ function BaseStringService (namespace) {
|
||||
} else {
|
||||
value = value[key];
|
||||
}
|
||||
|
||||
if (!value) {
|
||||
throw new Error(`${ERROR_NO_STRING}: ${name}`);
|
||||
}
|
||||
});
|
||||
|
||||
return typeof value === 'string' ? value : value(...args);
|
||||
if (!value || typeof value === 'string') {
|
||||
return value;
|
||||
}
|
||||
|
||||
return value(...args);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user