@@ -24,7 +24,7 @@ const certbotLogsDir = "/data/logs";
2424const certbotWorkDir = "/tmp/letsencrypt-lib" ;
2525
2626const omissions = ( ) => {
27- return [ "is_deleted" , "owner.is_deleted" ] ;
27+ return [ "is_deleted" , "owner.is_deleted" , "meta.dns_provider_credentials" ] ;
2828} ;
2929
3030const internalCertificate = {
@@ -122,7 +122,7 @@ const internalCertificate = {
122122 }
123123
124124 // this command really should clean up and delete the cert if it can't fully succeed
125- const certificate = await certificateModel . query ( ) . insertAndFetch ( data ) . then ( utils . omitRow ( omissions ( ) ) ) ;
125+ const certificate = await certificateModel . query ( ) . insertAndFetch ( data ) ;
126126
127127 try {
128128 if ( certificate . provider === "letsencrypt" ) {
@@ -202,6 +202,9 @@ const internalCertificate = {
202202 savedRow . meta = _ . assign ( { } , savedRow . meta , {
203203 letsencrypt_certificate : certInfo ,
204204 } ) ;
205+
206+ await internalCertificate . addCreatedAuditLog ( access , certificate . id , savedRow ) ;
207+
205208 return savedRow ;
206209 } catch ( err ) {
207210 // Delete the certificate from the database if it was not created successfully
@@ -218,14 +221,18 @@ const internalCertificate = {
218221 data . meta = _ . assign ( { } , data . meta || { } , certificate . meta ) ;
219222
220223 // Add to audit log
224+ await internalCertificate . addCreatedAuditLog ( access , certificate . id , utils . omitRow ( omissions ( ) ) ( data ) ) ;
225+
226+ return utils . omitRow ( omissions ( ) ) ( certificate ) ;
227+ } ,
228+
229+ addCreatedAuditLog : async ( access , certificate_id , meta ) => {
221230 await internalAuditLog . add ( access , {
222231 action : "created" ,
223232 object_type : "certificate" ,
224- object_id : certificate . id ,
225- meta : data ,
233+ object_id : certificate_id ,
234+ meta : meta ,
226235 } ) ;
227-
228- return certificate ;
229236 } ,
230237
231238 /**
@@ -285,10 +292,7 @@ const internalCertificate = {
285292 . query ( )
286293 . where ( "is_deleted" , 0 )
287294 . andWhere ( "id" , data . id )
288- . allowGraph ( "[owner]" )
289- . allowGraph ( "[proxy_hosts]" )
290- . allowGraph ( "[redirection_hosts]" )
291- . allowGraph ( "[dead_hosts]" )
295+ . allowGraph ( "[owner,proxy_hosts,redirection_hosts,dead_hosts,streams]" )
292296 . first ( ) ;
293297
294298 if ( accessData . permission_visibility !== "all" ) {
@@ -305,7 +309,24 @@ const internalCertificate = {
305309 }
306310 // Custom omissions
307311 if ( typeof data . omit !== "undefined" && data . omit !== null ) {
308- return _ . omit ( row , data . omit ) ;
312+ return _ . omit ( row , [ ...data . omit ] ) ;
313+ }
314+
315+ return internalCertificate . cleanExpansions ( row ) ;
316+ } ,
317+
318+ cleanExpansions : ( row ) => {
319+ if ( typeof row . proxy_hosts !== "undefined" ) {
320+ row . proxy_hosts = utils . omitRows ( [ "is_deleted" ] ) ( row . proxy_hosts ) ;
321+ }
322+ if ( typeof row . redirection_hosts !== "undefined" ) {
323+ row . redirection_hosts = utils . omitRows ( [ "is_deleted" ] ) ( row . redirection_hosts ) ;
324+ }
325+ if ( typeof row . dead_hosts !== "undefined" ) {
326+ row . dead_hosts = utils . omitRows ( [ "is_deleted" ] ) ( row . dead_hosts ) ;
327+ }
328+ if ( typeof row . streams !== "undefined" ) {
329+ row . streams = utils . omitRows ( [ "is_deleted" ] ) ( row . streams ) ;
309330 }
310331 return row ;
311332 } ,
@@ -415,7 +436,7 @@ const internalCertificate = {
415436 . query ( )
416437 . where ( "is_deleted" , 0 )
417438 . groupBy ( "id" )
418- . allowGraph ( "[owner,proxy_hosts,redirection_hosts,dead_hosts]" )
439+ . allowGraph ( "[owner,proxy_hosts,redirection_hosts,dead_hosts,streams ]" )
419440 . orderBy ( "nice_name" , "ASC" ) ;
420441
421442 if ( accessData . permission_visibility !== "all" ) {
@@ -433,7 +454,11 @@ const internalCertificate = {
433454 query . withGraphFetched ( `[${ expand . join ( ", " ) } ]` ) ;
434455 }
435456
436- return await query . then ( utils . omitRows ( omissions ( ) ) ) ;
457+ const r = await query . then ( utils . omitRows ( omissions ( ) ) ) ;
458+ for ( let i = 0 ; i < r . length ; i ++ ) {
459+ r [ i ] = internalCertificate . cleanExpansions ( r [ i ] ) ;
460+ }
461+ return r ;
437462 } ,
438463
439464 /**
0 commit comments