All files / src/models regulatory-dashboards.model.ts

85.71% Statements 18/21
100% Branches 0/0
0% Functions 0/3
84.21% Lines 16/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 1051x   1x 1x 1x 1x 1x             1x             1x           1x           1x                                                       1x             1x               1x       1x               1x       1x                          
import {RegulatoryDashboardsFilter, RegulatoryDashboardsValueEnum} from '@logchain/types';
import {DateUtils} from '@logchain/utils';
import {belongsTo, model, property} from '@loopback/repository';
import {Exclude, Expose, Transform} from 'class-transformer';
import {BaseEntity} from './base-entity';
import {User} from './user.model';
import { TimeZoneTransform } from '@logchain/decorators';
 
@model({
  settings: {
    postgresql: {table: 'regulatory_dashboards'},
  },
})
export class RegulatoryDashboards extends BaseEntity {
  @property({
    type: 'number',
    postgresql: {
      dataType: 'smallint',
    },
  })
  seq_no: number;
 
  @property({
    type: 'string',
    required: true,
  })
  title: string;
 
  @property({
    type: 'string',
    required: true,
  })
  value: RegulatoryDashboardsValueEnum;
 
  @property({
    type: 'object',
    postgresql: {
      dataType: 'jsonb',
    },
    jsonSchema: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          field: {
            type: 'string',
            maxLength: 50,
          },
          rule: {
            type: 'string',
            maxLength: 50,
          },
          value: {
            type: 'string',
            maxLength: 50,
          },
        },
      },
    },
  })
  filters: RegulatoryDashboardsFilter[];
 
  @Exclude()
  @property({
    type: 'string',
    required: true,
  })
  query: string;
 
  @Expose({name: 'created_date'})
  @property({
    type: 'date',
    defaultFn: 'now',
  })
  @TimeZoneTransform()
  created_date: Date;
 
  @Exclude()
  @belongsTo(() => User, {name: 'creator'})
  created_by: number;
 
  @Exclude()
  @property({
    type: 'date',
    defaultFn: 'now',
  })
  @TimeZoneTransform()
  modified_date: Date;
 
  @Exclude()
  @belongsTo(() => User, {name: 'modifier'})
  modified_by?: number;
 
  constructor(data?: Partial<RegulatoryDashboards>) {
    super(data);
  }
}
 
export interface RegulatoryDashboardsRelations {
  creator?: Partial<User>;
  modifier?: User;
}
 
export type RegulatoryDashboardsWithRelations = RegulatoryDashboards & RegulatoryDashboardsRelations;