• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript klay-db.getPrimaryKeyField函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中klay-db.getPrimaryKeyField函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getPrimaryKeyField函数的具体用法?TypeScript getPrimaryKeyField怎么用?TypeScript getPrimaryKeyField使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了getPrimaryKeyField函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: paramifyModel

export function paramifyModel(original: IModel, options?: IParamifyOptions): IModel {
  const model = original.clone()
  const pkField = getPrimaryKeyField(original)
  const paramName = (options && options.idParamName) || pkField
  const children = model.spec.children as IModelChild[]
  const pkModel = children
    .find(child => child.path === pkField)!
    .model.strict(false)
    .required()
  model.spec = {}
  return model.type(ModelType.Object).children({[paramName]: pkModel})
}
开发者ID:patrickhulce,项目名称:klay,代码行数:12,代码来源:transform-model.ts


示例2: addForeignKeys

export function addForeignKeys(
  modelInProgress: Sequelize.DefineAttributes,
  model: IModel,
  kiln: IKiln,
): void {
  const constraints = model.spec.db!.constrain
  for (const constraint of constraints) {
    if (constraint.type !== ConstraintType.Reference) {
      continue
    }

    assert.ok(constraint.properties.length === 1, 'foreign key must be single field')
    const fkName = getFlattenedPath(constraint.properties[0])
    const fkDefinition = modelInProgress[fkName] as Sequelize.DefineAttributeColumnOptions
    const sqlExecutor = kiln.build<ISQLExecutor>(constraint.meta.referencedModel!, SQL_EXECUTOR)
    fkDefinition.references = {
      key: getPrimaryKeyField(sqlExecutor.kilnModel.model),
      model: sqlExecutor.sequelizeModel,
    }
  }
}
开发者ID:patrickhulce,项目名称:klay,代码行数:21,代码来源:constraints.ts


示例3: lookupActionTarget

    const arrayModel = defaultModelContext
      .array()
      .children(model.model)
      .required()
      .strict()
    return options.byList ? arrayModel : model.model
  },
  lookupActionTarget(
    kilnModel: IKilnModel,
    options: IActionOptions,
    executor: IDatabaseExecutor,
  ): IAnontatedHandler | undefined {
    const actionType = (this as any).type
    if (!actionTypesWithTarget.has(actionType)) return undefined

    const pkField = options.idParamName || getPrimaryKeyField(kilnModel.model)
    const getPkFromItem = (item: any) => (typeof item === 'object' ? item[pkField] : item)

    return async function(
      req: express.Request,
      res: express.Response,
      next: express.NextFunction,
    ): Promise<void> {
      const params = req.validated!.params
      const body = req.validated!.body

      if (options.byList) {
        const ids = (body as any[]).map(getPkFromItem)
        req.actionTarget = await Promise.all(ids.map(id => executor.findByIdOrThrow(id)))
      } else {
        req.actionTarget = await executor.findByIdOrThrow(
开发者ID:patrickhulce,项目名称:klay,代码行数:31,代码来源:action.ts


示例4: addPrimaryKey

export function addPrimaryKey(modelInProgress: Sequelize.DefineAttributes, model: IModel): void {
  const pkName = getPrimaryKeyField(model)
  const pkDefinition = modelInProgress[pkName] as Sequelize.DefineAttributeColumnOptions
  pkDefinition.primaryKey = true
  pkDefinition.allowNull = false
}
开发者ID:patrickhulce,项目名称:klay,代码行数:6,代码来源:constraints.ts


示例5: getAffectedCriteriaValues

   byId: true,
   byList: false,
   idParamName: undefined,
 },
 getAffectedCriteriaValues(model: IKilnModel, options: IActionOptions): GetCriteriaValues {
   return function(req: Request, property: string): AuthCriteriaValue[] {
     const items: any[] = [].concat(req.actionTarget)
     return items.map(item => item[property])
   }
 },
 paramsModel(kilnModel: IKilnModel, options: IActionOptions): IModel | undefined {
   return options.byId ? paramifyModel(kilnModel.model, options) : undefined
 },
 bodyModel(kilnModel: IKilnModel, options: IActionOptions): IModel | undefined {
   if (options.byId) return
   const pkField = getPrimaryKeyField(kilnModel.model)
   const pkModel = findModel(kilnModel.model, [pkField])
   const arrayPkModel = defaultModelContext
     .array()
     .children(pkModel)
     .required()
   return options.byList ? arrayPkModel : pkModel
 },
 responseModel(): undefined {
   return undefined
 },
 handler(
   kilnModel: IKilnModel,
   options: IActionOptions,
   executor: IDatabaseExecutor,
 ): IAnontatedHandler {
开发者ID:patrickhulce,项目名称:klay,代码行数:31,代码来源:destroy.ts



注:本文中的klay-db.getPrimaryKeyField函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript password.createNewPasswordHashSalt函数代码示例发布时间:2022-05-25
下一篇:
TypeScript klay-core.modelAssertions类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap