Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 136x 1x 1x 1x 136x 1x 136x 1x 136x 1x | import {
belongsTo,
hasMany,
hasOne,
model,
property,
} from '@loopback/repository';
import { Transform } from 'class-transformer';
import { Company, CompanyLocation, User } from '.';
import { Created, Modified } from '../types';
import { DateUtils } from '../utils/date';
import { BaseEntity } from './base-entity';
import { Persona } from './persona.model';
import { TimeZoneTransform } from '@logchain/decorators';
@model({
settings: {
postgresql: { table: 'company_personas' },
indexes: {
company_personas_unique: {
keys: {
company_id: 1,
persona_id: 1,
},
options: {
unique: true,
},
},
},
foreignKeys: {
fk_company_personas_companies_id: {
name: 'fk_company_personas_companies_id',
entity: 'Company',
entityKey: 'id',
foreignKey: 'company_id',
onDelete: 'CASCADE',
onUpdate: 'RESTRICT'
},
},
},
})
export class CompanyPersona extends BaseEntity implements Created, Modified {
@property({
type: 'number',
required: true,
})
company_id: number;
@property({
type: 'number',
required: true,
})
persona_id: number;
@property({
type: 'date',
required: true,
defaultFn: 'now',
})
@TimeZoneTransform()
created_date?: Date;
@belongsTo(() => User, { name: 'creator' })
created_by?: number;
@property({
type: 'date',
defaultFn: 'now',
})
@TimeZoneTransform()
modified_date?: Date;
@belongsTo(() => User, { name: 'modifier' })
modified_by?: number;
@hasMany(() => CompanyLocation, {
keyTo: 'company_persona_id',
keyFrom: 'id',
name: 'locations',
})
locations: CompanyLocation[];
@hasOne(() => Persona, { keyFrom: 'persona_id', keyTo: 'id' })
persona: Persona;
@hasOne(() => Company, { keyFrom: 'company_id', keyTo: 'id' })
company: Company;
constructor(data?: Partial<CompanyPersona>) {
super(data);
}
}
export interface CompanyPersonaRelations {
// describe navigational properties here
creator?: User;
modifier?: User;
}
export type CompanyPersonaWithRelations = CompanyPersona &
CompanyPersonaRelations;
|