adding route that works with creating user and such

This commit is contained in:
talksik
2022-03-17 22:45:53 -04:00
parent 4b2a7f7043
commit 013d2fcb16
10 changed files with 87 additions and 49 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ import express, { Application, Request, Response } from "express";
import { NextFunction } from "express";
import { connectToDatabase } from "./services/database.service";
import cors from "cors";
import getRoutes from "./routes";
import getUserRoutes from "./routes/user";
const app = express();
@@ -18,7 +18,7 @@ app.get("/", (req: Request, res: Response) => {
res.send("hello world.");
});
app.use("/api", getRoutes());
app.use("/api/users", getUserRoutes());
app.listen(5000, () => console.log("Example app is listening on port 5000."));
+1
View File
@@ -5,6 +5,7 @@
"license": "MIT",
"dependencies": {
"@nirvana/core": "*",
"axios": "^0.26.1",
"cors": "^2.8.5",
"express": "^4.17.3",
"google-auth-library": "^7.14.0",
-10
View File
@@ -1,10 +0,0 @@
import express from "express";
import getUserRoutes from "./user";
export default function getRoutes() {
const router = express.Router();
router.use("/users", getUserRoutes());
return router;
}
+6 -4
View File
@@ -14,8 +14,7 @@ export default function getUserRoutes() {
// get user details based on id token
router.get("/", authCheck, getUserDetails);
//
router.post("/", createUser);
router.post("/create", createUser);
return router;
}
@@ -45,8 +44,10 @@ async function createUser(req: Request, res: Response) {
try {
const { access_token } = req.query;
console.log(access_token);
if (!access_token) {
res.status(400);
res.status(400).send("No access token provided");
return;
}
@@ -79,6 +80,7 @@ async function createUser(req: Request, res: Response) {
? res.status(200).send("User created")
: res.status(500).send("Failed to create new user");
} catch (error) {
res.status(500);
console.log(error);
res.status(500).send("Problem in creating user");
}
}
+9 -7
View File
@@ -1,5 +1,7 @@
import { GoogleUserInfo, User } from "@nirvana/core/models";
import { ObjectId } from "mongodb";
import { User } from "@nirvana/core/models";
import axios from "axios";
import { collections } from "./database.service";
export class UserService {
@@ -13,11 +15,11 @@ export class UserService {
return await collections.users?.insertOne(newUser);
}
static async getGoogleUserInfoWithAccessToken(accessToken: string) {
return await (
await fetch(
`https://www.googleapis.com/oauth2/v1/userinfo?access_token=${accessToken}`
)
).json();
static async getGoogleUserInfoWithAccessToken(
accessToken: string
): Promise<GoogleUserInfo> {
return await axios.get(
`https://www.googleapis.com/oauth2/v1/userinfo?access_token=${accessToken}`
);
}
}