1.0.4 • Published 3 years ago

archetype-nextjs v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

npm version

ArcheType Next.js

A Middleware package for Next.js projects

Prerequisites

This project requires NodeJS (version 8 or later) and NPM.

$ npm -v && node -v
6.4.1
v8.16.0

Table of contents

Getting Started

ArcheType Next.js middleware can be installed and used with Next.js projects that support (version 9 or later).

Installation

NPM:

$ npm install archetype-nextjs --save

Yarn

$ yarn add archetype-nextjs

Usage

Initialization

import the default class and initialize it using your credentials:

// lib/archetype.ts
import ArcheTypeMiddleware from "archetype-nextjs";

export const archetype = new ArcheTypeMiddleware({
  app_id: process.env.APP_ID as string,
  secret_key: process.env.SECRET_KEY as string,
  handle_auth: false, // toggle this if you want to handle authentication via archeType
});

Wrap API handlers with the middleware method

// pages/api/hello.ts
import { archetype } from 'lib/archetype';

async function handler(req, res) {
  res.status(200).json({ data: 'Hello world!' });
}

export default archetype.withMiddleware(handler);

Use middleware functions inside you API route

// pages/api/products.ts
import { getProducts } from 'lib/archetype';

async function handler(req, res) {
  const products = await getProducts();
  res.status(200).json({ data: products });
}

export default archetype.withMiddleware(handler);

API

ArcheTypeMiddleware

class ArcheTypeMiddleware {
  constructor(options: InitOptions) {}
  withMiddleware: (handler: NextApiHandler) => NextApiHandler;
}

type InitOptions = {
  app_id: string;
  secret_key: string;
  handle_auth?: boolean;
};

registerUser

const registerUser: (uid: string, name: string, email: string) => Promise<User>;

getUser

const getUser: (uuid: string) => Promise<User>;

getProducts

const getProducts: () => Promise<Product[]>;

createCheckoutSession

const createCheckoutSession: (uid: string, productId: string) => Promise<string>;

cancelSubscription

const cancelSubscription: (uuid: string) => Promise<void>;

Feedback

For feedback or bug reports, please contact ArcheType.

Built With

  • Next.js
  • Axios
1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago