import { DateTime } from 'luxon'
import { BaseModel, column } from '@adonisjs/lucid/orm'

export default class InternationalShipmentCarrier extends BaseModel {
  @column({ isPrimary: true })
  declare id: number

  @column()
  declare carrier: string

  @column()
  declare is_enabled: boolean

  // DHL
  @column()
  declare dhl_username?: string

  @column()
  declare dhl_password?: string

  @column()
  declare dhl_account_number?: string

  // Aramex
  @column()
  declare aramex_username?: string

  @column()
  declare aramex_password?: string

  @column()
  declare aramex_account_number?: string

  @column()
  declare aramex_account_pin?: string

  @column()
  declare aramex_entity?: string

  @column()
  declare aramex_country_code?: string

  // SMSA
  @column()
  declare smsa_passkey?: string

  @column()
  declare smsa_soap_passkey?: string

  // FedEx
  @column()
  declare fedex_api_key?: string

  @column()
  declare fedex_secret_key?: string

  @column()
  declare fedex_account_number?: string

  @column.dateTime({ autoCreate: true })
  declare created_at: DateTime

  @column.dateTime({ autoCreate: true, autoUpdate: true })
  declare updated_at: DateTime
}
