0.3.0 • Published 4 years ago

@galenjs/core v0.3.0

Weekly downloads
8
License
MIT
Repository
github
Last release
4 years ago

core

  • galen模型数据处理中心

Usage

const loadModels = require('@galenjs/core')
const path = require('path')

const bootstrap = async () => {
  const {
    remoteMethods, modelSchemas, schemas
  } = await loadModels(path.join(__dirname, './model'))
}

bootstrap()

tableName

默认创建的表名 例如

tableName: 't_user'

modelName

默认模型名 例如

modelName: 'User'

dialect

默认使用的是mysql

  • mysql-默认创建sequelize模型
  • virtual-虚拟模型类型(不创建任何模型)

例如

dialect: 'mysql'

model

模型属性

例如

model:
  id:
    type: integer
    autoIncrement: true
    primaryKey: true
  phone:
    type: string
    length: 11
    description: '手机号'
  password:
    type: string
    length: 32
    description: '密码'
  nickName:
    type: string
    length: 32
    description: '昵称'
  createdAt:
    type: date
    allowNull: false
  updatedAt:
    type: date
    allowNull: false
  deletedAt:
    type: date
    allowNull: false

relations

关联关系

  • belongsTo
relations:
  role:
    type: 'belongsTo'
    model: 'Role'
  • hasOne

  • belongsToMany

relations:
  roles:
    type: 'belongsToMany'
    model: 'Role'
    through: 'UserRole'

indexes

联合索引(支持的类型是index和unique,后续在考虑接入fulltext)

例如

indexes:
  testIndex:
    type: 'unique'
    fields:
      - phone
      - nickName

remoteMethods

接口请求信息

自定义接口信息,用来生成文档和api路由

例如

remoteMethods:
  register:
      path: '/register'
      method: 'post'
      tags:
        - user
      summary: '用户注册'
      requestBody:
        body:
          phone:
            type: string
            length: 11
            description: '手机号'
          password:
            type: string
            length: 32
            description: '密码'
        required:
          - phone
          - password
      output:
        200:
          type: 'object'
          result:
            id:
              type: integer
              autoIncrement: true
              primaryKey: true
            phone:
              type: string
              length: 11
              description: '手机号'
            password:
              type: string
              length: 32
              description: '密码'
            nickName:
              type: string
              length: 32
              description: '昵称'
            createdAt:
              type: date
              allowNull: false
            updatedAt:
              type: date
              allowNull: false
            deletedAt:
              type: date
              allowNull: false 
0.3.0

4 years ago

0.2.0

5 years ago

0.1.13

5 years ago

0.1.12

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago