-- アカウント

-- トリガーの削除
DROP TRIGGER IF EXISTS accounts_updated_at ON accounts;

-- テーブルの削除

CREATE TABLE accounts (
    id SERIAL PRIMARY KEY, -- 主キー
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 作成日時
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 更新日時
    last_updater VARCHAR(255),           -- 最終更新者（あたらしく追加
    username VARCHAR(255) NOT NULL, -- ユーザー名
    email VARCHAR(255) NOT NULL UNIQUE, -- メールアドレス
    password VARCHAR(255) NOT NULL, -- パスワード
    last_login_at TIMESTAMP, -- 最終ログイン日時
    company VARCHAR(255), -- 会社
    department VARCHAR(255), -- 部署
    authority VARCHAR(50) , -- 権限
    marina_id INTEGER, -- マリーナとの紐づけ
    agency_id INTEGER -- 代理店との紐づけ
) WITH (oids = false);


--関数の作成（update_timestamp）
CREATE OR REPLACE FUNCTION update_timestamp()
RETURNS TRIGGER AS $$ 
BEGIN
    NEW.updated_at = CURRENT_TIMESTAMP;  -- 更新日時を現在時刻に設定
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

-- トリガーを作成（updated_at の自動更新）
CREATE TRIGGER accounts_updated_at
BEFORE UPDATE ON accounts
FOR EACH ROW
EXECUTE PROCEDURE update_timestamp();


-- 初期データ挿入
INSERT INTO accounts (
    username, email, password, last_login_at, company, department, authority, marina_id, agency_id
) VALUES
('損保 太郎',	'sonpo_taro@example.com',	'RKcPL637Qu7B',	NULL,	'損保保険ジャパン株式会社',	'',	'管理者',	NULL,	NULL),
('ユニマットプレシャス 太郎',	'unimat_taro@example.com',	'zRHChRQjf4Qn',	NULL,	'株式会社ユニマットプレシャス',	'',	'一般',	NULL,	NULL),
('developer',	's.takaki@aw-j.net',	'igIPEPM6A3Ll',	NULL,	'開発',	'',	'開発',	NULL,	NULL),
('developer',	'f.ushio@aw-j.net',	'YxCF48Yyczlc',	NULL,	'開発',	'',	'開発',	NULL,	NULL),
('隠樹 正彦',	'm-oki@kohoku.co.jp',	'JFid6p6KKF5L',	NULL,	'港北メディアサービス株式会社',	'',	'管理者',	NULL,	NULL),
('青木 綾香',	'aaoki4@sompo-japan.co.jp',	'v341Zb3y7wl6',	NULL,	'損害保険ジャパン株式会社 横浜中央支店 横須賀支社',	'',	'管理者',	NULL,	NULL),
('宇野 直樹',	'nuno1@sompo-japan.co.jp',	'956eXQ5cH1uB',	NULL,	'損害保険ジャパン株式会社 横浜中央支店 横須賀支社',	'',	'管理者',	NULL,	NULL),
('三澤 さやか',	'smisawa1@sompo-japan.co.jp',	'956eXQ5cH1uB',	NULL,	'損害保険ジャパン株式会社 横浜中央支店 横須賀支社',	'',	'管理者',	NULL,	NULL),
('鈴木 恵子',	'ksuzuki215@sompo-japan.co.jp',	'956eXQ5cH1uB',	NULL,	'損害保険ジャパン株式会社 横浜中央支店 横須賀支社',	'',	'管理者',	NULL,	NULL)
;