mirror of
https://github.com/versia-pub/server.git
synced 2026-03-13 13:59:16 +01:00
refactor(database): ➖ Remove dependency on pg_uuidv7 extension
This commit is contained in:
parent
2bb3731187
commit
37f68bbffd
37 changed files with 2465 additions and 4 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import { afterAll, describe, expect, test } from "bun:test";
|
||||
import { randomString } from "@/math";
|
||||
import { Application } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { config } from "~/config.ts";
|
||||
import { fakeRequest, getTestUsers } from "~/tests/utils";
|
||||
|
||||
|
|
@ -8,6 +9,7 @@ const { users, deleteUsers, passwords } = await getTestUsers(1);
|
|||
|
||||
// Create application
|
||||
const application = await Application.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "Test Application",
|
||||
clientId: randomString(32, "hex"),
|
||||
secret: "test",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { afterAll, describe, expect, test } from "bun:test";
|
||||
import { randomString } from "@/math";
|
||||
import { Application } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { config } from "~/config.ts";
|
||||
import { fakeRequest, getTestUsers } from "~/tests/utils";
|
||||
|
||||
|
|
@ -10,6 +11,7 @@ const newPassword = randomString(16, "hex");
|
|||
|
||||
// Create application
|
||||
const application = await Application.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "Test Application",
|
||||
clientId: randomString(32, "hex"),
|
||||
secret: "test",
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
let role: Role;
|
||||
let higherPriorityRole: Role;
|
||||
|
|
@ -10,6 +10,7 @@ let higherPriorityRole: Role;
|
|||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "test",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
|
|
@ -24,6 +25,7 @@ beforeAll(async () => {
|
|||
|
||||
// Create a role with higher priority than the user's role
|
||||
higherPriorityRole = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "higherPriorityRole",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 3, // Higher priority than the user's role
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -9,6 +10,7 @@ let role: Role;
|
|||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "test",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import {
|
|||
CredentialApplication as CredentialApplicationSchema,
|
||||
} from "@versia/client/schemas";
|
||||
import { Application } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
|
|
@ -66,6 +67,7 @@ export default apiRoute((app) =>
|
|||
context.req.valid("json");
|
||||
|
||||
const app = await Application.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: client_name,
|
||||
redirectUri: redirect_uris.join("\n"),
|
||||
scopes: scopes.join(" "),
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import { CustomEmoji as CustomEmojiSchema } from "@versia/client/schemas";
|
|||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, Media } from "@versia/kit/db";
|
||||
import { Emojis } from "@versia/kit/tables";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { and, eq, isNull, or } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -124,6 +125,7 @@ export default apiRoute((app) =>
|
|||
});
|
||||
|
||||
const emoji = await Emoji.insert({
|
||||
id: randomUUIDv7(),
|
||||
shortcode,
|
||||
mediaId: media.id,
|
||||
visibleInPicker: true,
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import {
|
|||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { Markers } from "@versia/kit/tables";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { type SQL, and, eq } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -189,6 +190,7 @@ export default apiRoute((app) => {
|
|||
await db
|
||||
.insert(Markers)
|
||||
.values({
|
||||
id: randomUUIDv7(),
|
||||
userId: user.id,
|
||||
timeline: "home",
|
||||
noteId: homeId,
|
||||
|
|
@ -218,6 +220,7 @@ export default apiRoute((app) => {
|
|||
await db
|
||||
.insert(Markers)
|
||||
.values({
|
||||
id: randomUUIDv7(),
|
||||
userId: user.id,
|
||||
timeline: "notifications",
|
||||
notificationId: notificationsId,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import {
|
|||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
|
@ -64,6 +65,7 @@ export default apiRoute((app) =>
|
|||
await PushSubscription.clearAllOfToken(token);
|
||||
|
||||
const ps = await PushSubscription.insert({
|
||||
id: randomUUIDv7(),
|
||||
alerts: data.alerts,
|
||||
policy,
|
||||
endpoint: subscription.endpoint,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import { afterAll, beforeEach, describe, expect, test } from "bun:test";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, tokens, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -44,6 +45,7 @@ describe("/api/v1/push/subscriptions", () => {
|
|||
await using client = await generateClient(users[1]);
|
||||
|
||||
await PushSubscription.insert({
|
||||
id: randomUUIDv7(),
|
||||
endpoint: "https://example.com",
|
||||
alerts: {
|
||||
update: true,
|
||||
|
|
@ -76,6 +78,7 @@ describe("/api/v1/push/subscriptions", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
await PushSubscription.insert({
|
||||
id: randomUUIDv7(),
|
||||
endpoint: "https://example.com",
|
||||
alerts: {
|
||||
update: true,
|
||||
|
|
@ -175,6 +178,7 @@ describe("/api/v1/push/subscriptions", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
await PushSubscription.insert({
|
||||
id: randomUUIDv7(),
|
||||
endpoint: "https://example.com",
|
||||
alerts: {
|
||||
update: true,
|
||||
|
|
@ -217,6 +221,7 @@ describe("/api/v1/push/subscriptions", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
await PushSubscription.insert({
|
||||
id: randomUUIDv7(),
|
||||
endpoint: "https://example.com",
|
||||
alerts: {
|
||||
update: true,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -10,6 +11,7 @@ let higherPriorityRole: Role;
|
|||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "test",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
|
|
@ -24,6 +26,7 @@ beforeAll(async () => {
|
|||
|
||||
// Create a role with higher priority than the user's role
|
||||
higherPriorityRole = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "higherPriorityRole",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 3, // Higher priority than the user's role
|
||||
|
|
@ -173,6 +176,7 @@ describe("/api/v1/roles/:id", () => {
|
|||
|
||||
test("should delete role", async () => {
|
||||
const newRole = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "test2",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { config } from "~/config.ts";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
|
|
@ -10,6 +11,7 @@ let role: Role;
|
|||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
name: "test",
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 10,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { apiRoute, auth, handleZodError } from "@/api";
|
|||
import { Role as RoleSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
|
|
@ -105,6 +106,7 @@ export default apiRoute((app) => {
|
|||
}
|
||||
|
||||
const newRole = await Role.insert({
|
||||
id: randomUUIDv7(),
|
||||
description,
|
||||
icon,
|
||||
name,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { Status as StatusSchema } from "@versia/client/schemas";
|
|||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Note } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -66,6 +67,7 @@ export default apiRoute((app) =>
|
|||
}
|
||||
|
||||
const newReblog = await Note.insert({
|
||||
id: randomUUIDv7(),
|
||||
authorId: user.id,
|
||||
reblogId: note.data.id,
|
||||
visibility,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
|||
import type { Status } from "@versia/client/schemas";
|
||||
import { Media, db } from "@versia/kit/db";
|
||||
import { Emojis } from "@versia/kit/tables";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { eq } from "drizzle-orm";
|
||||
import type { z } from "zod";
|
||||
import { config } from "~/config.ts";
|
||||
|
|
@ -17,6 +18,7 @@ afterAll(async () => {
|
|||
|
||||
beforeAll(async () => {
|
||||
media = await Media.insert({
|
||||
id: randomUUIDv7(),
|
||||
content: {
|
||||
"image/png": {
|
||||
content: "https://example.com/test.png",
|
||||
|
|
@ -24,7 +26,9 @@ beforeAll(async () => {
|
|||
},
|
||||
},
|
||||
});
|
||||
|
||||
await db.insert(Emojis).values({
|
||||
id: randomUUIDv7(),
|
||||
shortcode: "test",
|
||||
mediaId: media.id,
|
||||
visibleInPicker: true,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import {
|
|||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { FilterKeywords, Filters } from "@versia/kit/tables";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import type { SQL } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -139,6 +140,7 @@ export default apiRoute((app) => {
|
|||
await db
|
||||
.insert(Filters)
|
||||
.values({
|
||||
id: randomUUIDv7(),
|
||||
title,
|
||||
context: ctx,
|
||||
filterAction: filter_action,
|
||||
|
|
@ -160,6 +162,7 @@ export default apiRoute((app) => {
|
|||
.insert(FilterKeywords)
|
||||
.values(
|
||||
keywords_attributes?.map((keyword) => ({
|
||||
id: randomUUIDv7(),
|
||||
filterId: newFilter.id,
|
||||
keyword: keyword.keyword,
|
||||
wholeWord: keyword.whole_word ?? false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue