Ignore SQLAlchemy vulnerability as it is ignored by the upstream too.

Fix BigAnimal database versions by type. #5637
This commit is contained in:
Khushboo Vashi 2022-12-13 15:57:43 +05:30 committed by GitHub
parent 1fabf7f494
commit d9fba3a186
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 11 deletions

View File

@ -192,7 +192,7 @@
"pep8": "pycodestyle --config=../.pycodestyle ../docs && pycodestyle --config=../.pycodestyle ../pkg && pycodestyle --config=../.pycodestyle ../tools && pycodestyle --config=../.pycodestyle ../web",
"auditjs-html": "yarn audit --json | yarn run yarn-audit-html --output ../auditjs.html",
"auditjs": "yarn audit --groups dependencies",
"auditpy": "safety check --full-report -i 40493",
"auditpy": "safety check --full-report -i 40493 -i 51668",
"audit": "yarn run auditjs && yarn run auditpy"
}
}

View File

@ -103,13 +103,13 @@ def biganimal_db_types():
return make_json_response(data=pg_types)
@blueprint.route('/db_versions/',
@blueprint.route('/db_versions/<db_type>',
methods=['GET'], endpoint='db_versions')
@login_required
def biganimal_db_versions():
def biganimal_db_versions(db_type):
"""Get Database Version."""
biganimal_obj = pickle.loads(session['biganimal']['provider_obj'])
pg_versions = biganimal_obj.get_postgres_versions()
pg_versions = biganimal_obj.get_postgres_versions(db_type)
return make_json_response(data=pg_versions)
@ -301,11 +301,12 @@ class BigAnimalProvider():
})
return pg_types
def get_postgres_versions(self):
def get_postgres_versions(self, db_type):
"""Get Postgres Versions."""
_url = "{0}/{1}".format(
_url = "{0}/pg-versions?pgTypeIds={1}".format(
self.BASE_URL,
'pg-versions')
db_type
)
pg_versions = []
resp = requests.get(_url, headers=self._get_headers())
if resp.status_code == 200 and resp.content:

View File

@ -108,11 +108,11 @@ export function BigAnimalDatabase(props) {
return url_for('biganimal.db_types');
}
}),
db_versions: ()=>getNodeAjaxOptions('biganimal_db_versions', pgAdmin.Browser.Nodes['server'], props.nodeInfo, props.nodeData, {
db_versions: (db_type)=>getNodeAjaxOptions('biganimal_db_versions', pgAdmin.Browser.Nodes['server'], props.nodeInfo, props.nodeData, {
useCache:false,
cacheNode: 'server',
customGenerateUrl: ()=>{
return url_for('biganimal.db_versions');
return url_for('biganimal.db_versions', {'db_type': db_type || 'pg'});
}
}),
server_groups: ()=>getNodeListById(pgAdmin.Browser.Nodes['server_group'], props.nodeInfo, props.nodeData),

View File

@ -538,9 +538,16 @@ class BigAnimalDatabaseSchema extends BaseUISchema {
options: this.fieldOptions.db_types,
noEmpty: true, orientation: 'vertical',
},{
id: 'postgres_version', label: gettext('PostgreSQL version'), type: 'select',
mode: ['create'], noEmpty: true,
id: 'postgres_version', label: gettext('PostgreSQL version'),
mode: ['create'], noEmpty: true, deps: ['database_type'],
options: this.fieldOptions.db_versions,
type: (state) => {
return {
type: 'select',
options: ()=>this.fieldOptions.db_versions(state.database_type),
optionsReloadBasis: state.database_type,
};
},
},{
id: 'password', label: gettext('Database password'), type: 'password',
mode: ['create'], noEmpty: true,