@exlinelabs/exlinecore
v0.1.0
Published
Drop-in Fastify plugin: full auth, users, and admin panel in one call
Readme
@exlinelabs/exlinecore
Fastify plugin that mounts a complete authentication, user management, and dynamic admin panel API. Pick an adapter for your database, pass it in, and you have 23 endpoints running.
Installation
npm install @exlinelabs/exlinecore fastify @fastify/cors dotenvThen install an adapter for your database:
# SQLite, PostgreSQL, or MySQL
npm install @exlinelabs/exlinecore-adapter-node prisma @prisma/client
# MongoDB
npm install @exlinelabs/exlinecore-adapter-mongodb
# Firebase Firestore
npm install @exlinelabs/exlinecore-adapter-firebaseUsage
import 'dotenv/config'
import Fastify from 'fastify'
import cors from '@fastify/cors'
import { createExlineCore } from '@exlinelabs/exlinecore'
import {
createAuthAdapter,
createUsersAdapter,
createSchemaAdapter,
createDynamicCrudAdapter,
} from '@exlinelabs/exlinecore-adapter-node'
const app = Fastify({ logger: true })
await app.register(cors, { origin: true, credentials: true })
await app.register(createExlineCore({
adapters: {
auth: createAuthAdapter(),
users: createUsersAdapter(),
schema: createSchemaAdapter(),
crud: createDynamicCrudAdapter(),
},
prefix: '/api',
}))
app.listen({ port: 3000 })API endpoints
| Group | Count | Prefix | |---|---|---| | Authentication | 9 | /api/auth | | Users | 4 | /api/users | | Admin BREAD | 10 | /api/admin |
Configuration
| Option | Type | Description |
|---|---|---|
| adapters.auth | IAuthAdapter | Authentication adapter |
| adapters.users | IUsersAdapter | Users adapter |
| adapters.schema | ISchemaAdapter | Schema introspection adapter |
| adapters.crud | IDynamicCrudAdapter | Dynamic BREAD adapter |
| prefix | string | URL prefix for all routes. Defaults to '/api'. |
Documentation
Full setup guide at github.com/Exline-Labs/exline-core.
