0.0.6 • Published 8 months ago

@dev-api/core v0.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

@dev-api/core

安装

# npm
npm install @dev-api/core
npm install @prisma/client
npm install prisma --save-dev
npm install tsx --save-dev
# yarn
yarn add @dev-api/core
yarn add @prisma/client
yarn add prisma --dev
yarn add tsx --dev
# pnpm
pnpm add @dev-api/core
pnpm add @prisma/client
pnpm add prisma --save-dev
pnpm add tsx --save-dev

初始化

npx prisma init --datasource-provider sqlite

.env

# 启动端口
PORT=1314
# 数据库地址
DATABASE_URL="file:./dev.db"
# 生成的prisma客户端路径
PRISMA_CLIENT_PATH="./prisma/generated/prisma-client-js"

# jwt 秘钥
JWT_SECRET=secret

# jwt 过期时间
JWT_EXPIRES_IN=2h
# jwt 刷新过期时间
JWT_REFRESH_EXPIRES_IN=7d

schema.prisma

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
  output   = "./generated/prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

/// 用户表
model User {
  /// ID
  id        String   @id @default(cuid())
  /// 用户名
  username  String   @unique
  /// 邮箱
  email     String   @unique
  /// 密码
  password  String
  /// 禁用状态
  disabled  Boolean  @default(false)
  /// 创建时间
  createdAt DateTime @default(now())
  /// 更新时间
  updatedAt DateTime @updatedAt
}

生成模型

npx prisma generate

示例

import { createApp, createCoreRouter } from '@dev-api/core';
import type { DevApi } from '@dev-api/core';

const server = createApp();
server.register('route', async (ctx: DevApi) => {
  ctx.route('', await createCoreRouter('user'));
});

server.start();