Compare commits

..

4 commits

Author SHA1 Message Date
advplyr
c009db9f28
Merge pull request #5256 from nichwall/fix-bookauthor-collision-on-rename
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
Fix duplicate bookAuthor creation when renaming authors
2026-05-22 15:43:13 -05:00
advplyr
325469c5a5
Merge pull request #5255 from nichwall/refresh-token-uniqueness
Add unique UUID to access and refresh tokens
2026-05-22 15:39:01 -05:00
Nicholas Wallace
c97b36e11c Add ignoreDuplicates for bookAuthor when renaming to respect unique index 2026-05-21 21:06:17 -07:00
Nicholas Wallace
e944b2a2f5 Add unique UUID to access and refresh tokens 2026-05-21 17:08:39 -07:00
2 changed files with 4 additions and 1 deletions

View file

@ -1,4 +1,5 @@
const { Op } = require('sequelize') const { Op } = require('sequelize')
const uuid = require('uuid')
const Database = require('../Database') const Database = require('../Database')
const Logger = require('../Logger') const Logger = require('../Logger')
@ -115,6 +116,7 @@ class TokenManager {
const payload = { const payload = {
userId: user.id, userId: user.id,
username: user.username, username: user.username,
jti: uuid.v4(),
type: 'access' type: 'access'
} }
const options = { const options = {
@ -138,6 +140,7 @@ class TokenManager {
const payload = { const payload = {
userId: user.id, userId: user.id,
username: user.username, username: user.username,
jti: uuid.v4(),
type: 'refresh' type: 'refresh'
} }
const options = { const options = {

View file

@ -149,7 +149,7 @@ class AuthorController {
}) })
if (libraryItems.length) { if (libraryItems.length) {
await Database.bookAuthorModel.removeByIds(req.author.id) // Remove all old BookAuthor await Database.bookAuthorModel.removeByIds(req.author.id) // Remove all old BookAuthor
await Database.bookAuthorModel.bulkCreate(bookAuthorsToCreate) // Create all new BookAuthor await Database.bookAuthorModel.bulkCreate(bookAuthorsToCreate, { ignoreDuplicates: true }) // Create all new unique BookAuthor
for (const libraryItem of libraryItems) { for (const libraryItem of libraryItems) {
await libraryItem.saveMetadataFile() await libraryItem.saveMetadataFile()
} }