import { Attribute, JsonApiModel, JsonApiModelConfig } from 'ng-jsonapi'; import * as _ from 'lodash'; import { IUser } from “../datastore/users/model”;
@JsonApiModelConfig({
type: 'users'
}) export class User extends JsonApiModel {
@Attribute() name: string; @Attribute() role: string; @Attribute() organizations: Array<{ id: string, name: string }>
}
@JsonApiModelConfig({
type: 'organizations'
}) export class Organization extends JsonApiModel {
@Attribute() name: string; @Attribute() code: string; @Attribute() material_flow: Object; @Attribute() ingest_dir: string; @Attribute() producer: { id: string, agent: string, password: string } producerName() { return this.producer.agent; } @Attribute() created_at: Date; @Attribute() users: Array<any>; userList() { return _.map(this.users, (user) => user.name).join(', '); }
}