export const system_globals = {
  SYS_GLOBAL_STR_APP_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_STR_SESSION_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_STR_FIREBASE_TOKEN_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_PUSH_NOTIFICATION_GRANTED: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_OBJ_APP_INFO: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: ['build', 'author', 'date', 'name'],
  },
  SYS_GLOBAL_STR_LOGIN_USER_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_OBJ_LOGIN_USER_INFO: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: ['id', 'user_name', 'first_name', 'last_name', 'email', 'profile_picture'],
  },

  SYS_GLOBAL_OBJ_CLIENT_INFO: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: [
      'fingerprint',
      'device',
      'user_agent',
      'browser_version',
      'browser_name',
      'engine_version',
      'engine_name',
      'client_ip',
      'os_name',
      'os_version',
      'device_model',
      'device_vendor',
      'device_type',
      'screen_current_resolution_x',
      'screen_current_resolution_y',
      'screen_available_resolution_x',
      'screen_available_resolution_y',
      'language',
      'time_zone',
      'cpu_architecture',
      'uuid',
      'cursor_pos_x',
      'cursor_pos_y',
    ],
  },

  SYS_GLOBAL_STR_ACTIVE_WIN_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_OBJ_ACTIVE_WIN_INFO: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: [],
  },
  SYS_GLOBAL_OBJ_WIN_LIST: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: [],
    index: 'win_id',
  },
  SYS_GLOBAL_STR_ACTIVE_FIELD_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },

  SYS_GLOBAL_STR_SITE_CSS: {
    type: 'string',
    attr: 'RW',
    category: ['system'],
  },
  SYS_GLOBAL_UTC: {
    type: 'number',
    attr: 'RW',
    category: ['system'],
  },
  SYS_GLOBAL_OBJ_WIDGET_INFO: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
    properties: [
      'widget_id',
      'name',
      'date',
      'time',
      'from',
      'to',
      'from_name',
      'to_name',
      'subject',
      'body',
      'lastModifiedDate',
      'lastModifiedTime',
      'server_fileName',
      'from_full',
      'to_full',
      'email_account_id',
      'doc_id',
      'email_attachment_doc_id',
      'ocr',
      'ocr_done',
      'filename',
      'body_plain',
      'geo_full_address',
      'geo_street_number',
      'geo_street_name',
      'geo_city',
      'geo_county',
      'geo_state',
      'geo_country',
      'geo_postal_code',
      'geo_lat',
      'geo_lng',
      'map_selected_address',
      'push_notification_title',
      'push_notification_body',
      'push_notification_image',
      'push_notification_event_id',
      'push_notification_color',
      'user_defined_1',
      'user_defined_2',
      'user_defined_3',
      'user_defined_4',
      'user_defined_5',
      'stripe_api_account_id',
      'stripe_capture',
      'stripe_charge_id',
      'stripe_customer_id',
      'stripe_charge_status',
      'stripe_card_id',
      'stripe_card_brand',
      'stripe_card_last4',
      'stripe_card_exp_month',
      'stripe_card_exp_year',
      'stripe_portal_return_url',
      'stripe_connect_account_id',
      'stripe_connect_info_needed',
      'stripe_charge_obj',
      'stripe_connect_account_balance_pending',
      'stripe_connect_account_balance_available',
      'stripe_connect_account_obj',
      'stripe_charge_connect_account_id',
      'stripe_charge_connect_account_status',
      'stripe_charge_connect_account_transfer_id',
      'stripe_charge_connect_account_transfer_status',
      'stripe_payout_id',
      'stripe_payout_status',
      'stripe_payout_obj',
      'stripe_charge_connect_account_obj',
      'stripe_balance_id',
      'stripe_balance_obj',
      'stripe_refund_id',
      'stripe_refund_status',
      'stripe_refund_obj',
      'twilio_api_account_id',
      'twilio_phone_number',
      'twilio_status',
      'twilio_send_info_obj',
      'firebase_auth_token',
      'firebase_auth_first_name',
      'firebase_auth_last_name',
      'firebase_auth_email',
      'firebase_auth_picture',
      'firebase_auth_user_id',
      'firebase_auth_obj',
      'email_account_id',
      'email_account_name',
      'email_account_email_address',
      'email_account_password',
      'email_account_isp',
      'qr_text',
      'card_io_card_type',
      'card_io_redacted_card_number',
      'card_io_card_number',
      'card_io_expiry_month',
      'card_io_expiry_year',
      'card_io_cvv',
      'card_io_zip',
      'fingerprint_aio_code',
      'fingerprint_aio_desc',
      'keypad_text',
      'rating_value',
      'uploaded_files',
      'wysiwyg_value',
    ],
  },

  SYS_DATE: {
    type: 'date',
    attr: 'RO',
    category: ['system'],
  },
  SYS_DATE_TIME: {
    type: 'date',
    attr: 'RO',
    category: ['system'],
  },
  SYS_DATE_VALUE: {
    type: 'number',
    attr: 'RO',
    category: ['system'],
  },
  SYS_DATE_WEEK_YEAR: {
    type: 'date',
    attr: 'RO',
    category: ['system'],
  },
  SYS_DATE_MONTH_YEAR: {
    type: 'date',
    attr: 'RO',
    category: ['system'],
  },
  SYS_TIME: {
    type: 'time',
    attr: 'RO',
    category: ['system'],
  },
  SYS_TIME_SHORT: {
    type: 'time',
    attr: 'RO',
    category: ['system'],
  },
  SYS_STR_WIN_ID: {
    type: 'string',
    attr: 'RO',
    category: ['component'],
  },
  // SYS_OBJ_WIN_INFO: {
  //   type: "object",
  //   attr: "RO",
  //   category: ["component"],
  //   properties: [],
  // },
  // SYS_OBJ_WIN_UI: {
  //   type: "object",
  //   attr: "RW",
  //   category: ["component"],
  //   properties: [],
  //   index: "ui_id",
  // },
  SYS_STR_ACTIVE_ROW_ID: {
    type: 'string',
    attr: 'RO',
    category: ['batch', 'get_data', 'set_data', 'alert', 'javascript', 'component'],
  },
  SYS_STR_PROG_DS_SESSION: {
    type: 'string',
    attr: 'RO',
    category: ['batch', 'get_data', 'set_data', 'alert', 'javascript', 'component'],
  },
  // SYS_OBJ_DS_INFO: {
  //   type: "object",
  //   attr: "RO",
  //   category: [
  //     "batch",
  //     "get_data",
  //     "set_data",
  //     "alert",
  //     "javascript",
  //     "component",
  //   ],
  //   properties: [
  //     "rows",
  //     "type",
  //     "first_row_id",
  //     "last_row_id",
  //     "query_from_segments_json",
  //     "query_to_segments_json",
  //     "locate_query_from_segments_json",
  //     "locate_query_to_segments_json",
  //     "first_row_segments_json",
  //     "last_row_segments_json",
  //     "rowid_snapshot",
  //     "rowid",
  //   ],
  // },
  // SYS_OBJ_DS_DATA: {
  //   type: "object",
  //   attr: "RO",
  //   category: [
  //     "batch",
  //     "get_data",
  //     "set_data",
  //     "alert",
  //     "javascript",
  //     "component",
  //   ],
  //   index: "row_id",
  // },
  SYS_GLOBAL_STR_BROWSER_HASH_ID: {
    type: 'string',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_STR_BROWSER_TITLE: {
    type: 'string',
    attr: 'RW',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_SHIFT_KEY_STATE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_ONLINE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_REPLICATION_STAT: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_AJAX_BUSY: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_CONNECTED: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_IDLE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_COMMAND_KEY_STATE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_CONTROL_KEY_STATE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },
  SYS_GLOBAL_BOL_ALT_KEY_STATE: {
    type: 'bool',
    attr: 'RO',
    category: ['system'],
  },

  SYS_STR_WIN_ID: {
    type: 'string',
    attr: 'RO',
    category: ['component'],
  },
  SYS_STR_WIN_NAME: {
    type: 'string',
    attr: 'RO',
    category: ['component'],
  },
  SYS_STR_WIN_MODE: {
    type: 'string',
    attr: 'RO',
    category: ['component'],
  },
  SYS_OBJ_WIN_ELEMENT_HOVERED_ATTRIBUTES: {
    type: 'object',
    attr: 'RO',
    category: ['component'],
  },
  SYS_GLOBAL_OBJ_REFS: {
    type: 'object',
    attr: 'RO',
    category: ['system'],
  },
};
