added manager, driver, order, route, vehicle, warehouse endpoints,models and migrations.
This commit is contained in:
@@ -12,6 +12,7 @@ CREATE TABLE IF NOT EXISTS users (
|
||||
updated_at TIMESTAMPTZ,
|
||||
last_login_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
|
||||
@@ -1,9 +1,25 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
SELECT 'up SQL query';
|
||||
CREATE TABLE IF NOT EXISTS orders (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
created_by_id UUID REFERENCES users(id) ON DELETE SET NULL,
|
||||
driver_id UUID REFERENCES drivers(id) ON DELETE SET NULL,
|
||||
manager_id UUID REFERENCES managers(id) ON DELETE SET NULL,
|
||||
origin_warehouse_id UUID REFERENCES warehouses(id) ON DELETE SET NULL,
|
||||
origin_address VARCHAR(255),
|
||||
destination_address VARCHAR(255) NOT NULL,
|
||||
cargo_description TEXT,
|
||||
weight_kg NUMERIC(10,2),
|
||||
volume_m3 NUMERIC(10,2),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
total_price NUMERIC(12,2),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
assigned_at TIMESTAMPTZ,
|
||||
delivered_at TIMESTAMPTZ
|
||||
);
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
SELECT 'down SQL query';
|
||||
DROP TABLE IF EXISTS orders;
|
||||
-- +goose StatementEnd
|
||||
|
||||
14
migrations/20260322074231_create_manager.sql
Normal file
14
migrations/20260322074231_create_manager.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
CREATE TABLE IF NOT EXISTS managers (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID UNIQUE REFERENCES users(id) ON DELETE CASCADE,
|
||||
warehouse_id UUID REFERENCES warehouses(id) ON DELETE SET NULL,
|
||||
slug VARCHAR(120) UNIQUE NOT NULL
|
||||
);
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
DROP TABLE IF EXISTS managers;
|
||||
-- +goose StatementEnd
|
||||
19
migrations/20260322080115_create_warehouse.sql
Normal file
19
migrations/20260322080115_create_warehouse.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
CREATE TABLE IF NOT EXISTS warehouses (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
slug VARCHAR(120) UNIQUE NOT NULL,
|
||||
name VARCHAR(150) NOT NULL,
|
||||
address VARCHAR(255) NOT NULL,
|
||||
city VARCHAR(100),
|
||||
latitude NUMERIC(9,6),
|
||||
longitude NUMERIC(9,6),
|
||||
status VARCHAR(20) DEFAULT 'active',
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
DROP TABLE IF EXISTS warehouses;
|
||||
-- +goose StatementEnd
|
||||
20
migrations/20260323124352_create_routes.sql
Normal file
20
migrations/20260323124352_create_routes.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
CREATE TABLE IF NOT EXISTS routes (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
order_id UUID UNIQUE REFERENCES orders(id) ON DELETE CASCADE,
|
||||
driver_id UUID REFERENCES drivers(id) ON DELETE SET NULL,
|
||||
coordinates JSONB,
|
||||
current_index INTEGER DEFAULT 0,
|
||||
started_at TIMESTAMPTZ,
|
||||
finished_at TIMESTAMPTZ,
|
||||
distance_km NUMERIC(10,2),
|
||||
duration_sec INTEGER,
|
||||
status VARCHAR(20) DEFAULT 'pending'
|
||||
);
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
DROP TABLE IF EXISTS routes;
|
||||
-- +goose StatementEnd
|
||||
Reference in New Issue
Block a user