UNPKG

loopback-graphql-relay

Version:

Add Relay based Apollo Server or GraphQL queries on your Loopback server

81 lines (77 loc) 1.71 kB
const loopback = require('loopback'); module.exports = { GeoPoint: { name: 'GeoPoint', generated: false, meta: { category: 'TYPE', fields: { lat: { generated: false, meta: { scalar: true, type: 'Float', }, resolve: obj => obj.lat, }, lng: { generated: false, meta: { scalar: true, type: 'Float', }, resolve: obj => obj.lng, }, distanceTo: { generated: false, meta: { scalar: true, type: 'Float', args: { point: { generated: false, required: true, type: 'GeoPointInput', }, options: { generated: false, type: 'JSON', }, }, }, resolve: (obj, { point, options }) => { const here = new loopback.GeoPoint(obj); const there = new loopback.GeoPoint(point); return loopback.GeoPoint.distanceBetween(here, there, options); }, }, }, }, }, GeoPointInput: { name: 'GeoPointInput', generated: false, meta: { category: 'TYPE', input: true, fields: { lat: { generated: false, meta: { scalar: true, required: true, type: 'Float', }, }, lng: { generated: false, meta: { scalar: true, required: true, type: 'Float', }, }, }, }, }, };