mirror of
https://github.com/versia-pub/server.git
synced 2025-12-07 00:48:18 +01:00
fix(api): 🚑 Fix using an incorrect email or password giving weird errors
This commit is contained in:
parent
48f2fa1b94
commit
aee47e6df4
|
|
@ -61,9 +61,7 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"Applications_client_id_index": {
|
"Applications_client_id_index": {
|
||||||
"name": "Applications_client_id_index",
|
"name": "Applications_client_id_index",
|
||||||
"columns": [
|
"columns": ["client_id"],
|
||||||
"client_id"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -167,12 +165,8 @@
|
||||||
"name": "Attachments_noteId_Notes_id_fk",
|
"name": "Attachments_noteId_Notes_id_fk",
|
||||||
"tableFrom": "Attachments",
|
"tableFrom": "Attachments",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -200,17 +194,12 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"EmojiToNote_emojiId_noteId_index": {
|
"EmojiToNote_emojiId_noteId_index": {
|
||||||
"name": "EmojiToNote_emojiId_noteId_index",
|
"name": "EmojiToNote_emojiId_noteId_index",
|
||||||
"columns": [
|
"columns": ["emojiId", "noteId"],
|
||||||
"emojiId",
|
|
||||||
"noteId"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"EmojiToNote_noteId_index": {
|
"EmojiToNote_noteId_index": {
|
||||||
"name": "EmojiToNote_noteId_index",
|
"name": "EmojiToNote_noteId_index",
|
||||||
"columns": [
|
"columns": ["noteId"],
|
||||||
"noteId"
|
|
||||||
],
|
|
||||||
"isUnique": false
|
"isUnique": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -219,12 +208,8 @@
|
||||||
"name": "EmojiToNote_emojiId_Emojis_id_fk",
|
"name": "EmojiToNote_emojiId_Emojis_id_fk",
|
||||||
"tableFrom": "EmojiToNote",
|
"tableFrom": "EmojiToNote",
|
||||||
"tableTo": "Emojis",
|
"tableTo": "Emojis",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["emojiId"],
|
||||||
"emojiId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -232,12 +217,8 @@
|
||||||
"name": "EmojiToNote_noteId_Notes_id_fk",
|
"name": "EmojiToNote_noteId_Notes_id_fk",
|
||||||
"tableFrom": "EmojiToNote",
|
"tableFrom": "EmojiToNote",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -265,17 +246,12 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"EmojiToUser_emojiId_userId_index": {
|
"EmojiToUser_emojiId_userId_index": {
|
||||||
"name": "EmojiToUser_emojiId_userId_index",
|
"name": "EmojiToUser_emojiId_userId_index",
|
||||||
"columns": [
|
"columns": ["emojiId", "userId"],
|
||||||
"emojiId",
|
|
||||||
"userId"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"EmojiToUser_userId_index": {
|
"EmojiToUser_userId_index": {
|
||||||
"name": "EmojiToUser_userId_index",
|
"name": "EmojiToUser_userId_index",
|
||||||
"columns": [
|
"columns": ["userId"],
|
||||||
"userId"
|
|
||||||
],
|
|
||||||
"isUnique": false
|
"isUnique": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -284,12 +260,8 @@
|
||||||
"name": "EmojiToUser_emojiId_Emojis_id_fk",
|
"name": "EmojiToUser_emojiId_Emojis_id_fk",
|
||||||
"tableFrom": "EmojiToUser",
|
"tableFrom": "EmojiToUser",
|
||||||
"tableTo": "Emojis",
|
"tableTo": "Emojis",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["emojiId"],
|
||||||
"emojiId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -297,12 +269,8 @@
|
||||||
"name": "EmojiToUser_userId_Users_id_fk",
|
"name": "EmojiToUser_userId_Users_id_fk",
|
||||||
"tableFrom": "EmojiToUser",
|
"tableFrom": "EmojiToUser",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -364,12 +332,8 @@
|
||||||
"name": "Emojis_instanceId_Instances_id_fk",
|
"name": "Emojis_instanceId_Instances_id_fk",
|
||||||
"tableFrom": "Emojis",
|
"tableFrom": "Emojis",
|
||||||
"tableTo": "Instances",
|
"tableTo": "Instances",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["instanceId"],
|
||||||
"instanceId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -413,12 +377,8 @@
|
||||||
"name": "FilterKeywords_filterId_Filters_id_fk",
|
"name": "FilterKeywords_filterId_Filters_id_fk",
|
||||||
"tableFrom": "FilterKeywords",
|
"tableFrom": "FilterKeywords",
|
||||||
"tableTo": "Filters",
|
"tableTo": "Filters",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["filterId"],
|
||||||
"filterId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -481,12 +441,8 @@
|
||||||
"name": "Filters_userId_Users_id_fk",
|
"name": "Filters_userId_Users_id_fk",
|
||||||
"tableFrom": "Filters",
|
"tableFrom": "Filters",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -538,12 +494,8 @@
|
||||||
"name": "Flags_noteId_Notes_id_fk",
|
"name": "Flags_noteId_Notes_id_fk",
|
||||||
"tableFrom": "Flags",
|
"tableFrom": "Flags",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -551,12 +503,8 @@
|
||||||
"name": "Flags_userId_Users_id_fk",
|
"name": "Flags_userId_Users_id_fk",
|
||||||
"tableFrom": "Flags",
|
"tableFrom": "Flags",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -649,12 +597,8 @@
|
||||||
"name": "Likes_likerId_Users_id_fk",
|
"name": "Likes_likerId_Users_id_fk",
|
||||||
"tableFrom": "Likes",
|
"tableFrom": "Likes",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["likerId"],
|
||||||
"likerId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -662,12 +606,8 @@
|
||||||
"name": "Likes_likedId_Notes_id_fk",
|
"name": "Likes_likedId_Notes_id_fk",
|
||||||
"tableFrom": "Likes",
|
"tableFrom": "Likes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["likedId"],
|
||||||
"likedId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -733,16 +673,12 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"LysandObject_remote_id_index": {
|
"LysandObject_remote_id_index": {
|
||||||
"name": "LysandObject_remote_id_index",
|
"name": "LysandObject_remote_id_index",
|
||||||
"columns": [
|
"columns": ["remote_id"],
|
||||||
"remote_id"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"LysandObject_uri_index": {
|
"LysandObject_uri_index": {
|
||||||
"name": "LysandObject_uri_index",
|
"name": "LysandObject_uri_index",
|
||||||
"columns": [
|
"columns": ["uri"],
|
||||||
"uri"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -751,12 +687,8 @@
|
||||||
"name": "LysandObject_authorId_LysandObject_id_fk",
|
"name": "LysandObject_authorId_LysandObject_id_fk",
|
||||||
"tableFrom": "LysandObject",
|
"tableFrom": "LysandObject",
|
||||||
"tableTo": "LysandObject",
|
"tableTo": "LysandObject",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["authorId"],
|
||||||
"authorId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -813,12 +745,8 @@
|
||||||
"name": "Markers_noteId_Notes_id_fk",
|
"name": "Markers_noteId_Notes_id_fk",
|
||||||
"tableFrom": "Markers",
|
"tableFrom": "Markers",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -826,12 +754,8 @@
|
||||||
"name": "Markers_notificationId_Notifications_id_fk",
|
"name": "Markers_notificationId_Notifications_id_fk",
|
||||||
"tableFrom": "Markers",
|
"tableFrom": "Markers",
|
||||||
"tableTo": "Notifications",
|
"tableTo": "Notifications",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["notificationId"],
|
||||||
"notificationId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -839,12 +763,8 @@
|
||||||
"name": "Markers_userId_Users_id_fk",
|
"name": "Markers_userId_Users_id_fk",
|
||||||
"tableFrom": "Markers",
|
"tableFrom": "Markers",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -901,12 +821,8 @@
|
||||||
"name": "ModNotes_noteId_Notes_id_fk",
|
"name": "ModNotes_noteId_Notes_id_fk",
|
||||||
"tableFrom": "ModNotes",
|
"tableFrom": "ModNotes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -914,12 +830,8 @@
|
||||||
"name": "ModNotes_userId_Users_id_fk",
|
"name": "ModNotes_userId_Users_id_fk",
|
||||||
"tableFrom": "ModNotes",
|
"tableFrom": "ModNotes",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -927,12 +839,8 @@
|
||||||
"name": "ModNotes_modId_Users_id_fk",
|
"name": "ModNotes_modId_Users_id_fk",
|
||||||
"tableFrom": "ModNotes",
|
"tableFrom": "ModNotes",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["modId"],
|
||||||
"modId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -989,12 +897,8 @@
|
||||||
"name": "ModTags_noteId_Notes_id_fk",
|
"name": "ModTags_noteId_Notes_id_fk",
|
||||||
"tableFrom": "ModTags",
|
"tableFrom": "ModTags",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1002,12 +906,8 @@
|
||||||
"name": "ModTags_userId_Users_id_fk",
|
"name": "ModTags_userId_Users_id_fk",
|
||||||
"tableFrom": "ModTags",
|
"tableFrom": "ModTags",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1015,12 +915,8 @@
|
||||||
"name": "ModTags_modId_Users_id_fk",
|
"name": "ModTags_modId_Users_id_fk",
|
||||||
"tableFrom": "ModTags",
|
"tableFrom": "ModTags",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["modId"],
|
||||||
"modId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1048,17 +944,12 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"NoteToMentions_noteId_userId_index": {
|
"NoteToMentions_noteId_userId_index": {
|
||||||
"name": "NoteToMentions_noteId_userId_index",
|
"name": "NoteToMentions_noteId_userId_index",
|
||||||
"columns": [
|
"columns": ["noteId", "userId"],
|
||||||
"noteId",
|
|
||||||
"userId"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"NoteToMentions_userId_index": {
|
"NoteToMentions_userId_index": {
|
||||||
"name": "NoteToMentions_userId_index",
|
"name": "NoteToMentions_userId_index",
|
||||||
"columns": [
|
"columns": ["userId"],
|
||||||
"userId"
|
|
||||||
],
|
|
||||||
"isUnique": false
|
"isUnique": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1067,12 +958,8 @@
|
||||||
"name": "NoteToMentions_noteId_Notes_id_fk",
|
"name": "NoteToMentions_noteId_Notes_id_fk",
|
||||||
"tableFrom": "NoteToMentions",
|
"tableFrom": "NoteToMentions",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1080,12 +967,8 @@
|
||||||
"name": "NoteToMentions_userId_Users_id_fk",
|
"name": "NoteToMentions_userId_Users_id_fk",
|
||||||
"tableFrom": "NoteToMentions",
|
"tableFrom": "NoteToMentions",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1201,12 +1084,8 @@
|
||||||
"name": "Notes_authorId_Users_id_fk",
|
"name": "Notes_authorId_Users_id_fk",
|
||||||
"tableFrom": "Notes",
|
"tableFrom": "Notes",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["authorId"],
|
||||||
"authorId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1214,12 +1093,8 @@
|
||||||
"name": "Notes_reblogId_Notes_id_fk",
|
"name": "Notes_reblogId_Notes_id_fk",
|
||||||
"tableFrom": "Notes",
|
"tableFrom": "Notes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["reblogId"],
|
||||||
"reblogId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1227,12 +1102,8 @@
|
||||||
"name": "Notes_replyId_Notes_id_fk",
|
"name": "Notes_replyId_Notes_id_fk",
|
||||||
"tableFrom": "Notes",
|
"tableFrom": "Notes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["replyId"],
|
||||||
"replyId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1240,12 +1111,8 @@
|
||||||
"name": "Notes_quoteId_Notes_id_fk",
|
"name": "Notes_quoteId_Notes_id_fk",
|
||||||
"tableFrom": "Notes",
|
"tableFrom": "Notes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["quoteId"],
|
||||||
"quoteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1253,12 +1120,8 @@
|
||||||
"name": "Notes_applicationId_Applications_id_fk",
|
"name": "Notes_applicationId_Applications_id_fk",
|
||||||
"tableFrom": "Notes",
|
"tableFrom": "Notes",
|
||||||
"tableTo": "Applications",
|
"tableTo": "Applications",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["applicationId"],
|
||||||
"applicationId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "set null",
|
"onDelete": "set null",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1268,9 +1131,7 @@
|
||||||
"Notes_uri_unique": {
|
"Notes_uri_unique": {
|
||||||
"name": "Notes_uri_unique",
|
"name": "Notes_uri_unique",
|
||||||
"nullsNotDistinct": false,
|
"nullsNotDistinct": false,
|
||||||
"columns": [
|
"columns": ["uri"]
|
||||||
"uri"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1330,12 +1191,8 @@
|
||||||
"name": "Notifications_notifiedId_Users_id_fk",
|
"name": "Notifications_notifiedId_Users_id_fk",
|
||||||
"tableFrom": "Notifications",
|
"tableFrom": "Notifications",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["notifiedId"],
|
||||||
"notifiedId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1343,12 +1200,8 @@
|
||||||
"name": "Notifications_accountId_Users_id_fk",
|
"name": "Notifications_accountId_Users_id_fk",
|
||||||
"tableFrom": "Notifications",
|
"tableFrom": "Notifications",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["accountId"],
|
||||||
"accountId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1356,12 +1209,8 @@
|
||||||
"name": "Notifications_noteId_Notes_id_fk",
|
"name": "Notifications_noteId_Notes_id_fk",
|
||||||
"tableFrom": "Notifications",
|
"tableFrom": "Notifications",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1405,12 +1254,8 @@
|
||||||
"name": "OpenIdAccounts_userId_Users_id_fk",
|
"name": "OpenIdAccounts_userId_Users_id_fk",
|
||||||
"tableFrom": "OpenIdAccounts",
|
"tableFrom": "OpenIdAccounts",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "set null",
|
"onDelete": "set null",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1454,12 +1299,8 @@
|
||||||
"name": "OpenIdLoginFlows_applicationId_Applications_id_fk",
|
"name": "OpenIdLoginFlows_applicationId_Applications_id_fk",
|
||||||
"tableFrom": "OpenIdLoginFlows",
|
"tableFrom": "OpenIdLoginFlows",
|
||||||
"tableTo": "Applications",
|
"tableTo": "Applications",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["applicationId"],
|
||||||
"applicationId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1589,12 +1430,8 @@
|
||||||
"name": "Relationships_ownerId_Users_id_fk",
|
"name": "Relationships_ownerId_Users_id_fk",
|
||||||
"tableFrom": "Relationships",
|
"tableFrom": "Relationships",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["ownerId"],
|
||||||
"ownerId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1602,12 +1439,8 @@
|
||||||
"name": "Relationships_subjectId_Users_id_fk",
|
"name": "Relationships_subjectId_Users_id_fk",
|
||||||
"tableFrom": "Relationships",
|
"tableFrom": "Relationships",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["subjectId"],
|
||||||
"subjectId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1702,12 +1535,8 @@
|
||||||
"name": "Tokens_userId_Users_id_fk",
|
"name": "Tokens_userId_Users_id_fk",
|
||||||
"tableFrom": "Tokens",
|
"tableFrom": "Tokens",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1715,12 +1544,8 @@
|
||||||
"name": "Tokens_applicationId_Applications_id_fk",
|
"name": "Tokens_applicationId_Applications_id_fk",
|
||||||
"tableFrom": "Tokens",
|
"tableFrom": "Tokens",
|
||||||
"tableTo": "Applications",
|
"tableTo": "Applications",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["applicationId"],
|
||||||
"applicationId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1748,17 +1573,12 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"UserToPinnedNotes_userId_noteId_index": {
|
"UserToPinnedNotes_userId_noteId_index": {
|
||||||
"name": "UserToPinnedNotes_userId_noteId_index",
|
"name": "UserToPinnedNotes_userId_noteId_index",
|
||||||
"columns": [
|
"columns": ["userId", "noteId"],
|
||||||
"userId",
|
|
||||||
"noteId"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"UserToPinnedNotes_noteId_index": {
|
"UserToPinnedNotes_noteId_index": {
|
||||||
"name": "UserToPinnedNotes_noteId_index",
|
"name": "UserToPinnedNotes_noteId_index",
|
||||||
"columns": [
|
"columns": ["noteId"],
|
||||||
"noteId"
|
|
||||||
],
|
|
||||||
"isUnique": false
|
"isUnique": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1767,12 +1587,8 @@
|
||||||
"name": "UserToPinnedNotes_userId_Users_id_fk",
|
"name": "UserToPinnedNotes_userId_Users_id_fk",
|
||||||
"tableFrom": "UserToPinnedNotes",
|
"tableFrom": "UserToPinnedNotes",
|
||||||
"tableTo": "Users",
|
"tableTo": "Users",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["userId"],
|
||||||
"userId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
},
|
},
|
||||||
|
|
@ -1780,12 +1596,8 @@
|
||||||
"name": "UserToPinnedNotes_noteId_Notes_id_fk",
|
"name": "UserToPinnedNotes_noteId_Notes_id_fk",
|
||||||
"tableFrom": "UserToPinnedNotes",
|
"tableFrom": "UserToPinnedNotes",
|
||||||
"tableTo": "Notes",
|
"tableTo": "Notes",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["noteId"],
|
||||||
"noteId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
@ -1949,23 +1761,17 @@
|
||||||
"indexes": {
|
"indexes": {
|
||||||
"Users_uri_index": {
|
"Users_uri_index": {
|
||||||
"name": "Users_uri_index",
|
"name": "Users_uri_index",
|
||||||
"columns": [
|
"columns": ["uri"],
|
||||||
"uri"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"Users_username_index": {
|
"Users_username_index": {
|
||||||
"name": "Users_username_index",
|
"name": "Users_username_index",
|
||||||
"columns": [
|
"columns": ["username"],
|
||||||
"username"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
},
|
},
|
||||||
"Users_email_index": {
|
"Users_email_index": {
|
||||||
"name": "Users_email_index",
|
"name": "Users_email_index",
|
||||||
"columns": [
|
"columns": ["email"],
|
||||||
"email"
|
|
||||||
],
|
|
||||||
"isUnique": true
|
"isUnique": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1974,12 +1780,8 @@
|
||||||
"name": "Users_instanceId_Instances_id_fk",
|
"name": "Users_instanceId_Instances_id_fk",
|
||||||
"tableFrom": "Users",
|
"tableFrom": "Users",
|
||||||
"tableTo": "Instances",
|
"tableTo": "Instances",
|
||||||
"columnsFrom": [
|
"columnsFrom": ["instanceId"],
|
||||||
"instanceId"
|
"columnsTo": ["id"],
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "cascade",
|
"onDelete": "cascade",
|
||||||
"onUpdate": "cascade"
|
"onUpdate": "cascade"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import { relations, sql } from "drizzle-orm";
|
import { relations, sql } from "drizzle-orm";
|
||||||
import {
|
import {
|
||||||
|
type AnyPgColumn,
|
||||||
boolean,
|
boolean,
|
||||||
foreignKey,
|
foreignKey,
|
||||||
index,
|
index,
|
||||||
|
|
@ -10,7 +11,6 @@ import {
|
||||||
timestamp,
|
timestamp,
|
||||||
uniqueIndex,
|
uniqueIndex,
|
||||||
uuid,
|
uuid,
|
||||||
type AnyPgColumn,
|
|
||||||
} from "drizzle-orm/pg-core";
|
} from "drizzle-orm/pg-core";
|
||||||
import type * as Lysand from "lysand-types";
|
import type * as Lysand from "lysand-types";
|
||||||
import type { Source as APISource } from "~types/mastodon/source";
|
import type { Source as APISource } from "~types/mastodon/source";
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,11 @@ import { apiRoute, applyConfig } from "@api";
|
||||||
import { errorResponse, response } from "@response";
|
import { errorResponse, response } from "@response";
|
||||||
import { eq } from "drizzle-orm";
|
import { eq } from "drizzle-orm";
|
||||||
import { SignJWT } from "jose";
|
import { SignJWT } from "jose";
|
||||||
import { stringify } from "qs";
|
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { fromZodError } from "zod-validation-error";
|
|
||||||
import { db } from "~drizzle/db";
|
import { db } from "~drizzle/db";
|
||||||
import { Users } from "~drizzle/schema";
|
import { Users } from "~drizzle/schema";
|
||||||
import { config } from "~packages/config-manager";
|
import { config } from "~packages/config-manager";
|
||||||
import { User } from "~packages/database-interface/user";
|
import { User } from "~packages/database-interface/user";
|
||||||
import { RequestParser } from "~packages/request-parser";
|
|
||||||
|
|
||||||
export const meta = applyConfig({
|
export const meta = applyConfig({
|
||||||
allowedMethods: ["POST"],
|
allowedMethods: ["POST"],
|
||||||
|
|
@ -53,47 +50,27 @@ export const schema = z.object({
|
||||||
.default(60 * 60 * 24 * 7),
|
.default(60 * 60 * 24 * 7),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const querySchema = z.object({
|
const returnError = (query: object, error: string, description: string) => {
|
||||||
scope: z.string().optional(),
|
const searchParams = new URLSearchParams();
|
||||||
redirect_uri: z.string().url().optional(),
|
|
||||||
response_type: z.enum([
|
|
||||||
"code",
|
|
||||||
"token",
|
|
||||||
"none",
|
|
||||||
"id_token",
|
|
||||||
"code id_token",
|
|
||||||
"code token",
|
|
||||||
"token id_token",
|
|
||||||
"code token id_token",
|
|
||||||
]),
|
|
||||||
client_id: z.string(),
|
|
||||||
state: z.string().optional(),
|
|
||||||
code_challenge: z.string().optional(),
|
|
||||||
code_challenge_method: z.enum(["plain", "S256"]).optional(),
|
|
||||||
prompt: z
|
|
||||||
.enum(["none", "login", "consent", "select_account"])
|
|
||||||
.optional()
|
|
||||||
.default("none"),
|
|
||||||
max_age: z
|
|
||||||
.number()
|
|
||||||
.int()
|
|
||||||
.optional()
|
|
||||||
.default(60 * 60 * 24 * 7),
|
|
||||||
});
|
|
||||||
|
|
||||||
const returnError = (query: object, error: string, description: string) =>
|
// Add all data that is not undefined except email and password
|
||||||
response(null, 302, {
|
for (const [key, value] of Object.entries(query)) {
|
||||||
Location: `/oauth/authorize?${stringify({
|
if (key !== "email" && key !== "password" && value !== undefined)
|
||||||
...query,
|
searchParams.append(key, value);
|
||||||
error,
|
}
|
||||||
error_description: description,
|
|
||||||
})}`,
|
searchParams.append("error", error);
|
||||||
|
searchParams.append("error_description", description);
|
||||||
|
|
||||||
|
return response(null, 302, {
|
||||||
|
Location: `/oauth/authorize?${searchParams.toString()}`,
|
||||||
});
|
});
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* Login flow
|
* Login flow
|
||||||
*/
|
*/
|
||||||
export default apiRoute(async (req, matchedRoute, extraData) => {
|
export default apiRoute<typeof meta, typeof schema>(
|
||||||
|
async (req, matchedRoute, extraData) => {
|
||||||
const { email, password } = extraData.parsedRequest;
|
const { email, password } = extraData.parsedRequest;
|
||||||
|
|
||||||
if (!email || !password)
|
if (!email || !password)
|
||||||
|
|
@ -104,11 +81,14 @@ export default apiRoute(async (req, matchedRoute, extraData) => {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Find user
|
// Find user
|
||||||
const user = await User.fromSql(eq(Users.email, email));
|
const user = await User.fromSql(eq(Users.email, email.toLowerCase()));
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!user ||
|
!user ||
|
||||||
!(await Bun.password.verify(password, user.getUser().password || ""))
|
!(await Bun.password.verify(
|
||||||
|
password,
|
||||||
|
user.getUser().password || "",
|
||||||
|
))
|
||||||
)
|
)
|
||||||
return returnError(
|
return returnError(
|
||||||
extraData.parsedRequest,
|
extraData.parsedRequest,
|
||||||
|
|
@ -158,7 +138,7 @@ export default apiRoute(async (req, matchedRoute, extraData) => {
|
||||||
// Add all data that is not undefined except email and password
|
// Add all data that is not undefined except email and password
|
||||||
for (const [key, value] of Object.entries(extraData.parsedRequest)) {
|
for (const [key, value] of Object.entries(extraData.parsedRequest)) {
|
||||||
if (key !== "email" && key !== "password" && value !== undefined)
|
if (key !== "email" && key !== "password" && value !== undefined)
|
||||||
searchParams.append(key, value);
|
searchParams.append(key, String(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redirect to OAuth authorize with JWT
|
// Redirect to OAuth authorize with JWT
|
||||||
|
|
@ -172,4 +152,5 @@ export default apiRoute(async (req, matchedRoute, extraData) => {
|
||||||
60 * 60
|
60 * 60
|
||||||
}`,
|
}`,
|
||||||
});
|
});
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export const meta = applyConfig({
|
||||||
|
|
||||||
// No validation on the Zod side as we need to do custom validation
|
// No validation on the Zod side as we need to do custom validation
|
||||||
export const schema = z.object({
|
export const schema = z.object({
|
||||||
username: z.string(),
|
username: z.string().toLowerCase(),
|
||||||
email: z.string(),
|
email: z.string(),
|
||||||
password: z.string(),
|
password: z.string(),
|
||||||
agreement: z.boolean(),
|
agreement: z.boolean(),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue