monorepo/services/services/literature-list.service.ts

41 lines
1023 B
TypeScript

import { Context, Service, ServiceBroker, ServiceSchema } from 'moleculer'
import DbConnection from '../mixins/db.mixin'
import { LiteratureList } from '../models/literature-list'
export default class LiteratureListService extends Service {
private DbMixin = new DbConnection(LiteratureList).start()
// @ts-ignore
public constructor (public broker: ServiceBroker, schema: ServiceSchema<{}> = {}) {
super(broker)
this.parseServiceSchema(Service.mergeSchemas({
name: 'literature-list',
mixins: [this.DbMixin],
dependencies: [
'literature-item'
],
settings: {
fields: [
'_id',
'description',
'literature',
'name'
]
},
methods: {
async seedDB(this: Service) {
await this.adapter.insertMany([
{
description: 'Essential reading for all coomunists',
literature: await this.broker.call('literature-item.find'),
name: 'Coomunist Essentials'
},
])
}
}
}, schema))
}
}