mirror of
https://github.com/versia-pub/server.git
synced 2025-12-07 08:48:19 +01:00
feat(api): ✨ Add Roles API
This commit is contained in:
parent
46f41199ac
commit
19823d8eca
|
|
@ -6,14 +6,18 @@ Some more information about the Mastodon API can be found in the [Mastodon API d
|
|||
|
||||
## Emoji API
|
||||
|
||||
For administrators. Please read [the documentation](./emojis.md).
|
||||
For client developers. Please read [the documentation](./emojis.md).
|
||||
|
||||
## Roles API
|
||||
|
||||
For client developers. Please read [the documentation](./roles.md).
|
||||
|
||||
## Moderation API
|
||||
|
||||
> [!WARNING]
|
||||
> **Not implemented.**
|
||||
|
||||
For administrators. Please read [the documentation](./moderation.md).
|
||||
For client developers. Please read [the documentation](./moderation.md).
|
||||
|
||||
## Frontend API
|
||||
|
||||
|
|
|
|||
153
docs/api/roles.md
Normal file
153
docs/api/roles.md
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
# Roles API
|
||||
|
||||
The Roles API lets users manage roles given to them by administrators. This API is available to all users.
|
||||
|
||||
> [!WARNING]
|
||||
> The API for **administrators** is different (and unimplemented): this is the API for **users**.
|
||||
>
|
||||
> Furthermore, users can only manage roles if they have the `roles` permission, and the role they wish to manage does not have a higher priority than their highest priority role.
|
||||
|
||||
## Priorities
|
||||
|
||||
Roles have a priority, which determines the order in which they are applied. Roles with higher priorities take precedence over roles with lower priorities.
|
||||
|
||||
Additionally, users cannot remove or add roles with a higher priority than their highest priority role.
|
||||
|
||||
## Visibility
|
||||
|
||||
Roles can be visible or invisible. Invisible roles are not shown to users in the UI, but they can still be managed via the API.
|
||||
|
||||
> [!WARNING]
|
||||
> All roles assigned to a user are public information and can be retrieved via the API. The visibility of a role only affects whether it is shown in the UI, which clients can choose to respect or not.
|
||||
|
||||
## Permissions
|
||||
|
||||
```ts
|
||||
// Last updated: 2024-06-07
|
||||
// Search for "RolePermissions" in the source code (GitHub search bar) for the most up-to-date version
|
||||
enum RolePermissions {
|
||||
MANAGE_NOTES = "notes",
|
||||
MANAGE_OWN_NOTES = "owner:note",
|
||||
MANAGE_ACCOUNTS = "accounts",
|
||||
MANAGE_OWN_ACCOUNT = "owner:account",
|
||||
MANAGE_EMOJIS = "emojis",
|
||||
MANAGE_OWN_EMOJIS = "owner:emoji",
|
||||
MANAGE_MEDIA = "media",
|
||||
MANAGE_OWN_MEDIA = "owner:media",
|
||||
MANAGE_BLOCKS = "blocks",
|
||||
MANAGE_OWN_BLOCKS = "owner:block",
|
||||
MANAGE_FILTERS = "filters",
|
||||
MANAGE_OWN_FILTERS = "owner:filter",
|
||||
MANAGE_MUTES = "mutes",
|
||||
MANAGE_OWN_MUTES = "owner:mute",
|
||||
MANAGE_REPORTS = "reports",
|
||||
MANAGE_OWN_REPORTS = "owner:report",
|
||||
MANAGE_SETTINGS = "settings",
|
||||
MANAGE_OWN_SETTINGS = "owner:settings",
|
||||
MANAGE_ROLES = "roles",
|
||||
IGNORE_RATE_LIMITS = "ignore_rate_limits",
|
||||
IMPERSONATE = "impersonate",
|
||||
MANAGE_INSTANCE = "instance",
|
||||
MANAGE_INSTANCE_FEDERATION = "instance:federation",
|
||||
MANAGE_INSTANCE_SETTINGS = "instance:settings",
|
||||
OAUTH = "oauth",
|
||||
}
|
||||
```
|
||||
|
||||
### Manage Roles
|
||||
|
||||
The `roles` permission allows the user to manage roles, including adding and removing roles from themselves. This permission is required to use the Roles API.
|
||||
|
||||
### Impersonate
|
||||
|
||||
The `impersonate` permission allows the user to impersonate other users (logging in with their credentials). This is a dangerous permission and should be used with caution.
|
||||
|
||||
### Manage Instance
|
||||
|
||||
The `instance` permission allows the user to manage the instance, including viewing logs, restarting the instance, and more.
|
||||
|
||||
### Manage Instance Federation
|
||||
|
||||
The `instance:federation` permission allows the user to manage the instance's federation settings, including blocking and unblocking other instances.
|
||||
|
||||
### Manage Instance Settings
|
||||
|
||||
The `instance:settings` permission allows the user to manage the instance's settings, including changing the instance's name, description, and more.
|
||||
|
||||
### OAuth2
|
||||
|
||||
The `oauth` permission is required for users to log in to the instance. Users who do not have this permission will not be able to log in.
|
||||
|
||||
## Get Roles
|
||||
|
||||
```http
|
||||
GET /api/v1/roles
|
||||
```
|
||||
|
||||
Retrieves a list of roles that the user has.
|
||||
|
||||
### Response
|
||||
|
||||
```ts
|
||||
// 200 OK
|
||||
{
|
||||
id: string;
|
||||
name: string;
|
||||
permissions: RolePermissions[];
|
||||
priority: number;
|
||||
description: string | null;
|
||||
visible: boolean;
|
||||
icon: string | null
|
||||
}[];
|
||||
```
|
||||
|
||||
## Get Role
|
||||
|
||||
```http
|
||||
GET /api/v1/roles/:id
|
||||
```
|
||||
|
||||
Retrieves information about a role.
|
||||
|
||||
### Response
|
||||
|
||||
```ts
|
||||
// 200 OK
|
||||
{
|
||||
id: string;
|
||||
name: string;
|
||||
permissions: RolePermissions[];
|
||||
priority: number;
|
||||
description: string | null;
|
||||
visible: boolean;
|
||||
icon: string | null
|
||||
}
|
||||
```
|
||||
|
||||
## Add Role
|
||||
|
||||
```http
|
||||
POST /api/v1/roles/:id
|
||||
```
|
||||
|
||||
Adds the role with the given ID to the user making the request.
|
||||
|
||||
### Response
|
||||
|
||||
```ts
|
||||
// 204 No Content
|
||||
```
|
||||
|
||||
## Remove Role
|
||||
|
||||
```http
|
||||
DELETE /api/v1/roles/:id
|
||||
```
|
||||
|
||||
Removes the role with the given ID from the user making the request.
|
||||
|
||||
### Response
|
||||
|
||||
```ts
|
||||
// 204 No Content
|
||||
```
|
||||
55
drizzle/0024_lush_aaron_stack.sql
Normal file
55
drizzle/0024_lush_aaron_stack.sql
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
CREATE TABLE IF NOT EXISTS "RoleToUsers" (
|
||||
"roleId" uuid NOT NULL,
|
||||
"userId" uuid NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "Roles" (
|
||||
"id" uuid PRIMARY KEY DEFAULT uuid_generate_v7() NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"permissions" text[] NOT NULL,
|
||||
"priority" integer DEFAULT 0 NOT NULL,
|
||||
"description" text,
|
||||
"visible" boolean DEFAULT false NOT NULL,
|
||||
"icon" text
|
||||
);
|
||||
--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "Applications_client_id_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "EmojiToNote_emojiId_noteId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "EmojiToNote_noteId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "EmojiToUser_emojiId_userId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "EmojiToUser_userId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "LysandObject_remote_id_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "LysandObject_uri_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "NoteToMentions_noteId_userId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "NoteToMentions_userId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "UserToPinnedNotes_userId_noteId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "UserToPinnedNotes_noteId_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "Users_uri_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "Users_username_index";--> statement-breakpoint
|
||||
DROP INDEX IF EXISTS "Users_email_index";--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "RoleToUsers" ADD CONSTRAINT "RoleToUsers_roleId_Roles_id_fk" FOREIGN KEY ("roleId") REFERENCES "public"."Roles"("id") ON DELETE cascade ON UPDATE cascade;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "RoleToUsers" ADD CONSTRAINT "RoleToUsers_userId_Users_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."Users"("id") ON DELETE cascade ON UPDATE cascade;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "Applications_client_id_index" ON "Applications" USING btree ("client_id");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "EmojiToNote_emojiId_noteId_index" ON "EmojiToNote" USING btree ("emojiId","noteId");--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "EmojiToNote_noteId_index" ON "EmojiToNote" USING btree ("noteId");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "EmojiToUser_emojiId_userId_index" ON "EmojiToUser" USING btree ("emojiId","userId");--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "EmojiToUser_userId_index" ON "EmojiToUser" USING btree ("userId");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "LysandObject_remote_id_index" ON "LysandObject" USING btree ("remote_id");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "LysandObject_uri_index" ON "LysandObject" USING btree ("uri");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "NoteToMentions_noteId_userId_index" ON "NoteToMentions" USING btree ("noteId","userId");--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "NoteToMentions_userId_index" ON "NoteToMentions" USING btree ("userId");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "UserToPinnedNotes_userId_noteId_index" ON "UserToPinnedNotes" USING btree ("userId","noteId");--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "UserToPinnedNotes_noteId_index" ON "UserToPinnedNotes" USING btree ("noteId");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "Users_uri_index" ON "Users" USING btree ("uri");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "Users_username_index" ON "Users" USING btree ("username");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "Users_email_index" ON "Users" USING btree ("email");
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public._prisma_migrations": {
|
||||
|
|
@ -240,14 +240,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_key",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -462,9 +480,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_key",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -571,14 +598,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -625,14 +676,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToStatus_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToStatus_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -679,14 +754,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_StatusToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_StatusToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_StatusToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_StatusToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -733,14 +832,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_UserPinnedNotes_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_UserPinnedNotes_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1062,9 +1185,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1373,19 +1505,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_key",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToStatus_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToStatus_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_key",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1151,9 +1226,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1234,14 +1318,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_StatusToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_StatusToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_StatusToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_StatusToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1494,19 +1602,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1542,14 +1677,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_UserPinnedNotes_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_UserPinnedNotes_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_key",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToStatus_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToStatus_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_key",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1151,9 +1226,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1234,14 +1318,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_A_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_A_B_index",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1494,19 +1602,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1542,14 +1677,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_UserPinnedNotes_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_UserPinnedNotes_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_key",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToStatus_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToStatus_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToStatus_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_key",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1151,9 +1226,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1234,14 +1318,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1494,19 +1602,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1542,14 +1677,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_UserPinnedNotes_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_UserPinnedNotes_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_UserPinnedNotes_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_key",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToStatus_emojiId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_emojiId_statusId_index",
|
||||
"columns": ["emojiId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToStatus_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1151,9 +1226,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1234,14 +1318,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1494,19 +1602,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1542,14 +1677,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_statusId_index",
|
||||
"columns": ["userId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToStatus_emojiId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_emojiId_statusId_index",
|
||||
"columns": ["emojiId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToStatus_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"_EmojiToUser_AB_unique": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "A",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_AB_unique",
|
||||
"columns": ["A", "B"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"_EmojiToUser_B_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "B",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "_EmojiToUser_B_index",
|
||||
"columns": ["B"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1153,9 +1228,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1236,14 +1320,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1496,19 +1604,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_key",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_key",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_key": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_key",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1544,14 +1679,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_statusId_index",
|
||||
"columns": ["userId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToStatus_emojiId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_emojiId_statusId_index",
|
||||
"columns": ["emojiId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToStatus_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1153,9 +1228,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1236,14 +1320,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1496,19 +1604,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1544,14 +1679,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_statusId_index",
|
||||
"columns": ["userId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToStatus_emojiId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_emojiId_statusId_index",
|
||||
"columns": ["emojiId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToStatus_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1147,9 +1222,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1221,14 +1305,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1481,19 +1589,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1529,14 +1664,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_statusId_index",
|
||||
"columns": ["userId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Application": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Application_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Application_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToStatus_emojiId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_emojiId_statusId_index",
|
||||
"columns": ["emojiId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToStatus_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToStatus_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1154,9 +1229,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Status_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Status_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1228,14 +1312,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"StatusToMentions_statusId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_statusId_userId_index",
|
||||
"columns": ["statusId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"StatusToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "StatusToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1488,19 +1596,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"User_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"User_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "User_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1536,14 +1671,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_statusId_index",
|
||||
"columns": ["userId", "statusId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_statusId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "statusId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_statusId_index",
|
||||
"columns": ["statusId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1154,9 +1229,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1228,14 +1312,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1488,19 +1596,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1536,14 +1671,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -254,14 +263,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -306,14 +339,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1154,9 +1229,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1228,14 +1312,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1488,19 +1596,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1536,14 +1671,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -756,14 +831,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -893,9 +992,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1359,14 +1467,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1540,19 +1672,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -817,14 +892,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -954,9 +1053,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1420,14 +1528,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1601,19 +1733,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -561,14 +618,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -832,14 +907,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -969,9 +1068,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1435,14 +1543,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1616,19 +1748,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1544,14 +1652,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1725,19 +1857,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1544,14 +1652,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1725,19 +1857,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1558,14 +1666,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1739,19 +1871,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1562,14 +1670,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1743,19 +1875,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1564,14 +1672,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1745,19 +1877,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1570,14 +1678,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1751,19 +1883,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1078,9 +1177,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Notes_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Notes_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1570,14 +1678,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1758,19 +1890,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -58,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -191,14 +200,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -243,14 +276,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -670,14 +727,32 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -941,14 +1016,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1570,14 +1669,38 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
@ -1758,19 +1881,46 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{
|
||||
"id": "2ebf1bd7-ed30-4e28-aa35-091c4cec896c",
|
||||
"prevId": "44e89287-856b-4cc8-bee0-fb394522b01c",
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -60,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -164,11 +171,11 @@
|
|||
"Attachments_noteId_Notes_id_fk": {
|
||||
"name": "Attachments_noteId_Notes_id_fk",
|
||||
"tableFrom": "Attachments",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -193,34 +200,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"EmojiToNote_emojiId_Emojis_id_fk": {
|
||||
"name": "EmojiToNote_emojiId_Emojis_id_fk",
|
||||
"tableFrom": "EmojiToNote",
|
||||
"tableTo": "Emojis",
|
||||
"columnsFrom": ["emojiId"],
|
||||
"tableTo": "Emojis",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"EmojiToNote_noteId_Notes_id_fk": {
|
||||
"name": "EmojiToNote_noteId_Notes_id_fk",
|
||||
"tableFrom": "EmojiToNote",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -245,34 +276,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"EmojiToUser_emojiId_Emojis_id_fk": {
|
||||
"name": "EmojiToUser_emojiId_Emojis_id_fk",
|
||||
"tableFrom": "EmojiToUser",
|
||||
"tableTo": "Emojis",
|
||||
"columnsFrom": ["emojiId"],
|
||||
"tableTo": "Emojis",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"EmojiToUser_userId_Users_id_fk": {
|
||||
"name": "EmojiToUser_userId_Users_id_fk",
|
||||
"tableFrom": "EmojiToUser",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -343,20 +398,20 @@
|
|||
"Emojis_instanceId_Instances_id_fk": {
|
||||
"name": "Emojis_instanceId_Instances_id_fk",
|
||||
"tableFrom": "Emojis",
|
||||
"tableTo": "Instances",
|
||||
"columnsFrom": ["instanceId"],
|
||||
"tableTo": "Instances",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Emojis_ownerId_Users_id_fk": {
|
||||
"name": "Emojis_ownerId_Users_id_fk",
|
||||
"tableFrom": "Emojis",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["ownerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -397,11 +452,11 @@
|
|||
"FilterKeywords_filterId_Filters_id_fk": {
|
||||
"name": "FilterKeywords_filterId_Filters_id_fk",
|
||||
"tableFrom": "FilterKeywords",
|
||||
"tableTo": "Filters",
|
||||
"columnsFrom": ["filterId"],
|
||||
"tableTo": "Filters",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -461,11 +516,11 @@
|
|||
"Filters_userId_Users_id_fk": {
|
||||
"name": "Filters_userId_Users_id_fk",
|
||||
"tableFrom": "Filters",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -514,20 +569,20 @@
|
|||
"Flags_noteId_Notes_id_fk": {
|
||||
"name": "Flags_noteId_Notes_id_fk",
|
||||
"tableFrom": "Flags",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Flags_userId_Users_id_fk": {
|
||||
"name": "Flags_userId_Users_id_fk",
|
||||
"tableFrom": "Flags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -617,20 +672,20 @@
|
|||
"Likes_likerId_Users_id_fk": {
|
||||
"name": "Likes_likerId_Users_id_fk",
|
||||
"tableFrom": "Likes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["likerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Likes_likedId_Notes_id_fk": {
|
||||
"name": "Likes_likedId_Notes_id_fk",
|
||||
"tableFrom": "Likes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["likedId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -693,25 +748,43 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"LysandObject_authorId_LysandObject_id_fk": {
|
||||
"name": "LysandObject_authorId_LysandObject_id_fk",
|
||||
"tableFrom": "LysandObject",
|
||||
"tableTo": "LysandObject",
|
||||
"columnsFrom": ["authorId"],
|
||||
"tableTo": "LysandObject",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -765,29 +838,29 @@
|
|||
"Markers_noteId_Notes_id_fk": {
|
||||
"name": "Markers_noteId_Notes_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Markers_notificationId_Notifications_id_fk": {
|
||||
"name": "Markers_notificationId_Notifications_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Notifications",
|
||||
"columnsFrom": ["notificationId"],
|
||||
"tableTo": "Notifications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Markers_userId_Users_id_fk": {
|
||||
"name": "Markers_userId_Users_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -841,29 +914,29 @@
|
|||
"ModNotes_noteId_Notes_id_fk": {
|
||||
"name": "ModNotes_noteId_Notes_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModNotes_userId_Users_id_fk": {
|
||||
"name": "ModNotes_userId_Users_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModNotes_modId_Users_id_fk": {
|
||||
"name": "ModNotes_modId_Users_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["modId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -917,29 +990,29 @@
|
|||
"ModTags_noteId_Notes_id_fk": {
|
||||
"name": "ModTags_noteId_Notes_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModTags_userId_Users_id_fk": {
|
||||
"name": "ModTags_userId_Users_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModTags_modId_Users_id_fk": {
|
||||
"name": "ModTags_modId_Users_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["modId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -964,34 +1037,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"NoteToMentions_noteId_Notes_id_fk": {
|
||||
"name": "NoteToMentions_noteId_Notes_id_fk",
|
||||
"tableFrom": "NoteToMentions",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"NoteToMentions_userId_Users_id_fk": {
|
||||
"name": "NoteToMentions_userId_Users_id_fk",
|
||||
"tableFrom": "NoteToMentions",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1104,55 +1201,55 @@
|
|||
"Notes_authorId_Users_id_fk": {
|
||||
"name": "Notes_authorId_Users_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["authorId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_reblogId_Notes_id_fk": {
|
||||
"name": "Notes_reblogId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["reblogId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_replyId_Notes_id_fk": {
|
||||
"name": "Notes_replyId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["replyId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_quoteId_Notes_id_fk": {
|
||||
"name": "Notes_quoteId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["quoteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_applicationId_Applications_id_fk": {
|
||||
"name": "Notes_applicationId_Applications_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "set null",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"Notes_uri_unique": {
|
||||
"name": "Notes_uri_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["uri"]
|
||||
"columns": ["uri"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -1211,29 +1308,29 @@
|
|||
"Notifications_notifiedId_Users_id_fk": {
|
||||
"name": "Notifications_notifiedId_Users_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["notifiedId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notifications_accountId_Users_id_fk": {
|
||||
"name": "Notifications_accountId_Users_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["accountId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notifications_noteId_Notes_id_fk": {
|
||||
"name": "Notifications_noteId_Notes_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1274,11 +1371,11 @@
|
|||
"OpenIdAccounts_userId_Users_id_fk": {
|
||||
"name": "OpenIdAccounts_userId_Users_id_fk",
|
||||
"tableFrom": "OpenIdAccounts",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "set null",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1319,11 +1416,11 @@
|
|||
"OpenIdLoginFlows_applicationId_Applications_id_fk": {
|
||||
"name": "OpenIdLoginFlows_applicationId_Applications_id_fk",
|
||||
"tableFrom": "OpenIdLoginFlows",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1450,20 +1547,20 @@
|
|||
"Relationships_ownerId_Users_id_fk": {
|
||||
"name": "Relationships_ownerId_Users_id_fk",
|
||||
"tableFrom": "Relationships",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["ownerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Relationships_subjectId_Users_id_fk": {
|
||||
"name": "Relationships_subjectId_Users_id_fk",
|
||||
"tableFrom": "Relationships",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["subjectId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1555,20 +1652,20 @@
|
|||
"Tokens_userId_Users_id_fk": {
|
||||
"name": "Tokens_userId_Users_id_fk",
|
||||
"tableFrom": "Tokens",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Tokens_applicationId_Applications_id_fk": {
|
||||
"name": "Tokens_applicationId_Applications_id_fk",
|
||||
"tableFrom": "Tokens",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1593,34 +1690,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"UserToPinnedNotes_userId_Users_id_fk": {
|
||||
"name": "UserToPinnedNotes_userId_Users_id_fk",
|
||||
"tableFrom": "UserToPinnedNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"UserToPinnedNotes_noteId_Notes_id_fk": {
|
||||
"name": "UserToPinnedNotes_noteId_Notes_id_fk",
|
||||
"tableFrom": "UserToPinnedNotes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1781,30 +1902,57 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"Users_instanceId_Instances_id_fk": {
|
||||
"name": "Users_instanceId_Instances_id_fk",
|
||||
"tableFrom": "Users",
|
||||
"tableTo": "Instances",
|
||||
"columnsFrom": ["instanceId"],
|
||||
"tableTo": "Instances",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1814,8 +1962,10 @@
|
|||
"enums": {},
|
||||
"schemas": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
"tables": {},
|
||||
"columns": {}
|
||||
},
|
||||
"id": "2ebf1bd7-ed30-4e28-aa35-091c4cec896c",
|
||||
"prevId": "44e89287-856b-4cc8-bee0-fb394522b01c"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{
|
||||
"id": "c9b9230b-ba1c-4a81-bb6c-ce2e8efe09bf",
|
||||
"prevId": "2ebf1bd7-ed30-4e28-aa35-091c4cec896c",
|
||||
"version": "6",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"public.Applications": {
|
||||
|
|
@ -60,9 +58,18 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Applications_client_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "client_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Applications_client_id_index",
|
||||
"columns": ["client_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
|
|
@ -164,11 +171,11 @@
|
|||
"Attachments_noteId_Notes_id_fk": {
|
||||
"name": "Attachments_noteId_Notes_id_fk",
|
||||
"tableFrom": "Attachments",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -193,34 +200,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToNote_emojiId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_emojiId_noteId_index",
|
||||
"columns": ["emojiId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToNote_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToNote_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"EmojiToNote_emojiId_Emojis_id_fk": {
|
||||
"name": "EmojiToNote_emojiId_Emojis_id_fk",
|
||||
"tableFrom": "EmojiToNote",
|
||||
"tableTo": "Emojis",
|
||||
"columnsFrom": ["emojiId"],
|
||||
"tableTo": "Emojis",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"EmojiToNote_noteId_Notes_id_fk": {
|
||||
"name": "EmojiToNote_noteId_Notes_id_fk",
|
||||
"tableFrom": "EmojiToNote",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -245,34 +276,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"EmojiToUser_emojiId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "emojiId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_emojiId_userId_index",
|
||||
"columns": ["emojiId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"EmojiToUser_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "EmojiToUser_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"EmojiToUser_emojiId_Emojis_id_fk": {
|
||||
"name": "EmojiToUser_emojiId_Emojis_id_fk",
|
||||
"tableFrom": "EmojiToUser",
|
||||
"tableTo": "Emojis",
|
||||
"columnsFrom": ["emojiId"],
|
||||
"tableTo": "Emojis",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"EmojiToUser_userId_Users_id_fk": {
|
||||
"name": "EmojiToUser_userId_Users_id_fk",
|
||||
"tableFrom": "EmojiToUser",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -343,20 +398,20 @@
|
|||
"Emojis_instanceId_Instances_id_fk": {
|
||||
"name": "Emojis_instanceId_Instances_id_fk",
|
||||
"tableFrom": "Emojis",
|
||||
"tableTo": "Instances",
|
||||
"columnsFrom": ["instanceId"],
|
||||
"tableTo": "Instances",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Emojis_ownerId_Users_id_fk": {
|
||||
"name": "Emojis_ownerId_Users_id_fk",
|
||||
"tableFrom": "Emojis",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["ownerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -397,11 +452,11 @@
|
|||
"FilterKeywords_filterId_Filters_id_fk": {
|
||||
"name": "FilterKeywords_filterId_Filters_id_fk",
|
||||
"tableFrom": "FilterKeywords",
|
||||
"tableTo": "Filters",
|
||||
"columnsFrom": ["filterId"],
|
||||
"tableTo": "Filters",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -461,11 +516,11 @@
|
|||
"Filters_userId_Users_id_fk": {
|
||||
"name": "Filters_userId_Users_id_fk",
|
||||
"tableFrom": "Filters",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -514,20 +569,20 @@
|
|||
"Flags_noteId_Notes_id_fk": {
|
||||
"name": "Flags_noteId_Notes_id_fk",
|
||||
"tableFrom": "Flags",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Flags_userId_Users_id_fk": {
|
||||
"name": "Flags_userId_Users_id_fk",
|
||||
"tableFrom": "Flags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -617,20 +672,20 @@
|
|||
"Likes_likerId_Users_id_fk": {
|
||||
"name": "Likes_likerId_Users_id_fk",
|
||||
"tableFrom": "Likes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["likerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Likes_likedId_Notes_id_fk": {
|
||||
"name": "Likes_likedId_Notes_id_fk",
|
||||
"tableFrom": "Likes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["likedId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -693,25 +748,43 @@
|
|||
},
|
||||
"indexes": {
|
||||
"LysandObject_remote_id_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "remote_id",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_remote_id_index",
|
||||
"columns": ["remote_id"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"LysandObject_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "LysandObject_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"LysandObject_authorId_LysandObject_id_fk": {
|
||||
"name": "LysandObject_authorId_LysandObject_id_fk",
|
||||
"tableFrom": "LysandObject",
|
||||
"tableTo": "LysandObject",
|
||||
"columnsFrom": ["authorId"],
|
||||
"tableTo": "LysandObject",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -765,29 +838,29 @@
|
|||
"Markers_noteId_Notes_id_fk": {
|
||||
"name": "Markers_noteId_Notes_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Markers_notificationId_Notifications_id_fk": {
|
||||
"name": "Markers_notificationId_Notifications_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Notifications",
|
||||
"columnsFrom": ["notificationId"],
|
||||
"tableTo": "Notifications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Markers_userId_Users_id_fk": {
|
||||
"name": "Markers_userId_Users_id_fk",
|
||||
"tableFrom": "Markers",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -841,29 +914,29 @@
|
|||
"ModNotes_noteId_Notes_id_fk": {
|
||||
"name": "ModNotes_noteId_Notes_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModNotes_userId_Users_id_fk": {
|
||||
"name": "ModNotes_userId_Users_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModNotes_modId_Users_id_fk": {
|
||||
"name": "ModNotes_modId_Users_id_fk",
|
||||
"tableFrom": "ModNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["modId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -917,29 +990,29 @@
|
|||
"ModTags_noteId_Notes_id_fk": {
|
||||
"name": "ModTags_noteId_Notes_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModTags_userId_Users_id_fk": {
|
||||
"name": "ModTags_userId_Users_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"ModTags_modId_Users_id_fk": {
|
||||
"name": "ModTags_modId_Users_id_fk",
|
||||
"tableFrom": "ModTags",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["modId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -964,34 +1037,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"NoteToMentions_noteId_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_noteId_userId_index",
|
||||
"columns": ["noteId", "userId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"NoteToMentions_userId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "NoteToMentions_userId_index",
|
||||
"columns": ["userId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"NoteToMentions_noteId_Notes_id_fk": {
|
||||
"name": "NoteToMentions_noteId_Notes_id_fk",
|
||||
"tableFrom": "NoteToMentions",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"NoteToMentions_userId_Users_id_fk": {
|
||||
"name": "NoteToMentions_userId_Users_id_fk",
|
||||
"tableFrom": "NoteToMentions",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1104,55 +1201,55 @@
|
|||
"Notes_authorId_Users_id_fk": {
|
||||
"name": "Notes_authorId_Users_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["authorId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_reblogId_Notes_id_fk": {
|
||||
"name": "Notes_reblogId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["reblogId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_replyId_Notes_id_fk": {
|
||||
"name": "Notes_replyId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["replyId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_quoteId_Notes_id_fk": {
|
||||
"name": "Notes_quoteId_Notes_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["quoteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notes_applicationId_Applications_id_fk": {
|
||||
"name": "Notes_applicationId_Applications_id_fk",
|
||||
"tableFrom": "Notes",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "set null",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"Notes_uri_unique": {
|
||||
"name": "Notes_uri_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["uri"]
|
||||
"columns": ["uri"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -1211,29 +1308,29 @@
|
|||
"Notifications_notifiedId_Users_id_fk": {
|
||||
"name": "Notifications_notifiedId_Users_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["notifiedId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notifications_accountId_Users_id_fk": {
|
||||
"name": "Notifications_accountId_Users_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["accountId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Notifications_noteId_Notes_id_fk": {
|
||||
"name": "Notifications_noteId_Notes_id_fk",
|
||||
"tableFrom": "Notifications",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1274,11 +1371,11 @@
|
|||
"OpenIdAccounts_userId_Users_id_fk": {
|
||||
"name": "OpenIdAccounts_userId_Users_id_fk",
|
||||
"tableFrom": "OpenIdAccounts",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "set null",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1319,11 +1416,11 @@
|
|||
"OpenIdLoginFlows_applicationId_Applications_id_fk": {
|
||||
"name": "OpenIdLoginFlows_applicationId_Applications_id_fk",
|
||||
"tableFrom": "OpenIdLoginFlows",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1450,20 +1547,20 @@
|
|||
"Relationships_ownerId_Users_id_fk": {
|
||||
"name": "Relationships_ownerId_Users_id_fk",
|
||||
"tableFrom": "Relationships",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["ownerId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Relationships_subjectId_Users_id_fk": {
|
||||
"name": "Relationships_subjectId_Users_id_fk",
|
||||
"tableFrom": "Relationships",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["subjectId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1555,20 +1652,20 @@
|
|||
"Tokens_userId_Users_id_fk": {
|
||||
"name": "Tokens_userId_Users_id_fk",
|
||||
"tableFrom": "Tokens",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"Tokens_applicationId_Applications_id_fk": {
|
||||
"name": "Tokens_applicationId_Applications_id_fk",
|
||||
"tableFrom": "Tokens",
|
||||
"tableTo": "Applications",
|
||||
"columnsFrom": ["applicationId"],
|
||||
"tableTo": "Applications",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1593,34 +1690,58 @@
|
|||
},
|
||||
"indexes": {
|
||||
"UserToPinnedNotes_userId_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "userId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
},
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||
"columns": ["userId", "noteId"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"UserToPinnedNotes_noteId_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "noteId",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "UserToPinnedNotes_noteId_index",
|
||||
"columns": ["noteId"],
|
||||
"isUnique": false
|
||||
"isUnique": false,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"UserToPinnedNotes_userId_Users_id_fk": {
|
||||
"name": "UserToPinnedNotes_userId_Users_id_fk",
|
||||
"tableFrom": "UserToPinnedNotes",
|
||||
"tableTo": "Users",
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "Users",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"UserToPinnedNotes_noteId_Notes_id_fk": {
|
||||
"name": "UserToPinnedNotes_noteId_Notes_id_fk",
|
||||
"tableFrom": "UserToPinnedNotes",
|
||||
"tableTo": "Notes",
|
||||
"columnsFrom": ["noteId"],
|
||||
"tableTo": "Notes",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1793,30 +1914,57 @@
|
|||
},
|
||||
"indexes": {
|
||||
"Users_uri_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "uri",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_uri_index",
|
||||
"columns": ["uri"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_username_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "username",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_username_index",
|
||||
"columns": ["username"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
},
|
||||
"Users_email_index": {
|
||||
"columns": [
|
||||
{
|
||||
"expression": "email",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"name": "Users_email_index",
|
||||
"columns": ["email"],
|
||||
"isUnique": true
|
||||
"isUnique": true,
|
||||
"method": "btree",
|
||||
"concurrently": false
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"Users_instanceId_Instances_id_fk": {
|
||||
"name": "Users_instanceId_Instances_id_fk",
|
||||
"tableFrom": "Users",
|
||||
"tableTo": "Instances",
|
||||
"columnsFrom": ["instanceId"],
|
||||
"tableTo": "Instances",
|
||||
"columnsTo": ["id"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "cascade"
|
||||
"onUpdate": "cascade",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
|
|
@ -1826,8 +1974,10 @@
|
|||
"enums": {},
|
||||
"schemas": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
"tables": {},
|
||||
"columns": {}
|
||||
},
|
||||
"id": "c9b9230b-ba1c-4a81-bb6c-ce2e8efe09bf",
|
||||
"prevId": "2ebf1bd7-ed30-4e28-aa35-091c4cec896c"
|
||||
}
|
||||
|
|
|
|||
2093
drizzle/meta/0024_snapshot.json
Normal file
2093
drizzle/meta/0024_snapshot.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -169,6 +169,13 @@
|
|||
"when": 1715932436792,
|
||||
"tag": "0023_lazy_wolfsbane",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 24,
|
||||
"version": "7",
|
||||
"when": 1717810992701,
|
||||
"tag": "0024_lush_aaron_stack",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -484,6 +484,112 @@ export const ModTags = pgTable("ModTags", {
|
|||
.notNull(),
|
||||
});
|
||||
|
||||
/**
|
||||
* Permissions not prefixed with `owner:` let the role manage all instances of the resource.
|
||||
* For example, a user with the `notes` permission can manage all notes of every user
|
||||
* - Manage: Delete, Update, Create
|
||||
* - Owner: Only manage their own resources
|
||||
*/
|
||||
export enum RolePermissions {
|
||||
MANAGE_NOTES = "notes",
|
||||
MANAGE_OWN_NOTES = "owner:note",
|
||||
MANAGE_ACCOUNTS = "accounts",
|
||||
MANAGE_OWN_ACCOUNT = "owner:account",
|
||||
MANAGE_EMOJIS = "emojis",
|
||||
MANAGE_OWN_EMOJIS = "owner:emoji",
|
||||
MANAGE_MEDIA = "media",
|
||||
MANAGE_OWN_MEDIA = "owner:media",
|
||||
MANAGE_BLOCKS = "blocks",
|
||||
MANAGE_OWN_BLOCKS = "owner:block",
|
||||
MANAGE_FILTERS = "filters",
|
||||
MANAGE_OWN_FILTERS = "owner:filter",
|
||||
MANAGE_MUTES = "mutes",
|
||||
MANAGE_OWN_MUTES = "owner:mute",
|
||||
MANAGE_REPORTS = "reports",
|
||||
MANAGE_OWN_REPORTS = "owner:report",
|
||||
MANAGE_SETTINGS = "settings",
|
||||
MANAGE_OWN_SETTINGS = "owner:settings",
|
||||
MANAGE_ROLES = "roles",
|
||||
IGNORE_RATE_LIMITS = "ignore_rate_limits",
|
||||
IMPERSONATE = "impersonate",
|
||||
MANAGE_INSTANCE = "instance",
|
||||
MANAGE_INSTANCE_FEDERATION = "instance:federation",
|
||||
MANAGE_INSTANCE_SETTINGS = "instance:settings",
|
||||
/** Users who do not have this permission will not be able to login! */
|
||||
OAUTH = "oauth",
|
||||
}
|
||||
|
||||
export const DEFAULT_ROLES = [
|
||||
RolePermissions.MANAGE_OWN_NOTES,
|
||||
RolePermissions.MANAGE_OWN_ACCOUNT,
|
||||
RolePermissions.MANAGE_OWN_EMOJIS,
|
||||
RolePermissions.MANAGE_OWN_MEDIA,
|
||||
RolePermissions.MANAGE_OWN_BLOCKS,
|
||||
RolePermissions.MANAGE_OWN_FILTERS,
|
||||
RolePermissions.MANAGE_OWN_MUTES,
|
||||
RolePermissions.MANAGE_OWN_REPORTS,
|
||||
RolePermissions.MANAGE_OWN_SETTINGS,
|
||||
RolePermissions.OAUTH,
|
||||
];
|
||||
|
||||
export const ADMIN_ROLES = [
|
||||
...DEFAULT_ROLES,
|
||||
RolePermissions.MANAGE_NOTES,
|
||||
RolePermissions.MANAGE_ACCOUNTS,
|
||||
RolePermissions.MANAGE_EMOJIS,
|
||||
RolePermissions.MANAGE_MEDIA,
|
||||
RolePermissions.MANAGE_BLOCKS,
|
||||
RolePermissions.MANAGE_FILTERS,
|
||||
RolePermissions.MANAGE_MUTES,
|
||||
RolePermissions.MANAGE_REPORTS,
|
||||
RolePermissions.MANAGE_SETTINGS,
|
||||
RolePermissions.MANAGE_ROLES,
|
||||
RolePermissions.IMPERSONATE,
|
||||
RolePermissions.IGNORE_RATE_LIMITS,
|
||||
RolePermissions.MANAGE_INSTANCE,
|
||||
RolePermissions.MANAGE_INSTANCE_FEDERATION,
|
||||
RolePermissions.MANAGE_INSTANCE_SETTINGS,
|
||||
];
|
||||
|
||||
export const Roles = pgTable("Roles", {
|
||||
id: uuid("id").default(sql`uuid_generate_v7()`).primaryKey().notNull(),
|
||||
name: text("name").notNull(),
|
||||
permissions: text("permissions")
|
||||
.array()
|
||||
.notNull()
|
||||
.$type<RolePermissions[]>(),
|
||||
priority: integer("priority").notNull().default(0),
|
||||
description: text("description"),
|
||||
visible: boolean("visible").notNull().default(false),
|
||||
icon: text("icon"),
|
||||
});
|
||||
|
||||
export const RoleToUsers = pgTable("RoleToUsers", {
|
||||
roleId: uuid("roleId")
|
||||
.notNull()
|
||||
.references(() => Roles.id, {
|
||||
onDelete: "cascade",
|
||||
onUpdate: "cascade",
|
||||
}),
|
||||
userId: uuid("userId")
|
||||
.notNull()
|
||||
.references(() => Users.id, {
|
||||
onDelete: "cascade",
|
||||
onUpdate: "cascade",
|
||||
}),
|
||||
});
|
||||
|
||||
export const RoleToUsersRelations = relations(RoleToUsers, ({ one }) => ({
|
||||
role: one(Roles, {
|
||||
fields: [RoleToUsers.roleId],
|
||||
references: [Roles.id],
|
||||
}),
|
||||
user: one(Users, {
|
||||
fields: [RoleToUsers.userId],
|
||||
references: [Users.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
export const EmojiToUser = pgTable(
|
||||
"EmojiToUser",
|
||||
{
|
||||
|
|
|
|||
127
packages/database-interface/role.ts
Normal file
127
packages/database-interface/role.ts
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
import {
|
||||
type InferInsertModel,
|
||||
type InferSelectModel,
|
||||
type SQL,
|
||||
and,
|
||||
desc,
|
||||
eq,
|
||||
inArray,
|
||||
} from "drizzle-orm";
|
||||
import { db } from "~/drizzle/db";
|
||||
import { RoleToUsers, Roles } from "~/drizzle/schema";
|
||||
|
||||
export class Role {
|
||||
private constructor(private role: InferSelectModel<typeof Roles>) {}
|
||||
|
||||
public static async fromId(id: string | null): Promise<Role | null> {
|
||||
if (!id) return null;
|
||||
|
||||
return await Role.fromSql(eq(Roles.id, id));
|
||||
}
|
||||
|
||||
public static async fromIds(ids: string[]): Promise<Role[]> {
|
||||
return await Role.manyFromSql(inArray(Roles.id, ids));
|
||||
}
|
||||
|
||||
public static async fromSql(
|
||||
sql: SQL<unknown> | undefined,
|
||||
orderBy: SQL<unknown> | undefined = desc(Roles.id),
|
||||
) {
|
||||
const found = await db.query.Roles.findFirst({
|
||||
where: sql,
|
||||
orderBy,
|
||||
});
|
||||
|
||||
if (!found) return null;
|
||||
return new Role(found);
|
||||
}
|
||||
|
||||
public static async getUserRoles(userId: string) {
|
||||
return (
|
||||
await db.query.RoleToUsers.findMany({
|
||||
where: (role, { eq }) => eq(role.userId, userId),
|
||||
with: {
|
||||
role: true,
|
||||
},
|
||||
})
|
||||
).map((r) => new Role(r.role));
|
||||
}
|
||||
|
||||
public static async manyFromSql(
|
||||
sql: SQL<unknown> | undefined,
|
||||
orderBy: SQL<unknown> | undefined = desc(Roles.id),
|
||||
limit?: number,
|
||||
offset?: number,
|
||||
extra?: Parameters<typeof db.query.Users.findMany>[0],
|
||||
) {
|
||||
const found = await db.query.Roles.findMany({
|
||||
where: sql,
|
||||
orderBy,
|
||||
limit,
|
||||
offset,
|
||||
with: extra?.with,
|
||||
});
|
||||
|
||||
return found.map((s) => new Role(s));
|
||||
}
|
||||
|
||||
public async save(
|
||||
role: Partial<InferSelectModel<typeof Roles>> = this.role,
|
||||
) {
|
||||
return new Role(
|
||||
(
|
||||
await db
|
||||
.update(Roles)
|
||||
.set(role)
|
||||
.where(eq(Roles.id, this.id))
|
||||
.returning()
|
||||
)[0],
|
||||
);
|
||||
}
|
||||
|
||||
public async delete() {
|
||||
await db.delete(Roles).where(eq(Roles.id, this.id));
|
||||
}
|
||||
|
||||
public static async new(role: InferInsertModel<typeof Roles>) {
|
||||
return new Role((await db.insert(Roles).values(role).returning())[0]);
|
||||
}
|
||||
|
||||
public async linkUser(userId: string) {
|
||||
await db.insert(RoleToUsers).values({
|
||||
userId,
|
||||
roleId: this.id,
|
||||
});
|
||||
}
|
||||
|
||||
public async unlinkUser(userId: string) {
|
||||
await db
|
||||
.delete(RoleToUsers)
|
||||
.where(
|
||||
and(
|
||||
eq(RoleToUsers.roleId, this.id),
|
||||
eq(RoleToUsers.userId, userId),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this.role.id;
|
||||
}
|
||||
|
||||
public getRole() {
|
||||
return this.role;
|
||||
}
|
||||
|
||||
public toAPI() {
|
||||
return {
|
||||
id: this.id,
|
||||
name: this.role.name,
|
||||
permissions: this.role.permissions,
|
||||
priority: this.role.priority,
|
||||
description: this.role.description,
|
||||
visible: this.role.visible,
|
||||
icon: this.role.icon,
|
||||
};
|
||||
}
|
||||
}
|
||||
273
server/api/api/v1/roles/:id/index.test.ts
Normal file
273
server/api/api/v1/roles/:id/index.test.ts
Normal file
|
|
@ -0,0 +1,273 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { config } from "config-manager";
|
||||
import { ADMIN_ROLES, DEFAULT_ROLES, RolePermissions } from "~/drizzle/schema";
|
||||
import { Role } from "~/packages/database-interface/role";
|
||||
import { getTestUsers, sendTestRequest } from "~/tests/utils";
|
||||
import { meta } from "./index";
|
||||
|
||||
const { users, tokens } = await getTestUsers(1);
|
||||
let role: Role;
|
||||
let roleNotLinked: Role;
|
||||
let higherPriorityRole: Role;
|
||||
|
||||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.new({
|
||||
name: "test",
|
||||
permissions: DEFAULT_ROLES,
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
icon: "test",
|
||||
});
|
||||
|
||||
expect(role).toBeDefined();
|
||||
|
||||
// Link role to user
|
||||
await role.linkUser(users[0].id);
|
||||
|
||||
// Create new role
|
||||
roleNotLinked = await Role.new({
|
||||
name: "test2",
|
||||
permissions: ADMIN_ROLES,
|
||||
priority: 0,
|
||||
description: "test2",
|
||||
visible: true,
|
||||
icon: "test2",
|
||||
});
|
||||
|
||||
expect(roleNotLinked).toBeDefined();
|
||||
|
||||
// Create a role with higher priority than the user's role
|
||||
higherPriorityRole = await Role.new({
|
||||
name: "higherPriorityRole",
|
||||
permissions: DEFAULT_ROLES,
|
||||
priority: 3, // Higher priority than the user's role
|
||||
description: "Higher priority role",
|
||||
visible: true,
|
||||
icon: "higherPriorityRole",
|
||||
});
|
||||
|
||||
expect(higherPriorityRole).toBeDefined();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await role.delete();
|
||||
await roleNotLinked.delete();
|
||||
await higherPriorityRole.delete();
|
||||
});
|
||||
|
||||
// /api/v1/roles/:id
|
||||
describe(meta.route, () => {
|
||||
test("should return 401 if not authenticated", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", role.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "GET",
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(401);
|
||||
});
|
||||
|
||||
test("should return 404 if role does not exist", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(
|
||||
":id",
|
||||
"00000000-0000-0000-0000-000000000000",
|
||||
),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "GET",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(404);
|
||||
});
|
||||
|
||||
test("should return the role", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", role.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "GET",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.ok).toBe(true);
|
||||
const output = await response.json();
|
||||
expect(output).toMatchObject({
|
||||
name: "test",
|
||||
permissions: DEFAULT_ROLES,
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
icon: "test",
|
||||
});
|
||||
});
|
||||
|
||||
test("should return 403 if user does not have MANAGE_ROLES permission", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", roleNotLinked.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(403);
|
||||
const output = await response.json();
|
||||
expect(output).toMatchObject({
|
||||
error: "You do not have permission to manage roles",
|
||||
});
|
||||
});
|
||||
|
||||
test("should assign new role", async () => {
|
||||
await role.save({
|
||||
permissions: [RolePermissions.MANAGE_ROLES],
|
||||
});
|
||||
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", roleNotLinked.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(204);
|
||||
|
||||
// Check if role was assigned
|
||||
const response2 = await sendTestRequest(
|
||||
new Request(new URL("/api/v1/roles", config.http.base_url), {
|
||||
method: "GET",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
expect(response2.ok).toBe(true);
|
||||
const roles = await response2.json();
|
||||
expect(roles).toHaveLength(2);
|
||||
expect(roles).toContainEqual({
|
||||
id: roleNotLinked.id,
|
||||
name: "test2",
|
||||
permissions: ADMIN_ROLES,
|
||||
priority: 0,
|
||||
description: "test2",
|
||||
visible: true,
|
||||
icon: "test2",
|
||||
});
|
||||
|
||||
await role.save({
|
||||
permissions: [],
|
||||
});
|
||||
});
|
||||
|
||||
test("should unassign role", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", role.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(204);
|
||||
|
||||
// Check if role was unassigned
|
||||
const response2 = await sendTestRequest(
|
||||
new Request(new URL("/api/v1/roles", config.http.base_url), {
|
||||
method: "GET",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
expect(response2.ok).toBe(true);
|
||||
const roles = await response2.json();
|
||||
expect(roles).toHaveLength(1);
|
||||
expect(roles).not.toContainEqual({
|
||||
name: "test",
|
||||
permissions: ADMIN_ROLES,
|
||||
priority: 0,
|
||||
description: "test",
|
||||
visible: true,
|
||||
icon: "test",
|
||||
});
|
||||
});
|
||||
|
||||
test("should return 403 if user tries to add role with higher priority", async () => {
|
||||
// Add MANAGE_ROLES permission to user
|
||||
await role.save({
|
||||
permissions: [RolePermissions.MANAGE_ROLES],
|
||||
});
|
||||
|
||||
const response = await sendTestRequest(
|
||||
new Request(
|
||||
new URL(
|
||||
meta.route.replace(":id", higherPriorityRole.id),
|
||||
config.http.base_url,
|
||||
),
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(403);
|
||||
const output = await response.json();
|
||||
expect(output).toMatchObject({
|
||||
error: "Cannot assign role 'higherPriorityRole' with priority 3 to user with highest role priority 0",
|
||||
});
|
||||
|
||||
await role.save({
|
||||
permissions: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
141
server/api/api/v1/roles/:id/index.ts
Normal file
141
server/api/api/v1/roles/:id/index.ts
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
import { applyConfig, auth, handleZodError, jsonOrForm } from "@/api";
|
||||
import { errorResponse, jsonResponse, response } from "@/response";
|
||||
import { zValidator } from "@hono/zod-validator";
|
||||
import type { Hono } from "hono";
|
||||
import { z } from "zod";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
import { Role } from "~/packages/database-interface/role";
|
||||
|
||||
export const meta = applyConfig({
|
||||
allowedMethods: ["GET", "POST", "DELETE"],
|
||||
auth: {
|
||||
required: true,
|
||||
},
|
||||
ratelimits: {
|
||||
duration: 60,
|
||||
max: 20,
|
||||
},
|
||||
route: "/api/v1/roles/:id",
|
||||
});
|
||||
|
||||
export const schemas = {
|
||||
param: z.object({
|
||||
id: z.string().uuid(),
|
||||
}),
|
||||
};
|
||||
export default (app: Hono) =>
|
||||
app.on(
|
||||
meta.allowedMethods,
|
||||
meta.route,
|
||||
jsonOrForm(),
|
||||
zValidator("param", schemas.param, handleZodError),
|
||||
auth(meta.auth),
|
||||
async (context) => {
|
||||
const { user } = context.req.valid("header");
|
||||
const { id } = context.req.valid("param");
|
||||
|
||||
if (!user) {
|
||||
return errorResponse("Unauthorized", 401);
|
||||
}
|
||||
|
||||
const userRoles = await Role.getUserRoles(user.id);
|
||||
const role = await Role.fromId(id);
|
||||
|
||||
if (!role) {
|
||||
return errorResponse("Role not found", 404);
|
||||
}
|
||||
|
||||
switch (context.req.method) {
|
||||
case "GET": {
|
||||
return jsonResponse(role.toAPI());
|
||||
}
|
||||
|
||||
case "POST": {
|
||||
// Check if user has MANAGE_ROLES permission
|
||||
if (
|
||||
!userRoles.some((r) =>
|
||||
r
|
||||
.getRole()
|
||||
.permissions.includes(
|
||||
RolePermissions.MANAGE_ROLES,
|
||||
),
|
||||
)
|
||||
) {
|
||||
return errorResponse(
|
||||
"You do not have permission to manage roles",
|
||||
403,
|
||||
);
|
||||
}
|
||||
|
||||
const userHighestRole = userRoles.reduce((prev, current) =>
|
||||
prev.getRole().priority > current.getRole().priority
|
||||
? prev
|
||||
: current,
|
||||
);
|
||||
|
||||
if (
|
||||
role.getRole().priority >
|
||||
userHighestRole.getRole().priority
|
||||
) {
|
||||
return errorResponse(
|
||||
`Cannot assign role '${
|
||||
role.getRole().name
|
||||
}' with priority ${
|
||||
role.getRole().priority
|
||||
} to user with highest role priority ${
|
||||
userHighestRole.getRole().priority
|
||||
}`,
|
||||
403,
|
||||
);
|
||||
}
|
||||
|
||||
await role.linkUser(user.id);
|
||||
|
||||
return response(null, 204);
|
||||
}
|
||||
case "DELETE": {
|
||||
// Check if user has MANAGE_ROLES permission
|
||||
if (
|
||||
!userRoles.some((r) =>
|
||||
r
|
||||
.getRole()
|
||||
.permissions.includes(
|
||||
RolePermissions.MANAGE_ROLES,
|
||||
),
|
||||
)
|
||||
) {
|
||||
return errorResponse(
|
||||
"You do not have permission to manage roles",
|
||||
403,
|
||||
);
|
||||
}
|
||||
|
||||
const userHighestRole = userRoles.reduce((prev, current) =>
|
||||
prev.getRole().priority > current.getRole().priority
|
||||
? prev
|
||||
: current,
|
||||
);
|
||||
|
||||
if (
|
||||
role.getRole().priority >
|
||||
userHighestRole.getRole().priority
|
||||
) {
|
||||
return errorResponse(
|
||||
`Cannot remove role '${
|
||||
role.getRole().name
|
||||
}' with priority ${
|
||||
role.getRole().priority
|
||||
} from user with highest role priority ${
|
||||
userHighestRole.getRole().priority
|
||||
}`,
|
||||
403,
|
||||
);
|
||||
}
|
||||
|
||||
await role.unlinkUser(user.id);
|
||||
|
||||
return response(null, 204);
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
62
server/api/api/v1/roles/index.test.ts
Normal file
62
server/api/api/v1/roles/index.test.ts
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
import { beforeAll, describe, expect, test } from "bun:test";
|
||||
import { config } from "config-manager";
|
||||
import { ADMIN_ROLES } from "~/drizzle/schema";
|
||||
import { Role } from "~/packages/database-interface/role";
|
||||
import { getTestUsers, sendTestRequest } from "~/tests/utils";
|
||||
import { meta } from "./index";
|
||||
|
||||
const { users, tokens } = await getTestUsers(1);
|
||||
let role: Role;
|
||||
|
||||
beforeAll(async () => {
|
||||
// Create new role
|
||||
role = await Role.new({
|
||||
name: "test",
|
||||
permissions: ADMIN_ROLES,
|
||||
priority: 0,
|
||||
description: "test",
|
||||
visible: true,
|
||||
icon: "test",
|
||||
});
|
||||
|
||||
expect(role).toBeDefined();
|
||||
|
||||
// Link role to user
|
||||
await role.linkUser(users[0].id);
|
||||
});
|
||||
|
||||
// /api/v1/roles
|
||||
describe(meta.route, () => {
|
||||
test("should return 401 if not authenticated", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(new URL(meta.route, config.http.base_url), {
|
||||
method: "GET",
|
||||
}),
|
||||
);
|
||||
|
||||
expect(response.status).toBe(401);
|
||||
});
|
||||
|
||||
test("should return a list of roles", async () => {
|
||||
const response = await sendTestRequest(
|
||||
new Request(new URL(meta.route, config.http.base_url), {
|
||||
method: "GET",
|
||||
headers: {
|
||||
Authorization: `Bearer ${tokens[0].accessToken}`,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
expect(response.ok).toBe(true);
|
||||
const roles = await response.json();
|
||||
expect(roles).toHaveLength(1);
|
||||
expect(roles[0]).toMatchObject({
|
||||
name: "test",
|
||||
permissions: ADMIN_ROLES,
|
||||
priority: 0,
|
||||
description: "test",
|
||||
visible: true,
|
||||
icon: "test",
|
||||
});
|
||||
});
|
||||
});
|
||||
34
server/api/api/v1/roles/index.ts
Normal file
34
server/api/api/v1/roles/index.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import { applyConfig, auth } from "@/api";
|
||||
import { errorResponse, jsonResponse } from "@/response";
|
||||
import type { Hono } from "hono";
|
||||
import { Role } from "~/packages/database-interface/role";
|
||||
|
||||
export const meta = applyConfig({
|
||||
allowedMethods: ["GET"],
|
||||
auth: {
|
||||
required: true,
|
||||
},
|
||||
ratelimits: {
|
||||
duration: 60,
|
||||
max: 20,
|
||||
},
|
||||
route: "/api/v1/roles",
|
||||
});
|
||||
|
||||
export default (app: Hono) =>
|
||||
app.on(
|
||||
meta.allowedMethods,
|
||||
meta.route,
|
||||
auth(meta.auth),
|
||||
async (context) => {
|
||||
const { user } = context.req.valid("header");
|
||||
|
||||
if (!user) {
|
||||
return errorResponse("Unauthorized", 401);
|
||||
}
|
||||
|
||||
const userRoles = await Role.getUserRoles(user.id);
|
||||
|
||||
return jsonResponse(userRoles.map((r) => r.toAPI()));
|
||||
},
|
||||
);
|
||||
|
|
@ -297,6 +297,7 @@ export const jsonOrForm = () => {
|
|||
...Object.fromEntries(files),
|
||||
};
|
||||
}
|
||||
|
||||
await next();
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue