ory-am/hydra

View on GitHub
persistence/sql/migrations/20211019000001000000_merge_authentication_request_tables.sqlite.up.sql

Summary

Maintainability
Test Coverage
-- Migration generated by the command below; DO NOT EDIT.
-- hydra:generate hydra migrate gen
CREATE TABLE hydra_oauth2_flow
(
    login_challenge           VARCHAR(40)  NOT NULL PRIMARY KEY,
    requested_scope           TEXT         NOT NULL DEFAULT '[]',
    login_verifier            VARCHAR(40)  NOT NULL,
    login_csrf                VARCHAR(40)  NOT NULL,
    subject                   VARCHAR(255) NOT NULL,
    request_url               TEXT         NOT NULL,
    login_skip                INTEGER      NOT NULL,
    client_id                 VARCHAR(255) NOT NULL REFERENCES hydra_client (id) ON DELETE CASCADE,
    requested_at              TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
    login_initialized_at      TIMESTAMP    NULL DEFAULT NULL,
    oidc_context              jsonb         NOT NULL DEFAULT '{}',
    login_session_id          VARCHAR(40)  NULL REFERENCES hydra_oauth2_authentication_session (id) ON DELETE CASCADE DEFAULT '',
    requested_at_audience     text         NULL DEFAULT '[]',

    state                     INTEGER      NOT NULL,

    login_remember            INTEGER      NOT NULL DEFAULT false,
    login_remember_for        INTEGER      NOT NULL,
    login_error               TEXT         NULL,
    acr                       TEXT          NOT NULL DEFAULT '',
    login_authenticated_at    TIMESTAMP    NULL DEFAULT NULL,
    login_was_used            INTEGER      NOT NULL DEFAULT false,
    forced_subject_identifier VARCHAR(255) NOT NULL DEFAULT '',
    context                   jsonb         NOT NULL DEFAULT '{}',
    amr                       text         NOT NULL DEFAULT '[]',

    consent_challenge_id      VARCHAR(40)  NULL,
    consent_skip              INTEGER      NOT NULL DEFAULT false,
    consent_verifier          VARCHAR(40)  NULL,
    consent_csrf              VARCHAR(40)  NULL,

    granted_scope             text        NOT NULL DEFAULT '[]',
    granted_at_audience       text        NOT NULL DEFAULT '[]',
    consent_remember          INTEGER     NOT NULL DEFAULT 0,
    consent_remember_for      INTEGER     NULL,
    consent_handled_at        TIMESTAMP   NULL,
    consent_was_used          INTEGER     NOT NULL DEFAULT false,
    consent_error             TEXT        NULL,
    session_id_token          jsonb        NULL DEFAULT '{}',
    session_access_token      jsonb        NULL DEFAULT '{}'

    CHECK (
        state = 128 OR
        state = 129 OR
        state = 1 OR
        (state = 2 AND (
            login_remember IS NOT NULL AND
            login_remember_for IS NOT NULL AND
            login_error IS NOT NULL AND
            acr IS NOT NULL AND
            login_was_used IS NOT NULL AND
            context IS NOT NULL AND
            amr IS NOT NULL
        )) OR
        (state = 3 AND (
            login_remember IS NOT NULL AND
            login_remember_for IS NOT NULL AND
            login_error IS NOT NULL AND
            acr IS NOT NULL AND
            login_was_used IS NOT NULL AND
            context IS NOT NULL AND
            amr IS NOT NULL
        )) OR
        (state = 4 AND (
            login_remember IS NOT NULL AND
            login_remember_for IS NOT NULL AND
            login_error IS NOT NULL AND
            acr IS NOT NULL AND
            login_was_used IS NOT NULL AND
            context IS NOT NULL AND
            amr IS NOT NULL AND

            consent_challenge_id IS NOT NULL AND
            consent_verifier IS NOT NULL AND
            consent_skip IS NOT NULL AND
            consent_csrf IS NOT NULL
        )) OR
        (state = 5 AND (
            login_remember IS NOT NULL AND
            login_remember_for IS NOT NULL AND
            login_error IS NOT NULL AND
            acr IS NOT NULL AND
            login_was_used IS NOT NULL AND
            context IS NOT NULL AND
            amr IS NOT NULL AND

            consent_challenge_id IS NOT NULL AND
            consent_verifier IS NOT NULL AND
            consent_skip IS NOT NULL AND
            consent_csrf IS NOT NULL
        )) OR
        (state = 6 AND (
            login_remember IS NOT NULL AND
            login_remember_for IS NOT NULL AND
            login_error IS NOT NULL AND
            acr IS NOT NULL AND
            login_was_used IS NOT NULL AND
            context IS NOT NULL AND
            amr IS NOT NULL AND

            consent_challenge_id IS NOT NULL AND
            consent_verifier IS NOT NULL AND
            consent_skip IS NOT NULL AND
            consent_csrf IS NOT NULL AND

            granted_scope IS NOT NULL AND
            consent_remember IS NOT NULL AND
            consent_remember_for IS NOT NULL AND
            consent_error IS NOT NULL AND
            session_access_token IS NOT NULL AND
            session_id_token IS NOT NULL AND
            consent_was_used IS NOT NULL
        ))
    )
);