@teikei/api
Version:
Teikei API server. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
46 lines (39 loc) • 1.03 kB
JavaScript
import { joiSchemas } from '@teikei/schemas'
import { EntryBaseModel } from './base'
export default class Initiative extends EntryBaseModel {
static tableName = 'initiatives'
// eslint-disable-next-line class-methods-use-this
type() {
return 'Initiative'
}
link() {
return `/initiatives/${this.id}`
}
static jsonSchema = joiSchemas.initiative
static relationMappings = {
ownerships: {
relation: EntryBaseModel.ManyToManyRelation,
modelClass: `${__dirname}/users`,
join: {
from: 'initiatives.id',
through: {
from: 'initiatives_users.initiative_id',
to: 'initiatives_users.user_id'
},
to: 'users.id'
}
},
goals: {
relation: EntryBaseModel.ManyToManyRelation,
modelClass: `${__dirname}/goals`,
join: {
from: 'initiatives.id',
through: {
from: 'initiatives_goals.initiative_id',
to: 'initiatives_goals.goal_id'
},
to: 'goals.id'
}
}
}
}