// Initializes the `users1` service on path `/users-1` import { App } from '../../app.interface'; import createService from 'feathers-mongodb'; import hooks from './users-1.hooks'; import { Db, MongoClient } from 'mongodb'; // ! code: imports // import $jsonSchema from './users-1.mongo'; // !end // !code: init // !end let moduleExports = function (app: App) { let paginate = app.get('paginate'); let mongoClient = app.get('mongoClient') as Promise; let options = { paginate }; // !code: func_init // !end // Initialize our service with any options it requires // ! code: extend app.use('/users-1', createService(options)); // !end // Get our initialized service so that we can register hooks const service = app.service('users-1'); // eslint-disable-next-line no-unused-vars let promise = mongoClient.then(db => { return db.createCollection('users-1', { // ! code: create_collection // validator: { $jsonSchema: $jsonSchema }, // validationLevel: 'strict', // The MongoDB default // validationAction: 'error', // The MongoDB default // !end }); }) .then(serviceModel => { (service as any).Model = serviceModel; }); service.hooks(hooks); // !code: func_return // !end }; // !code: more // !end // !code: exports // !end export default moduleExports; // !code: funcs // !end // !code: end // !end