--- SPDX-FileCopyrightText: 2024 Aravinth Manivannan <realaravinth@batsense.net>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later

CREATE TABLE IF NOT EXISTS categoty_events
(
    aggregate_type text                         NOT NULL,
    aggregate_id   text                         NOT NULL,
    sequence       bigint CHECK (sequence >= 0) NOT NULL,
    event_type     text                         NOT NULL,
    event_version  text                         NOT NULL,
    payload        json                         NOT NULL,
    metadata       json                         NOT NULL,
    timestamp      timestamp with time zone DEFAULT (CURRENT_TIMESTAMP),
    PRIMARY KEY (aggregate_type, aggregate_id, sequence)
);

CREATE TABLE IF NOT EXISTS cqrs_inventory_store_query
(
    view_id text                        NOT NULL,
    version           bigint CHECK (version >= 0) NOT NULL,

	name TEXT NOT NULL,
	address TEXT,
	owner TEXT NOT NULL,
	store_id UUID NOT NULL UNIQUE,
	deleted BOOLEAN NOT NULL DEFAULT FALSE,

    PRIMARY KEY (view_id)
);

CREATE UNIQUE INDEX IF NOT EXISTS store_store_id_index ON cqrs_inventory_store_query (store_id);
