Skip to content

Instantly share code, notes, and snippets.

@ieazie
ieazie / env-host-port.ts
Created December 18, 2020 16:00
Environment variables, host and ports
const env = Deno.env.toObject()
const PORT = env.PORT || 3000;
const HOST = env.HOST || 'localhost';
@ieazie
ieazie / server-import.ts
Created December 18, 2020 15:54
Imports for main application class
import { Application } from "./deps.ts";
import router from "./routes.ts";
@ieazie
ieazie / basic-import.ts
Created December 18, 2020 15:46
Initial import for dependency file
import { Application, Router } from "https://deno.land/x/oak/mod.ts";
export { Router, Application };
@ieazie
ieazie / ErrorHandler.ts
Last active December 18, 2020 15:28
Error Handler middleware
import { Context } from "../deps.ts";
const errorHandler = async (ctx: Context, next: any) => {
try {
await next();
} catch (err) {
ctx.response.status = 500;
ctx.response.body = { msg: err.message };
}
};
@ieazie
ieazie / FourZeroFour.ts
Last active December 18, 2020 15:29
404 error middleware handler
import { Context } from "../deps.ts";
const fourZeroFour = async (ctx: Context) => {
ctx.response.status = 404;
ctx.response.body = { msg: "Not Found !!" };
};
export default fourZeroFour;
@ieazie
ieazie / router.ts
Last active January 14, 2021 01:58
Final router script
import { Router } from "./deps.ts";
import {
addAdvertisement,
deleteAdvertisement,
getAdvertisement,
getAdvertisements,
publishAdvertisement,
updateAdvertisement,
} from "./controllers/advertisement-controller.ts";
@ieazie
ieazie / delete-advertisement-controller-snippet.ts
Last active January 14, 2021 01:57
Delete Advertisement Controller
export const deleteAdvertisement = (
{ params, response }: { params: { id: string }; response: any },
) => {
const advertisement = AdvertisementService.deleteAdvertisement(
params.id,
);
response.body = {
success: true,
msg: "Advertisement removed",
data: advertisement,
@ieazie
ieazie / update-advertisement-controller-snippet.ts
Last active January 14, 2021 01:59
Update Advertisement Controller
export const updateAdvertisement = async (
{ params, request, response }: {
params: { id: string };
request: any;
response: any;
},
) => {
const advertisement = AdvertisementService.fetchAdvertisement(
params.id,
);
@ieazie
ieazie / add-advertisement-controller-snippet.ts
Last active December 18, 2020 15:41
Add new Advertisement
export const addAdvertisement = async (
{ request, response }: { request: any; response: any },
) => {
if (!request.body()) {
response.status = 400;
response.body = {
success: false,
msg: "The request must have a body",
};
return;
@ieazie
ieazie / get-single-advertisement-controller.ts
Last active December 18, 2020 15:40
Get Single Advertisement Controller
export const getAdvertisement = (
{ params, response }: { params: { id: string }; response: any },
) => {
const advertisement = AdvertisementService.fetchAdvertisement(
params.id,
);
if (advertisement === null) {
response.status = 400;
response.body = { msg: `Advertisement with id: ${params.id} not found` };