// @generated
// This file is automatically generated by Kanel. Do not modify manually.

import type { UsersId } from './Users';
import type { default as PaymentStatusEnum } from './PaymentStatusEnum';
import type { ServizioServizioId } from './Servizio';
import type { OrdiniOrdineId } from './Ordini';
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';

/** Identifier type for public.payments */
export type PaymentsId = string & { __brand: 'public.payments' };

/** Represents the table public.payments */
export default interface PaymentsTable {
  id: ColumnType<PaymentsId, PaymentsId | undefined, PaymentsId>;

  userid: ColumnType<UsersId, UsersId, UsersId>;

  amount_cent: ColumnType<number, number, number>;

  created_at: ColumnType<Date, Date | string | undefined, Date | string>;

  paymentmethod: ColumnType<string | null, string | null, string | null>;

  paymentname: ColumnType<string, string, string>;

  paid_at: ColumnType<Date | null, Date | string | null, Date | string | null>;

  intent_id: ColumnType<string | null, string | null, string | null>;

  paymentstatus: ColumnType<PaymentStatusEnum | null, PaymentStatusEnum | null, PaymentStatusEnum | null>;

  servizio_id: ColumnType<ServizioServizioId, ServizioServizioId, ServizioServizioId>;

  ordine_id: ColumnType<OrdiniOrdineId, OrdiniOrdineId, OrdiniOrdineId>;
}

export type Payments = Selectable<PaymentsTable>;

export type NewPayments = Insertable<PaymentsTable>;

export type PaymentsUpdate = Updateable<PaymentsTable>;
