import express, { Request, Response } from 'express';
import helmet from 'helmet';
import * as bodyParser from 'body-parser';
import { PORT } from './constants';
import morgan from 'morgan';
import { upsertUser, getUserByWalletAddress } from './controllers/user';
import { getNfts, listNft } from './controllers/nft';
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.disable('x-powered-by');
app.set('json spaces', 2);
app.get('/', (req: Request, res: Response) => {
message: 'App is running'
app.get('/api/user/:walletAddress', async (req: Request, res: Response) => {
const { walletAddress } = req.params;
const user = await getUserByWalletAddress(walletAddress);
error: 'User was not found'
app.post('/api/user', async (req: Request, res: Response) => {
const user = await upsertUser(body);
error: 'Could not create user'
app.post('/api/nft', async (req: Request, res: Response) => {
const nft = await listNft(body);
error: 'Could not list nft'
app.get('/api/nfts', async (req: Request, res: Response) => {
const nft = await getNfts();
error: 'Could not get nfts'
console.log(`App running on port ${PORT}`);