UNPKG

loopback-graphql-server

Version:

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

80 lines (77 loc) 1.7 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', } } } } } };