All files / src/models trade-lane-flow-journey-point.model.ts

95.24% Statements 20/21
100% Branches 0/0
50% Functions 1/2
94.74% Lines 18/19

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 102 103 104 105 106 107 108 109 1101x 1x 1x 1x                                 1x 36x 1x               1x               1x               1x               1x           1x                 1x               1x                 1x     1x     1x     1x                            
import {AnyObject, belongsTo, model, property} from '@loopback/repository';
import {BaseEntity, User} from '.';
import {TradeLaneFlow} from './trade-lane-flow.model';
import { Expose } from 'class-transformer';
 
@model({
  settings: {
    postgresql: {table: 'trade_lanes_flows_journey_points'},
    foreignKeys: {
      fk_trade_lane_flow_journey_point_id: {
        name: 'fk_trade_lanes_flows_journey_point_id',
        entity: 'TradeLaneFlow',
        entityKey: 'id',
        foreignKey: 'trade_lane_flow_id',
        onDelete: 'CASCADE',
        onUpdate: 'RESTRICT',
      },
    },
  },
})
export class TradeLaneFlowJourneyPoint extends BaseEntity {
  @belongsTo(() => TradeLaneFlow, {name: 'trade_lane_flow'})
  trade_lane_flow_id?: number;
 
  @property({
    type: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  persona: { persona_id: number, order: number };
 
  @property({
    type: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  actor: { persona_id: number, company_id: number, order: number };
 
  @property({
    type: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  validator: { persona_id: number, company_id: number, order: number };
 
  @property({
    type: 'string',
    jsonSchema: {
      maxLength: 200,
    },
  })
  name: string;
 
  @property({
    type: 'number',
    required: true,
  })
  order: number;
 
  @property({
    type: 'array',
    itemType: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  personas: AnyObject[];
 
  @property({
    type: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  expected_date_info: { field_name: string, adjustment: number, port_of_origin: string, port_of_destination: string };
 
  @property({
    type: 'array',
    itemType: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
  })
  actions: AnyObject[];
 
  @Expose()
  expected_date: Date;
 
  @Expose()
  container_order: number;
 
  @Expose()
  container_interval: number;
  
  constructor(data?: Partial<TradeLaneFlowJourneyPoint>) {
    super(data);
  }
}
 
export interface TradeLaneFlowJourneyPointRelations {
  // describe navigational properties here
  creator?: User;
  modifier?: User;
}
 
export type TradeLaneFlowJourneyPointWithRelations = TradeLaneFlowJourneyPoint & TradeLaneFlowJourneyPointRelations;