Skip to content

Instantly share code, notes, and snippets.

@adegbengaagoro
Last active February 10, 2022 02:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adegbengaagoro/fbedff5841730586728e87b11c84db2f to your computer and use it in GitHub Desktop.
Save adegbengaagoro/fbedff5841730586728e87b11c84db2f to your computer and use it in GitHub Desktop.
Content Negotiation Example - viewAndApiOutputHelper Function
import View from "@ioc:Adonis/Core/View"
import {
ApiDataPayloadStructure,
OutputTypeStructure,
ViewDataPayloadStructure
} from "App/Interfaces/viewAndApiOutputInterfaces"
function viewAndApiOutputHelper(outputType: OutputTypeStructure, viewDataPayload: ViewDataPayloadStructure, apiDataPayload: ApiDataPayloadStructure) {
if (outputType === 'html') {
return View.render(viewDataPayload.viewTemplate, viewDataPayload.outputData)
}
if (outputType === 'json') {
return {
status_code: apiDataPayload.statusCode,
status: apiDataPayload.statusMessage,
message: apiDataPayload.responseMessage,
results: apiDataPayload.outputData
}
}
return {
message: 'Please specify the appropriate Output Options'
}
}
export default viewAndApiOutputHelper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment