mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Add Save Only button to config editor (#5090)
* Add Save Only button to save config without restarting * Fixes * fix formatting * change to query parameter from header * lint fixes
This commit is contained in:
		
							parent
							
								
									621aa0cf61
								
							
						
					
					
						commit
						e39fb51dec
					
				@ -710,6 +710,8 @@ def config_raw():
 | 
			
		||||
 | 
			
		||||
@bp.route("/config/save", methods=["POST"])
 | 
			
		||||
def config_save():
 | 
			
		||||
    save_option = request.args.get("save_option")
 | 
			
		||||
 | 
			
		||||
    new_config = request.get_data().decode()
 | 
			
		||||
 | 
			
		||||
    if not new_config:
 | 
			
		||||
@ -753,13 +755,16 @@ def config_save():
 | 
			
		||||
            400,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    try:
 | 
			
		||||
        restart_frigate()
 | 
			
		||||
    except Exception as e:
 | 
			
		||||
        logging.error(f"Error restarting Frigate: {e}")
 | 
			
		||||
        return "Config successfully saved, unable to restart Frigate", 200
 | 
			
		||||
    if save_option == "restart":
 | 
			
		||||
        try:
 | 
			
		||||
            restart_frigate()
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            logging.error(f"Error restarting Frigate: {e}")
 | 
			
		||||
            return "Config successfully saved, unable to restart Frigate", 200
 | 
			
		||||
 | 
			
		||||
    return "Config successfully saved, restarting...", 200
 | 
			
		||||
        return "Config successfully saved, restarting...", 200
 | 
			
		||||
    else:
 | 
			
		||||
        return "Config successfully saved.", 200
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bp.route("/config/schema.json")
 | 
			
		||||
 | 
			
		||||
@ -17,13 +17,13 @@ export default function Config() {
 | 
			
		||||
  const [success, setSuccess] = useState();
 | 
			
		||||
  const [error, setError] = useState();
 | 
			
		||||
 | 
			
		||||
  const onHandleSaveConfig = async (e) => {
 | 
			
		||||
  const onHandleSaveConfig = async (e, save_option) => {
 | 
			
		||||
    if (e) {
 | 
			
		||||
      e.stopPropagation();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    axios
 | 
			
		||||
      .post('config/save', window.editor.getValue(), {
 | 
			
		||||
      .post(`config/save?save_option=${save_option}`, window.editor.getValue(), {
 | 
			
		||||
        headers: { 'Content-Type': 'text/plain' },
 | 
			
		||||
      })
 | 
			
		||||
      .then((response) => {
 | 
			
		||||
@ -97,9 +97,12 @@ export default function Config() {
 | 
			
		||||
          <Button className="mx-2" onClick={(e) => handleCopyConfig(e)}>
 | 
			
		||||
            Copy Config
 | 
			
		||||
          </Button>
 | 
			
		||||
          <Button className="mx-2" onClick={(e) => onHandleSaveConfig(e)}>
 | 
			
		||||
          <Button className="mx-2" onClick={(e) => onHandleSaveConfig(e, "restart")}>
 | 
			
		||||
            Save & Restart
 | 
			
		||||
          </Button>
 | 
			
		||||
          <Button className="mx-2" onClick={(e) => onHandleSaveConfig(e, "saveonly")}>
 | 
			
		||||
            Save Only
 | 
			
		||||
          </Button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user