fix(backend): wire handler layer in main.go and fix migration issues
cmd/server/main.go: replace stub router with full wiring — UserRepo, SessionRepo, AuthService, AuthMiddleware, AuthHandler, NewRouter; use postgres.NewPool instead of pgxpool.New directly. migrations/001_init_schemas.sql: wrap uuid_v7 and uuid_extract_timestamp function bodies with goose StatementBegin/End so semicolons inside dollar-quoted strings are not treated as statement separators. migrations/007_seed_data.sql: add seed admin user (admin/admin, bcrypt cost 10, is_admin=true, can_create=true) for manual testing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ CREATE SCHEMA IF NOT EXISTS acl;
|
||||
CREATE SCHEMA IF NOT EXISTS activity;
|
||||
|
||||
-- UUID v7 generator
|
||||
-- +goose StatementBegin
|
||||
CREATE OR REPLACE FUNCTION public.uuid_v7(cts timestamptz DEFAULT clock_timestamp())
|
||||
RETURNS uuid LANGUAGE plpgsql AS $$
|
||||
DECLARE
|
||||
@@ -38,14 +39,17 @@ BEGIN
|
||||
substring(entropy from 1 for 12))::uuid;
|
||||
END;
|
||||
$$;
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- Extract timestamp from UUID v7
|
||||
-- +goose StatementBegin
|
||||
CREATE OR REPLACE FUNCTION public.uuid_extract_timestamp(uuid_val uuid)
|
||||
RETURNS timestamptz LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $$
|
||||
SELECT to_timestamp(
|
||||
('x' || left(replace(uuid_val::text, '-', ''), 12))::bit(48)::bigint / 1000.0
|
||||
);
|
||||
$$;
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
|
||||
|
||||
@@ -26,7 +26,11 @@ INSERT INTO activity.action_types (name) VALUES
|
||||
-- Sessions
|
||||
('session_terminate');
|
||||
|
||||
INSERT INTO core.users (name, password, is_admin, can_create) VALUES
|
||||
('admin', '$2a$10$zk.VTFjRRxbkTE7cKfc7KOWeZfByk1VEkbkgZMJggI1fFf.yDEHZy', true, true);
|
||||
|
||||
-- +goose Down
|
||||
|
||||
DELETE FROM core.users WHERE name = 'admin';
|
||||
DELETE FROM activity.action_types;
|
||||
DELETE FROM core.object_types;
|
||||
|
||||
Reference in New Issue
Block a user