MCPcopy Create free account
hub / github.com/pgadmin-org/pgadmin4 / create_backup_objects_job

Function create_backup_objects_job

web/pgadmin/tools/backup/__init__.py:408–508  ·  view source on GitHub ↗

Args: sid: Server ID Creates a new job for backup task (Backup Database(s)/Schema(s)/Table(s)) Returns: None

(sid)

Source from the content-addressed store, hash-verified

406@permissions_required(AllPermissionTypes.tools_backup)
407@pga_login_required
408def create_backup_objects_job(sid):
409 """
410 Args:
411 sid: Server ID
412
413 Creates a new job for backup task
414 (Backup Database(s)/Schema(s)/Table(s))
415
416 Returns:
417 None
418 """
419
420 data = json.loads(request.data)
421 backup_obj_type = data.get('type', 'objects')
422
423 try:
424 backup_file = filename_with_file_manager_path(
425 data['file'], (data.get('format', '') != 'directory'))
426 except PermissionError as e:
427 return unauthorized(errormsg=str(e))
428 except Exception as e:
429 return bad_request(errormsg=str(e))
430
431 # Fetch the server details like hostname, port, roles etc
432 server = get_server(sid)
433
434 if server is None:
435 return make_json_response(
436 success=0,
437 errormsg=SERVER_NOT_FOUND
438 )
439
440 # To fetch MetaData for the server
441 from pgadmin.utils.driver import get_driver
442 driver = get_driver(PG_DEFAULT_DRIVER)
443 manager = driver.connection_manager(server.id)
444 conn = manager.connection()
445 connected = conn.connected()
446
447 if not connected:
448 return make_json_response(
449 success=0,
450 errormsg=gettext("Please connect to the server first.")
451 )
452
453 utility = manager.utility('backup') if backup_obj_type == 'objects' \
454 else manager.utility('backup_server')
455
456 ret_val = does_utility_exist(utility)
457 if ret_val:
458 return make_json_response(
459 success=0,
460 errormsg=ret_val
461 )
462
463 args = _get_args_params_values(
464 data, conn, backup_obj_type, backup_file, server, manager)
465

Callers

nothing calls this directly

Calls 15

set_env_variablesMethod · 0.95
startMethod · 0.95
unauthorizedFunction · 0.90
bad_requestFunction · 0.90
get_serverFunction · 0.90
make_json_responseFunction · 0.90
get_driverFunction · 0.90
does_utility_existFunction · 0.90
BatchProcessClass · 0.90
gettextFunction · 0.85

Tested by

no test coverage detected