Răsfoiți Sursa

Fix stream update not persisting

jbowring 1 an în urmă
părinte
comite
2657af97cf
1 a modificat fișierele cu 13 adăugiri și 9 ștergeri
  1. 13 9
      backend/internal/stream.js

+ 13 - 9
backend/internal/stream.js

@@ -35,9 +35,8 @@ const internalStream = {
 					data.meta = {};
 				}
 
-				let data_no_domains = structuredClone(data);
-
 				// streams aren't routed by domain name so don't store domain names in the DB
+				let data_no_domains = structuredClone(data);
 				delete data_no_domains.domain_names;
 
 				return streamModel
@@ -73,7 +72,7 @@ const internalStream = {
 				// Configure nginx
 				return internalNginx.configure(streamModel, 'stream', row)
 					.then(() => {
-						return internalStream.get(access, {id: row.id, expand: ['owner']});
+						return row;
 					});
 			})
 			.then((row) => {
@@ -140,12 +139,6 @@ const internalStream = {
 					.query()
 					.patchAndFetchById(row.id, data)
 					.then(utils.omitRow(omissions()))
-					.then((saved_row) => {
-						return internalNginx.configure(streamModel, 'stream', saved_row)
-							.then(() => {
-								return internalStream.get(access, {id: row.id, expand: ['owner']});
-							});
-					})
 					.then((saved_row) => {
 						// Add to audit log
 						return internalAuditLog.add(access, {
@@ -158,6 +151,17 @@ const internalStream = {
 								return saved_row;
 							});
 					});
+			})
+			.then(() => {
+				return internalStream.get(access, {id: data.id, expand: ['owner', 'certificate']})
+					.then((row) => {
+						return internalNginx.configure(streamModel, 'stream', row)
+							.then((new_meta) => {
+								row.meta = new_meta;
+								row      = internalHost.cleanRowCertificateMeta(row);
+								return _.omit(row, omissions());
+							});
+					});
 			});
 	},