2021-05-10 04:48:59 +00:00
module . exports = {
friendlyName : 'View query detail' ,
description : 'Display "Query detail" page.' ,
2021-05-26 08:24:38 +00:00
inputs : {
slug : { type : 'string' , required : true , description : 'A slug uniquely identifying this query in the library.' , example : 'get-macos-disk-free-space-percentage' } ,
} ,
2021-05-10 04:48:59 +00:00
2021-05-26 08:24:38 +00:00
exits : {
success : { viewTemplatePath : 'pages/query-detail' } ,
notFound : { responseType : 'notFound' } ,
badConfig : { responseType : 'badConfig' } ,
2021-05-10 04:48:59 +00:00
} ,
2021-05-26 08:24:38 +00:00
fn : async function ( { slug } ) {
2021-05-10 04:48:59 +00:00
2021-05-26 08:24:38 +00:00
if ( ! _ . isObject ( sails . config . builtStaticContent ) || ! _ . isArray ( sails . config . builtStaticContent . queries ) ) {
throw { badConfig : 'builtStaticContent.queries' } ;
} else if ( ! _ . isString ( sails . config . builtStaticContent . queryLibraryYmlRepoPath ) ) {
throw { badConfig : 'builtStaticContent.queryLibraryYmlRepoPath' } ;
}
// Serve appropriate content for query.
// > Inspired by https://github.com/sailshq/sailsjs.com/blob/b53c6e6a90c9afdf89e5cae00b9c9dd3f391b0e7/api/controllers/documentation/view-documentation.js
let query = _ . find ( sails . config . builtStaticContent . queries , { slug : slug } ) ;
if ( ! query ) {
throw 'notFound' ;
}
2021-05-20 08:22:42 +00:00
2021-10-01 02:14:02 +00:00
// Setting the meta title and description of this page using the query object, and falling back to a generic title or description if query.name or query.description are missing.
2023-12-14 23:06:31 +00:00
let pageTitleForMeta = query . name ? query . name + ' | Query details' : 'Query details | Fleet' ;
2021-10-01 02:14:02 +00:00
let pageDescriptionForMeta = query . description ? query . description : 'View more information about a query in Fleet\'s standard query library' ;
2021-05-10 04:48:59 +00:00
// Respond with view.
2021-05-26 08:24:38 +00:00
return {
query ,
2021-10-01 02:14:02 +00:00
queryLibraryYmlRepoPath : sails . config . builtStaticContent . queryLibraryYmlRepoPath ,
pageTitleForMeta ,
pageDescriptionForMeta ,
2021-05-26 08:24:38 +00:00
} ;
2021-05-10 04:48:59 +00:00
}
} ;