feat: implement user credential management with new UserCredential entity and related components
This commit is contained in:
@@ -34,12 +34,12 @@
|
||||
--- Type Definitions ---
|
||||
DROP TYPE IF EXISTS USER_STATUS CASCADE;
|
||||
DROP TYPE IF EXISTS STATUS CASCADE;
|
||||
DROP TYPE IF EXISTS IDENTITY_PROVIDER CASCADE;
|
||||
DROP TYPE IF EXISTS CREDENTIAL_PROVIDER CASCADE;
|
||||
DROP TYPE IF EXISTS SETTING_TYPE CASCADE;
|
||||
|
||||
CREATE TYPE USER_STATUS AS ENUM ('ACTIVE', 'INACTIVE', 'LOCKED');
|
||||
CREATE TYPE STATUS AS ENUM ('ACTIVE', 'INACTIVE');
|
||||
CREATE TYPE IDENTITY_PROVIDER AS ENUM ('LOCAL', 'OIDC', 'MICROSOFT_ENTRA_ID', 'GOOGLE_OIDC', 'SAML');
|
||||
CREATE TYPE CREDENTIAL_PROVIDER AS ENUM ('LOCAL', 'OIDC', 'MICROSOFT_ENTRA_ID', 'GOOGLE_OIDC', 'SAML');
|
||||
CREATE TYPE SETTING_TYPE AS ENUM ('STRING', 'BOOLEAN', 'INT');
|
||||
|
||||
--- Departments Table ---
|
||||
@@ -186,15 +186,15 @@ SELECT 'johndoe',
|
||||
CURRENT_TIMESTAMP;
|
||||
|
||||
--- User Identities Table ---
|
||||
DROP TABLE IF EXISTS user_identities CASCADE;
|
||||
CREATE TABLE user_identities
|
||||
DROP TABLE IF EXISTS user_credentials CASCADE;
|
||||
CREATE TABLE user_credentials
|
||||
(
|
||||
user_id BIGINT NOT NULL REFERENCES users (id),
|
||||
provider IDENTITY_PROVIDER NOT NULL,
|
||||
external_id VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (user_id, provider, external_id)
|
||||
user_id BIGINT NOT NULL REFERENCES users (id),
|
||||
provider CREDENTIAL_PROVIDER NOT NULL,
|
||||
credential VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (user_id, provider, credential)
|
||||
);
|
||||
|
||||
--- Roles Table ---
|
||||
|
||||
Reference in New Issue
Block a user