Comments (6)
You may want to re-evaluate your logic for the first if
statement, as it is it won't enable encryption in production (which I believe is the point of using this middleware).
from prisma-field-encryption.
It sounds like you're encrypting ciphertext, which would explain both your observations.
Could you detail your setup more about the "hot reload" part?
If all else fails, enabling debugging may provide more insights.
from prisma-field-encryption.
That absolutely would make sense!
Im using the standard "next dev" command wich hot reloads the project every time you change sth.
from prisma-field-encryption.
I activated debugging and spotted that one single write into db results in dozens of encryption activities.
Any clue what could cause this? Im using the standard create()
method from prisma.
Logs
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.851Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.852Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.853Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Clear-text input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.854Z prisma-field-encryption:encryption Encrypted input: {
web:dev: args: { where: { clientId: 'clg2cy09h0002sb6e172qpr34' } },
web:dev: dataPath: [],
web:dev: runInTransaction: false,
web:dev: action: 'count',
web:dev: model: 'Message'
web:dev: }
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.858Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Raw result from database: 3
web:dev: 2023-04-20T13:31:33.859Z prisma-field-encryption:decryption Decrypted result: 3
from prisma-field-encryption.
Could it be possible that the hot-reload mechanism somehow re-registers the middleware to the same Prisma client instance?
That would certainly explain all the observed behaviour.
There used to be tricks to use Prisma properly with Next.js (especially due to serverless environments like Vercel), how do you create your client and pass it to your app?
from prisma-field-encryption.
Awseome hint! I found a similar issue with the prisma middleware.
Fix
Add a check to make sure you are not in production and the is no prisma client initiated already:
import { PrismaClient } from "@prisma/client";
import { fieldEncryptionMiddleware } from "prisma-field-encryption";
export * from "@prisma/client";
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient };
export const prisma: PrismaClient =
globalForPrisma.prisma ||
new PrismaClient({
log:
process.env.NODE_ENV === "development"
? ["query", "error", "warn"]
: ["error"],
});
// FIX of ISSUE #55
// makes sure that the middleware is only added once (in development)
if (process.env.NODE_ENV !== "production" && !globalForPrisma.prisma) {
prisma.$use(fieldEncryptionMiddleware());
}
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
from prisma-field-encryption.
Related Issues (20)
- [question]: would it technically be possible to do per user encryption using `prisma-field-encryption`? HOT 2
- Disable warning: could not find a field to use to iterate over rows in model ___ HOT 2
- Plaintext values with mode=strict do not throw errors HOT 1
- Filtering secured field with mode-insensitive HOT 1
- Feature request: Add support to sanitize hashes
- Heads up about prisma 5.16.0 and "Error: no encryption key provided." HOT 1
- `Argument of type '() => Promise<void>' is not assignable to parameter of type 'PrismaPromise<any>[]'.` when using `prisma.$transaction` after extending client HOT 4
- Filtering with 'where: { fieldName: { in: ['value1', 'value2'] } } Not Supported
- Do we need both `CLOAK_KEYCHAIN` and `CLOAK_MASTER_KEY` or one of them HOT 1
- [KMS]: Is it working with cryptographic keys on GCP KMS? HOT 5
- NestJS PrismaService and Extending it With Encryption HOT 8
- [mongo]: Hashes are not computed HOT 5
- Doesn't work with the Prisma fluent API HOT 5
- Feature request: HMAC Support for Hashing HOT 5
- Fields that are selected through include are returned as cyphertext HOT 6
- Filter with "contains" HOT 1
- "not" filter not works in hash fields HOT 2
- Work on the edge with crypto providers HOT 7
- Breaks with 5.9.1 release of Prisma HOT 5
- Erroneous `rotation migrations are disabled` warning HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prisma-field-encryption.