export class ServiceConfig {

  get services(): ServiceAttributes[] {
    return this.serviceAttributes;
  }

  constructor(private serviceAttributes: ServiceAttributes[]) { }

}


/**
 * ฟิลด์ที่อยู่ในตาราง UM_SERVICE
 */
export interface ServiceAttributes {
  /** SERVICE_ID	VARCHAR2(50 BYTE) */
  SERVICE_ID: string;

  /** SERVICE_NAME	VARCHAR2(255 BYTE) */
  SERVICE_NAME: string;

  /** SERVICE_URL	VARCHAR2(255 BYTE) */
  SERVICE_URL: string;

  /** SERVICE_TYPE	VARCHAR2(50 BYTE) */
  SERVICE_TYPE: ServiceType;

  /** SERVICE_VISIBLE	NUMBER(1,0) */
  SERVICE_VISIBLE: number;

  /** OPTIONS	VARCHAR2(1000 BYTE) */
  OPTIONS: string;

  /** SYSTEM_ID	VARCHAR2(50 BYTE) */
  SYSTEM_ID: string;

  /** ADD_MAP	NUMBER(1,0) */
  ADD_MAP: number;

  /** ADD_TOC	NUMBER(1,0) */
  ADD_TOC: number;

  /** IDENTIFY	NUMBER(1,0) */
  IDENTIFY: number;

  /** ORDER_NO	NUMBER(38,0) */
  ORDER_NO: number;
}


export type ServiceType =
  'TILED'
  | 'DYNAMIC'
  | 'FEATURE'
  | 'KML'
  | 'WFS'
  | 'WMS'
  | 'WMTS'
  | 'ROUTE'
  | 'PRINT'
  | 'GEOMETRY';
