quickbuild
Version:
A mature, feature-complete application generator with an emphasis on speed
34 lines (29 loc) • 957 B
text/typescript
;
import graph from "fbgraph";
import { Response, Request, NextFunction } from "express";
import { UserDocument } from "../models/User";
/**
* List of API examples.
* @route GET /api
*/
export const getApi = (req: Request, res: Response) => {
res.render("api/index", {
title: "API Examples"
});
};
/**
* Facebook API example.
* @route GET /api/facebook
*/
export const getFacebook = (req: Request, res: Response, next: NextFunction) => {
const user = req.user as UserDocument;
const token = user.tokens.find((token: any) => token.kind === "facebook");
graph.setAccessToken(token.accessToken);
graph.get(`${user.facebook}?fields=id,name,email,first_name,last_name,gender,link,locale,timezone`, (err: Error, results: graph.FacebookUser) => {
if (err) { return next(err); }
res.render("api/facebook", {
title: "Facebook API",
profile: results
});
});
};