分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

vulcanjs schemas&& collections

发布时间:2023-09-06 02:13责任编辑:胡小海关键词:js

一张参考图

说明

从上图我们可以方便的看出schmea 能做的事情

  • Generate a GraphQL equivalent of your schema to control your GraphQL API.(生成 graphql api)
  • Control permissions for accessing and modifying data.(访问控制)
  • Generate forms on the client.(client 以及表单生成)
  • Validate form contents on submission.(数据校验)
  • Auto-generate paginated, searchable datatables.(自动生成分页,查询)
  • Auto-generate smart cards for displaying individual documents.(智能卡生成)
  • Add callbacks on document insert or edit.(数据添加,编辑时候的回掉)

参考例子

  • schema

    类似graphql-yogo 以及graphql-js 的schema 定义

const schema = { ?// default properties ?_id: { ???type: String, ???optional: true, ???canRead: ["guests"] ?}, ?createdAt: { ???type: Date, ???optional: true, ???canRead: ["guests"], ???onCreate: ({ newDocument, currentUser }) => { ?????return new Date(); ???} ?}, ?userId: { ???type: String, ???optional: true, ???canRead: ["guests"], ???resolveAs: { ?????fieldName: "user", ?????type: "User", ?????resolver: (movie, args, context) => { ???????return context.Users.findOne( ?????????{ _id: movie.userId }, ?????????{ ???????????fields: context.Users.getViewableFields( ?????????????context.currentUser, ?????????????context.Users ???????????) ?????????} ???????); ?????}, ?????addOriginalField: true ???} ?}, ?// custom properties ?name: { ???label: "Name", ???type: String, ???optional: true, ???canRead: ["guests"], ???canCreate: ["members"], ???canUpdate: ["members"] ?}, ?year: { ???label: "Year", ???type: String, ???optional: true, ???canRead: ["guests"], ???canCreate: ["members"], ???canUpdate: ["members"] ?}, ?review: { ???label: "Review", ???type: String, ???optional: true, ???control: "textarea", ???canRead: ["guests"], ???canCreate: ["members"], ???canUpdate: ["members"] ?}};
  • 创建collection

    实际上上就是graphql api schema 定义以及解析处理

const Movies = createCollection({ ?typeName: "Movie", ?schema, ?resolvers, ?mutations});

参考资料

http://docs.vulcanjs.org/schemas.html

vulcanjs schemas&& collections

原文地址:https://www.cnblogs.com/rongfengliang/p/9575786.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved