Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pollux): Add migrations needed for JWT revocation #778

Merged
merged 4 commits into from
Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ megalinter-reports/
.vscode
.bloop
.bsp
.jvmopts
.metals
**/project/metals.sbt
target
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
CREATE TYPE public.enum_credential_status_list_purpose AS ENUM (
'Revocation',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make it lower case for simplicity

'Suspension');


CREATE TABLE public.credential_status_lists
(
id UUID PRIMARY KEY default gen_random_uuid(),
wallet_id UUID NOT NULL,
issuer VARCHAR NOT NULL,
issued TIMESTAMP WITH TIME ZONE NOT NULL,
purpose public.enum_credential_status_list_purpose NOT NULL,
encoded_list TEXT NOT NULL,
proof JSON NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL default now(),
updated_at TIMESTAMP WITH TIME ZONE NOT NULL default now()
);

CREATE INDEX credential_status_lists_wallet_id_index ON public.credential_revocation_status_lists (wallet_id);

CREATE TABLE public.credentials_in_status_list
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would call it credential_status_list_records

(
id UUID PRIMARY KEY default gen_random_uuid(),
issue_credential_record_id UUID NOT NULL,
yshyn-iohk marked this conversation as resolved.
Show resolved Hide resolved
credential_status_list_id UUID NOT NULL,
status_list_index INTEGER NOT NULL,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
status_list_index INTEGER NOT NULL,
credential_status_list_index INTEGER NOT NULL,

-- is revoked or suspended
is_canceled BOOLEAN NOT NULL default false,
yshyn-iohk marked this conversation as resolved.
Show resolved Hide resolved
created_at TIMESTAMP WITH TIME ZONE NOT NULL default now(),
updated_at TIMESTAMP WITH TIME ZONE NOT NULL default now(),

CONSTRAINT issue_credential_record_id_fkey FOREIGN KEY (issue_credential_record_id) REFERENCES public.issue_credential_records (id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT credential_status_list_id_fkey FOREIGN KEY (credential_status_list_id) REFERENCES public.credential_status_lists (id) ON DELETE CASCADE ON UPDATE CASCADE
);

Loading