Add assets

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-05-30 15:07:57 -07:00
parent b315be96bc
commit fa1cd6fb51
38 changed files with 9121 additions and 7 deletions

View File

@@ -0,0 +1,27 @@
-- Create enum types
CREATE TYPE criticity_level AS ENUM ('LOW', 'MEDIUM', 'HIGH');
CREATE TYPE asset_type AS ENUM ('PHYSICAL', 'VIRTUAL');
-- Create assets table
CREATE TABLE IF NOT EXISTS assets (
id TEXT PRIMARY KEY,
tenant_id TEXT NOT NULL,
name TEXT NOT NULL,
amount INTEGER NOT NULL,
owner_id TEXT NOT NULL REFERENCES peoples(id) ON UPDATE CASCADE ON DELETE CASCADE,
organization_id TEXT NOT NULL REFERENCES organizations(id) ON UPDATE CASCADE ON DELETE CASCADE,
criticity criticity_level DEFAULT 'MEDIUM',
asset_type asset_type NOT NULL DEFAULT 'VIRTUAL',
data_types_stored TEXT,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NOT NULL
);
-- Create junction table for many-to-many relationship with vendors
CREATE TABLE IF NOT EXISTS asset_vendors (
asset_id TEXT REFERENCES assets(id) ON DELETE CASCADE,
vendor_id TEXT REFERENCES vendors(id) ON DELETE CASCADE,
tenant_id TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
PRIMARY KEY (asset_id, vendor_id)
);