feat: seed dados de teste (unidade aguas lindas, precos, fotos, extras) + types atualizados
This commit is contained in:
parent
87f6e8df4f
commit
118bde32f4
@ -1,10 +1,16 @@
|
|||||||
export type Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[]
|
export type Json =
|
||||||
|
| string
|
||||||
|
| number
|
||||||
|
| boolean
|
||||||
|
| null
|
||||||
|
| { [key: string]: Json | undefined }
|
||||||
|
| Json[]
|
||||||
|
|
||||||
export type Database = {
|
export type Database = {
|
||||||
// Allows to automatically instantiate createClient with right options
|
// Allows to automatically instantiate createClient with right options
|
||||||
// instead of createClient<Database, { PostgrestVersion: 'XX' }>(URL, KEY)
|
// instead of createClient<Database, { PostgrestVersion: 'XX' }>(URL, KEY)
|
||||||
__InternalSupabase: {
|
__InternalSupabase: {
|
||||||
PostgrestVersion: '13.0.4'
|
PostgrestVersion: "13.0.4"
|
||||||
}
|
}
|
||||||
reserva_hotel: {
|
reserva_hotel: {
|
||||||
Tables: {
|
Tables: {
|
||||||
@ -89,11 +95,11 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'extras_id_marca_fkey'
|
foreignKeyName: "extras_id_marca_fkey"
|
||||||
columns: ['id_marca']
|
columns: ["id_marca"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'marcas'
|
referencedRelation: "marcas"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -133,11 +139,11 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'fotos_categoria_id_unidade_fkey'
|
foreignKeyName: "fotos_categoria_id_unidade_fkey"
|
||||||
columns: ['id_unidade']
|
columns: ["id_unidade"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'unidades'
|
referencedRelation: "unidades"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -213,11 +219,11 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'precos_id_marca_fkey'
|
foreignKeyName: "precos_id_marca_fkey"
|
||||||
columns: ['id_marca']
|
columns: ["id_marca"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'marcas'
|
referencedRelation: "marcas"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -242,25 +248,25 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reserva_extras_id_extra_fkey'
|
foreignKeyName: "reserva_extras_id_extra_fkey"
|
||||||
columns: ['id_extra']
|
columns: ["id_extra"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'extras'
|
referencedRelation: "extras"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reserva_extras_id_reserva_fkey'
|
foreignKeyName: "reserva_extras_id_reserva_fkey"
|
||||||
columns: ['id_reserva']
|
columns: ["id_reserva"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'reservas'
|
referencedRelation: "reservas"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reserva_extras_id_reserva_fkey'
|
foreignKeyName: "reserva_extras_id_reserva_fkey"
|
||||||
columns: ['id_reserva']
|
columns: ["id_reserva"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'vw_reservas_completa'
|
referencedRelation: "vw_reservas_completa"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -348,18 +354,18 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reservas_id_suite_fkey'
|
foreignKeyName: "reservas_id_suite_fkey"
|
||||||
columns: ['id_suite']
|
columns: ["id_suite"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'suites'
|
referencedRelation: "suites"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reservas_id_unidade_fkey'
|
foreignKeyName: "reservas_id_unidade_fkey"
|
||||||
columns: ['id_unidade']
|
columns: ["id_unidade"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'unidades'
|
referencedRelation: "unidades"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -423,18 +429,18 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'suites_unidades_id_suite_fkey'
|
foreignKeyName: "suites_unidades_id_suite_fkey"
|
||||||
columns: ['id_suite']
|
columns: ["id_suite"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'suites'
|
referencedRelation: "suites"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'suites_unidades_id_unidade_fkey'
|
foreignKeyName: "suites_unidades_id_unidade_fkey"
|
||||||
columns: ['id_unidade']
|
columns: ["id_unidade"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'unidades'
|
referencedRelation: "unidades"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -483,18 +489,18 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'unidades_id_conta_pagamento_fkey'
|
foreignKeyName: "unidades_id_conta_pagamento_fkey"
|
||||||
columns: ['id_conta_pagamento']
|
columns: ["id_conta_pagamento"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'contas_pagamento'
|
referencedRelation: "contas_pagamento"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'unidades_id_marca_fkey'
|
foreignKeyName: "unidades_id_marca_fkey"
|
||||||
columns: ['id_marca']
|
columns: ["id_marca"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'marcas'
|
referencedRelation: "marcas"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -516,11 +522,11 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'precos_id_marca_fkey'
|
foreignKeyName: "precos_id_marca_fkey"
|
||||||
columns: ['id_marca']
|
columns: ["id_marca"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'marcas'
|
referencedRelation: "marcas"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -556,18 +562,18 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
Relationships: [
|
Relationships: [
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reservas_id_suite_fkey'
|
foreignKeyName: "reservas_id_suite_fkey"
|
||||||
columns: ['id_suite']
|
columns: ["id_suite"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'suites'
|
referencedRelation: "suites"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
foreignKeyName: 'reservas_id_unidade_fkey'
|
foreignKeyName: "reservas_id_unidade_fkey"
|
||||||
columns: ['id_unidade']
|
columns: ["id_unidade"]
|
||||||
isOneToOne: false
|
isOneToOne: false
|
||||||
referencedRelation: 'unidades'
|
referencedRelation: "unidades"
|
||||||
referencedColumns: ['id']
|
referencedColumns: ["id"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -592,31 +598,33 @@ export type Database = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type DatabaseWithoutInternals = Omit<Database, '__InternalSupabase'>
|
type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
|
||||||
|
|
||||||
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, 'public'>]
|
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
|
||||||
|
|
||||||
export type Tables<
|
export type Tables<
|
||||||
DefaultSchemaTableNameOrOptions extends
|
DefaultSchemaTableNameOrOptions extends
|
||||||
| keyof (DefaultSchema['Tables'] & DefaultSchema['Views'])
|
| keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
|
||||||
| { schema: keyof DatabaseWithoutInternals },
|
| { schema: keyof DatabaseWithoutInternals },
|
||||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
|
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
|
||||||
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])
|
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
|
||||||
: never = never,
|
: never = never,
|
||||||
> = DefaultSchemaTableNameOrOptions extends {
|
> = DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] &
|
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
|
||||||
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
|
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
|
||||||
Row: infer R
|
Row: infer R
|
||||||
}
|
}
|
||||||
? R
|
? R
|
||||||
: never
|
: never
|
||||||
: DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema['Tables'] & DefaultSchema['Views'])
|
: DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
|
||||||
? (DefaultSchema['Tables'] & DefaultSchema['Views'])[DefaultSchemaTableNameOrOptions] extends {
|
DefaultSchema["Views"])
|
||||||
|
? (DefaultSchema["Tables"] &
|
||||||
|
DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
|
||||||
Row: infer R
|
Row: infer R
|
||||||
}
|
}
|
||||||
? R
|
? R
|
||||||
@ -625,23 +633,23 @@ export type Tables<
|
|||||||
|
|
||||||
export type TablesInsert<
|
export type TablesInsert<
|
||||||
DefaultSchemaTableNameOrOptions extends
|
DefaultSchemaTableNameOrOptions extends
|
||||||
| keyof DefaultSchema['Tables']
|
| keyof DefaultSchema["Tables"]
|
||||||
| { schema: keyof DatabaseWithoutInternals },
|
| { schema: keyof DatabaseWithoutInternals },
|
||||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
|
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
|
||||||
: never = never,
|
: never = never,
|
||||||
> = DefaultSchemaTableNameOrOptions extends {
|
> = DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
|
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
|
||||||
Insert: infer I
|
Insert: infer I
|
||||||
}
|
}
|
||||||
? I
|
? I
|
||||||
: never
|
: never
|
||||||
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables']
|
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
|
||||||
? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends {
|
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
|
||||||
Insert: infer I
|
Insert: infer I
|
||||||
}
|
}
|
||||||
? I
|
? I
|
||||||
@ -650,23 +658,23 @@ export type TablesInsert<
|
|||||||
|
|
||||||
export type TablesUpdate<
|
export type TablesUpdate<
|
||||||
DefaultSchemaTableNameOrOptions extends
|
DefaultSchemaTableNameOrOptions extends
|
||||||
| keyof DefaultSchema['Tables']
|
| keyof DefaultSchema["Tables"]
|
||||||
| { schema: keyof DatabaseWithoutInternals },
|
| { schema: keyof DatabaseWithoutInternals },
|
||||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
|
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
|
||||||
: never = never,
|
: never = never,
|
||||||
> = DefaultSchemaTableNameOrOptions extends {
|
> = DefaultSchemaTableNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
|
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
|
||||||
Update: infer U
|
Update: infer U
|
||||||
}
|
}
|
||||||
? U
|
? U
|
||||||
: never
|
: never
|
||||||
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables']
|
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
|
||||||
? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends {
|
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
|
||||||
Update: infer U
|
Update: infer U
|
||||||
}
|
}
|
||||||
? U
|
? U
|
||||||
@ -675,36 +683,36 @@ export type TablesUpdate<
|
|||||||
|
|
||||||
export type Enums<
|
export type Enums<
|
||||||
DefaultSchemaEnumNameOrOptions extends
|
DefaultSchemaEnumNameOrOptions extends
|
||||||
| keyof DefaultSchema['Enums']
|
| keyof DefaultSchema["Enums"]
|
||||||
| { schema: keyof DatabaseWithoutInternals },
|
| { schema: keyof DatabaseWithoutInternals },
|
||||||
EnumName extends DefaultSchemaEnumNameOrOptions extends {
|
EnumName extends DefaultSchemaEnumNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
|
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
|
||||||
: never = never,
|
: never = never,
|
||||||
> = DefaultSchemaEnumNameOrOptions extends {
|
> = DefaultSchemaEnumNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
|
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
|
||||||
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums']
|
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
|
||||||
? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions]
|
? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
|
||||||
: never
|
: never
|
||||||
|
|
||||||
export type CompositeTypes<
|
export type CompositeTypes<
|
||||||
PublicCompositeTypeNameOrOptions extends
|
PublicCompositeTypeNameOrOptions extends
|
||||||
| keyof DefaultSchema['CompositeTypes']
|
| keyof DefaultSchema["CompositeTypes"]
|
||||||
| { schema: keyof DatabaseWithoutInternals },
|
| { schema: keyof DatabaseWithoutInternals },
|
||||||
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
|
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
|
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
|
||||||
: never = never,
|
: never = never,
|
||||||
> = PublicCompositeTypeNameOrOptions extends {
|
> = PublicCompositeTypeNameOrOptions extends {
|
||||||
schema: keyof DatabaseWithoutInternals
|
schema: keyof DatabaseWithoutInternals
|
||||||
}
|
}
|
||||||
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
|
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
|
||||||
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes']
|
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
|
||||||
? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions]
|
? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
|
||||||
: never
|
: never
|
||||||
|
|
||||||
export const Constants = {
|
export const Constants = {
|
||||||
@ -712,3 +720,5 @@ export const Constants = {
|
|||||||
Enums: {},
|
Enums: {},
|
||||||
},
|
},
|
||||||
} as const
|
} as const
|
||||||
|
A new version of Supabase CLI is available: v2.90.0 (currently installed v2.48.3)
|
||||||
|
We recommend updating regularly for new features and bug fixes: https://supabase.com/docs/guides/cli/getting-started#updating-the-supabase-cli
|
||||||
|
|||||||
86
supabase/migrations/20260413000002_seed_dados_teste.sql
Normal file
86
supabase/migrations/20260413000002_seed_dados_teste.sql
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
-- Seed de dados de teste para Reserva Rede 1001 (Fase 2+3)
|
||||||
|
-- Já aplicada via MCP. Este arquivo é source of truth.
|
||||||
|
--
|
||||||
|
-- Popula:
|
||||||
|
-- • 1 unidade (Hotel 1001 Águas Lindas) amarrada ao Captain::Unit id=4 do Chatwoot
|
||||||
|
-- • 6 preços (2 categorias × 3 permanências)
|
||||||
|
-- • 4 fotos por categoria (URLs Unsplash de placeholder)
|
||||||
|
-- • 2 extras
|
||||||
|
--
|
||||||
|
-- Idempotente: checa existência antes de inserir.
|
||||||
|
|
||||||
|
do $$
|
||||||
|
declare
|
||||||
|
v_marca_id uuid;
|
||||||
|
v_unidade_id uuid;
|
||||||
|
v_conta_id uuid;
|
||||||
|
begin
|
||||||
|
-- 1. Garante a marca com categorias e permanências coerentes
|
||||||
|
select id into v_marca_id from reserva_hotel.marcas where nome = 'Hotel 1001 Noites' limit 1;
|
||||||
|
|
||||||
|
if v_marca_id is null then
|
||||||
|
insert into reserva_hotel.marcas (nome, categorias, permanencias, ativa)
|
||||||
|
values ('Hotel 1001 Noites',
|
||||||
|
array['Standard','Hidromassagem'],
|
||||||
|
array['3hrs','4hrs','Pernoite'],
|
||||||
|
true)
|
||||||
|
returning id into v_marca_id;
|
||||||
|
else
|
||||||
|
update reserva_hotel.marcas
|
||||||
|
set categorias = array['Standard','Hidromassagem'],
|
||||||
|
permanencias = array['3hrs','4hrs','Pernoite']
|
||||||
|
where id = v_marca_id;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
-- 2. Pega a primeira conta_pagamento existente (o POC tinha uma seedada)
|
||||||
|
select id into v_conta_id from reserva_hotel.contas_pagamento limit 1;
|
||||||
|
|
||||||
|
-- 3. Cria a unidade amarrada ao Captain::Unit id=4 (Hotel 1001 Águas Lindas)
|
||||||
|
select id into v_unidade_id from reserva_hotel.unidades where chatwoot_unit_id = 4 limit 1;
|
||||||
|
|
||||||
|
if v_unidade_id is null then
|
||||||
|
insert into reserva_hotel.unidades
|
||||||
|
(nome, id_marca, id_conta_pagamento, categorias_visiveis,
|
||||||
|
endereco, telefone, ativa, chatwoot_unit_id)
|
||||||
|
values
|
||||||
|
('Hotel 1001 Águas Lindas',
|
||||||
|
v_marca_id,
|
||||||
|
v_conta_id,
|
||||||
|
array['Standard','Hidromassagem'],
|
||||||
|
'Águas Lindas, GO',
|
||||||
|
'(61) 99999-0000',
|
||||||
|
true,
|
||||||
|
4)
|
||||||
|
returning id into v_unidade_id;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
-- 4. Preços
|
||||||
|
if not exists (
|
||||||
|
select 1 from reserva_hotel.precos
|
||||||
|
where id_marca = v_marca_id and categoria = 'Standard' and permanencia = '3hrs'
|
||||||
|
) then
|
||||||
|
insert into reserva_hotel.precos (id_marca, categoria, permanencia, periodo_semana, valor, ativo) values
|
||||||
|
(v_marca_id, 'Standard', '3hrs', 'default', 120.00, true),
|
||||||
|
(v_marca_id, 'Standard', '4hrs', 'default', 150.00, true),
|
||||||
|
(v_marca_id, 'Standard', 'Pernoite', 'default', 220.00, true),
|
||||||
|
(v_marca_id, 'Hidromassagem', '3hrs', 'default', 170.00, true),
|
||||||
|
(v_marca_id, 'Hidromassagem', '4hrs', 'default', 210.00, true),
|
||||||
|
(v_marca_id, 'Hidromassagem', 'Pernoite', 'default', 290.00, true);
|
||||||
|
end if;
|
||||||
|
|
||||||
|
-- 5. Fotos
|
||||||
|
if not exists (select 1 from reserva_hotel.fotos_categoria where id_unidade = v_unidade_id) then
|
||||||
|
insert into reserva_hotel.fotos_categoria (id_unidade, categoria, url_foto, alt, ordem) values
|
||||||
|
(v_unidade_id, 'Standard', 'https://images.unsplash.com/photo-1631049307264-da0ec9d70304?w=800', 'Suíte Standard 1', 0),
|
||||||
|
(v_unidade_id, 'Standard', 'https://images.unsplash.com/photo-1590490360182-c33d57733427?w=800', 'Suíte Standard 2', 1),
|
||||||
|
(v_unidade_id, 'Hidromassagem', 'https://images.unsplash.com/photo-1582719508461-905c673771fd?w=800', 'Suíte Hidromassagem 1', 0),
|
||||||
|
(v_unidade_id, 'Hidromassagem', 'https://images.unsplash.com/photo-1578683010236-d716f9a3f461?w=800', 'Suíte Hidromassagem 2', 1);
|
||||||
|
end if;
|
||||||
|
|
||||||
|
-- 6. Extras
|
||||||
|
if not exists (select 1 from reserva_hotel.extras where id_marca = v_marca_id) then
|
||||||
|
insert into reserva_hotel.extras (id_marca, titulo, descricao, preco, ativo, ordem) values
|
||||||
|
(v_marca_id, 'Tira-gosto', 'Porção de petiscos servida na suíte', 35.00, true, 0),
|
||||||
|
(v_marca_id, 'Decoração romântica', 'Pétalas, velas e champanhe', 90.00, true, 1);
|
||||||
|
end if;
|
||||||
|
end $$;
|
||||||
Loading…
Reference in New Issue
Block a user