CREATE TABLE IF NOT EXISTS resource_actions (
  id              UUID DEFAULT uuid_generate_v4(),
  resource_id     UUID NOT NULL,
  name            TEXT NOT NULL,
  key             TEXT NOT NULL,
  description     TEXT,
  can_use         BOOLEAN NOT NULL DEFAULT TRUE,
  created_at      BIGINT NOT NULL DEFAULT (extract(epoch from now()) * 1000),
  updated_at      BIGINT NOT NULL DEFAULT (extract(epoch from now()) * 1000),
  PRIMARY KEY (id),
  CONSTRAINT fk_resource_actions_resource_id
    FOREIGN KEY(resource_id) 
	    REFERENCES resources(id)

);

CREATE UNIQUE INDEX uidx_resource_actions_key ON resource_actions (key);
CREATE INDEX idx_resource_actions_resource_id ON resource_actions (resource_id);

-- trigger (updated_at)
CREATE TRIGGER tg_resource_actions_updated_at
  BEFORE UPDATE
  ON resource_actions
  FOR EACH ROW
  EXECUTE PROCEDURE update_updated_at_column();