summaryrefslogtreecommitdiff
path: root/Database
diff options
context:
space:
mode:
authorSerghei Cebotari <serghei@cebotari.ru>2024-02-07 16:32:34 +0300
committerSerghei Cebotari <serghei@cebotari.ru>2024-02-07 16:32:34 +0300
commite9e34c5fec8b15912a0d1f7c92baa4bccb12a146 (patch)
treef8ffdd29efb1bdfa2a21fd18f70da8cba2a6bf85 /Database
parent3c6436256ea058fd746f634fd8c4a4e852dc77aa (diff)
Implement JWT tokens
Diffstat (limited to 'Database')
-rw-r--r--Database/Dockerfile4
-rw-r--r--Database/init-identity-database.sql97
2 files changed, 99 insertions, 2 deletions
diff --git a/Database/Dockerfile b/Database/Dockerfile
index a65c2ef..fea6d9d 100644
--- a/Database/Dockerfile
+++ b/Database/Dockerfile
@@ -1,6 +1,6 @@
FROM postgres:16.1-alpine AS build
-ADD ./init-database.sql /docker-entrypoint-initdb.d
-RUN chmod 644 /docker-entrypoint-initdb.d/init-database.sql
+ADD ./*.sql /docker-entrypoint-initdb.d
+RUN chmod 644 /docker-entrypoint-initdb.d/*.sql
EXPOSE 5432
ENTRYPOINT [ "docker-entrypoint.sh" ]
CMD [ "postgres" ] \ No newline at end of file
diff --git a/Database/init-identity-database.sql b/Database/init-identity-database.sql
new file mode 100644
index 0000000..9c4daa6
--- /dev/null
+++ b/Database/init-identity-database.sql
@@ -0,0 +1,97 @@
+CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
+ "MigrationId" character varying(150) NOT NULL,
+ "ProductVersion" character varying(32) NOT NULL,
+ CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
+);
+
+START TRANSACTION;
+
+CREATE TABLE "AspNetRoles" (
+ "Id" text NOT NULL,
+ "Name" character varying(256),
+ "NormalizedName" character varying(256),
+ "ConcurrencyStamp" text,
+ CONSTRAINT "PK_AspNetRoles" PRIMARY KEY ("Id")
+);
+
+CREATE TABLE "AspNetUsers" (
+ "Id" text NOT NULL,
+ "UserName" character varying(256),
+ "NormalizedUserName" character varying(256),
+ "Email" character varying(256),
+ "NormalizedEmail" character varying(256),
+ "EmailConfirmed" boolean NOT NULL,
+ "PasswordHash" text,
+ "SecurityStamp" text,
+ "ConcurrencyStamp" text,
+ "PhoneNumber" text,
+ "PhoneNumberConfirmed" boolean NOT NULL,
+ "TwoFactorEnabled" boolean NOT NULL,
+ "LockoutEnd" timestamp with time zone,
+ "LockoutEnabled" boolean NOT NULL,
+ "AccessFailedCount" integer NOT NULL,
+ CONSTRAINT "PK_AspNetUsers" PRIMARY KEY ("Id")
+);
+
+CREATE TABLE "AspNetRoleClaims" (
+ "Id" integer GENERATED BY DEFAULT AS IDENTITY,
+ "RoleId" text NOT NULL,
+ "ClaimType" text,
+ "ClaimValue" text,
+ CONSTRAINT "PK_AspNetRoleClaims" PRIMARY KEY ("Id"),
+ CONSTRAINT "FK_AspNetRoleClaims_AspNetRoles_RoleId" FOREIGN KEY ("RoleId") REFERENCES "AspNetRoles" ("Id") ON DELETE CASCADE
+);
+
+CREATE TABLE "AspNetUserClaims" (
+ "Id" integer GENERATED BY DEFAULT AS IDENTITY,
+ "UserId" text NOT NULL,
+ "ClaimType" text,
+ "ClaimValue" text,
+ CONSTRAINT "PK_AspNetUserClaims" PRIMARY KEY ("Id"),
+ CONSTRAINT "FK_AspNetUserClaims_AspNetUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AspNetUsers" ("Id") ON DELETE CASCADE
+);
+
+CREATE TABLE "AspNetUserLogins" (
+ "LoginProvider" text NOT NULL,
+ "ProviderKey" text NOT NULL,
+ "ProviderDisplayName" text,
+ "UserId" text NOT NULL,
+ CONSTRAINT "PK_AspNetUserLogins" PRIMARY KEY ("LoginProvider", "ProviderKey"),
+ CONSTRAINT "FK_AspNetUserLogins_AspNetUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AspNetUsers" ("Id") ON DELETE CASCADE
+);
+
+CREATE TABLE "AspNetUserRoles" (
+ "UserId" text NOT NULL,
+ "RoleId" text NOT NULL,
+ CONSTRAINT "PK_AspNetUserRoles" PRIMARY KEY ("UserId", "RoleId"),
+ CONSTRAINT "FK_AspNetUserRoles_AspNetRoles_RoleId" FOREIGN KEY ("RoleId") REFERENCES "AspNetRoles" ("Id") ON DELETE CASCADE,
+ CONSTRAINT "FK_AspNetUserRoles_AspNetUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AspNetUsers" ("Id") ON DELETE CASCADE
+);
+
+CREATE TABLE "AspNetUserTokens" (
+ "UserId" text NOT NULL,
+ "LoginProvider" text NOT NULL,
+ "Name" text NOT NULL,
+ "Value" text,
+ CONSTRAINT "PK_AspNetUserTokens" PRIMARY KEY ("UserId", "LoginProvider", "Name"),
+ CONSTRAINT "FK_AspNetUserTokens_AspNetUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AspNetUsers" ("Id") ON DELETE CASCADE
+);
+
+CREATE INDEX "IX_AspNetRoleClaims_RoleId" ON "AspNetRoleClaims" ("RoleId");
+
+CREATE UNIQUE INDEX "RoleNameIndex" ON "AspNetRoles" ("NormalizedName");
+
+CREATE INDEX "IX_AspNetUserClaims_UserId" ON "AspNetUserClaims" ("UserId");
+
+CREATE INDEX "IX_AspNetUserLogins_UserId" ON "AspNetUserLogins" ("UserId");
+
+CREATE INDEX "IX_AspNetUserRoles_RoleId" ON "AspNetUserRoles" ("RoleId");
+
+CREATE INDEX "EmailIndex" ON "AspNetUsers" ("NormalizedEmail");
+
+CREATE UNIQUE INDEX "UserNameIndex" ON "AspNetUsers" ("NormalizedUserName");
+
+INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
+VALUES ('20240206125053_Init', '8.0.1');
+
+COMMIT; \ No newline at end of file