Projektstart

This commit is contained in:
2026-01-22 15:49:12 +01:00
parent 7212eb6f7a
commit 57e5f652f8
10637 changed files with 2598792 additions and 64 deletions

1
backend/node_modules/.prisma/client/default.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export * from "./index"

1
backend/node_modules/.prisma/client/default.js generated vendored Normal file
View File

@@ -0,0 +1 @@
module.exports = { ...require('.') }

9
backend/node_modules/.prisma/client/deno/edge.d.ts generated vendored Normal file
View File

@@ -0,0 +1,9 @@
class PrismaClient {
constructor() {
throw new Error(
'@prisma/client/deno/edge did not initialize yet. Please run "prisma generate" and try to import it again.',
)
}
}
export { PrismaClient }

1
backend/node_modules/.prisma/client/edge.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export * from "./default"

337
backend/node_modules/.prisma/client/edge.js generated vendored Normal file

File diff suppressed because one or more lines are too long

331
backend/node_modules/.prisma/client/index-browser.js generated vendored Normal file
View File

@@ -0,0 +1,331 @@
Object.defineProperty(exports, "__esModule", { value: true });
const {
Decimal,
objectEnumValues,
makeStrictEnum,
Public,
getRuntime,
skip
} = require('@prisma/client/runtime/index-browser.js')
const Prisma = {}
exports.Prisma = Prisma
exports.$Enums = {}
/**
* Prisma Client JS version: 5.22.0
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
*/
Prisma.prismaVersion = {
client: "5.22.0",
engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
}
Prisma.PrismaClientKnownRequestError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)};
Prisma.PrismaClientUnknownRequestError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientRustPanicError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientInitializationError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientValidationError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.NotFoundError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.Decimal = Decimal
/**
* Re-export of sql-template-tag
*/
Prisma.sql = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.empty = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.join = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.raw = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.validator = Public.validator
/**
* Extensions
*/
Prisma.getExtensionContext = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.defineExtension = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
/**
* Shorthand utilities for JSON filtering
*/
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull
Prisma.NullTypes = {
DbNull: objectEnumValues.classes.DbNull,
JsonNull: objectEnumValues.classes.JsonNull,
AnyNull: objectEnumValues.classes.AnyNull
}
/**
* Enums
*/
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
ReadUncommitted: 'ReadUncommitted',
ReadCommitted: 'ReadCommitted',
RepeatableRead: 'RepeatableRead',
Serializable: 'Serializable'
});
exports.Prisma.TenantScalarFieldEnum = {
id: 'id',
name: 'name',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.UserScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
email: 'email',
password: 'password',
role: 'role',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailboxAccountScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
email: 'email',
provider: 'provider',
isActive: 'isActive',
imapHost: 'imapHost',
imapPort: 'imapPort',
imapTLS: 'imapTLS',
smtpHost: 'smtpHost',
smtpPort: 'smtpPort',
smtpTLS: 'smtpTLS',
oauthToken: 'oauthToken',
appPassword: 'appPassword',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailboxFolderScalarFieldEnum = {
id: 'id',
mailboxAccountId: 'mailboxAccountId',
name: 'name',
remoteId: 'remoteId',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailItemScalarFieldEnum = {
id: 'id',
folderId: 'folderId',
messageId: 'messageId',
subject: 'subject',
from: 'from',
receivedAt: 'receivedAt',
listId: 'listId',
listUnsubscribe: 'listUnsubscribe',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.RuleScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
name: 'name',
enabled: 'enabled',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.RuleConditionScalarFieldEnum = {
id: 'id',
ruleId: 'ruleId',
type: 'type',
value: 'value'
};
exports.Prisma.RuleActionScalarFieldEnum = {
id: 'id',
ruleId: 'ruleId',
type: 'type',
target: 'target'
};
exports.Prisma.CleanupJobScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
mailboxAccountId: 'mailboxAccountId',
status: 'status',
dryRun: 'dryRun',
unsubscribeEnabled: 'unsubscribeEnabled',
routingEnabled: 'routingEnabled',
startedAt: 'startedAt',
finishedAt: 'finishedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.UnsubscribeAttemptScalarFieldEnum = {
id: 'id',
jobId: 'jobId',
mailItemId: 'mailItemId',
method: 'method',
target: 'target',
status: 'status',
createdAt: 'createdAt'
};
exports.Prisma.CleanupJobEventScalarFieldEnum = {
id: 'id',
jobId: 'jobId',
level: 'level',
message: 'message',
progress: 'progress',
createdAt: 'createdAt'
};
exports.Prisma.SortOrder = {
asc: 'asc',
desc: 'desc'
};
exports.Prisma.QueryMode = {
default: 'default',
insensitive: 'insensitive'
};
exports.Prisma.NullsOrder = {
first: 'first',
last: 'last'
};
exports.UserRole = exports.$Enums.UserRole = {
USER: 'USER',
ADMIN: 'ADMIN'
};
exports.MailProvider = exports.$Enums.MailProvider = {
GMAIL: 'GMAIL',
GMX: 'GMX',
WEBDE: 'WEBDE'
};
exports.RuleConditionType = exports.$Enums.RuleConditionType = {
HEADER: 'HEADER',
SUBJECT: 'SUBJECT',
FROM: 'FROM',
LIST_UNSUBSCRIBE: 'LIST_UNSUBSCRIBE',
LIST_ID: 'LIST_ID'
};
exports.RuleActionType = exports.$Enums.RuleActionType = {
MOVE: 'MOVE',
DELETE: 'DELETE',
ARCHIVE: 'ARCHIVE',
LABEL: 'LABEL'
};
exports.JobStatus = exports.$Enums.JobStatus = {
QUEUED: 'QUEUED',
RUNNING: 'RUNNING',
SUCCEEDED: 'SUCCEEDED',
FAILED: 'FAILED',
CANCELED: 'CANCELED'
};
exports.Prisma.ModelName = {
Tenant: 'Tenant',
User: 'User',
MailboxAccount: 'MailboxAccount',
MailboxFolder: 'MailboxFolder',
MailItem: 'MailItem',
Rule: 'Rule',
RuleCondition: 'RuleCondition',
RuleAction: 'RuleAction',
CleanupJob: 'CleanupJob',
UnsubscribeAttempt: 'UnsubscribeAttempt',
CleanupJobEvent: 'CleanupJobEvent'
};
/**
* This is a stub Prisma Client that will error at runtime if called.
*/
class PrismaClient {
constructor() {
return new Proxy(this, {
get(target, prop) {
let message
const runtime = getRuntime()
if (runtime.isEdge) {
message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters
`;
} else {
message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
}
message += `
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`
throw new Error(message)
}
})
}
}
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)

18548
backend/node_modules/.prisma/client/index.d.ts generated vendored Normal file

File diff suppressed because it is too large Load Diff

358
backend/node_modules/.prisma/client/index.js generated vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

97
backend/node_modules/.prisma/client/package.json generated vendored Normal file
View File

@@ -0,0 +1,97 @@
{
"name": "prisma-client-b4cf1bdb4cdb603270ffacebd51312a4f626848df3c1cfbd697266d48aa5aa9b",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",
"exports": {
"./package.json": "./package.json",
".": {
"require": {
"node": "./index.js",
"edge-light": "./wasm.js",
"workerd": "./wasm.js",
"worker": "./wasm.js",
"browser": "./index-browser.js",
"default": "./index.js"
},
"import": {
"node": "./index.js",
"edge-light": "./wasm.js",
"workerd": "./wasm.js",
"worker": "./wasm.js",
"browser": "./index-browser.js",
"default": "./index.js"
},
"default": "./index.js"
},
"./edge": {
"types": "./edge.d.ts",
"require": "./edge.js",
"import": "./edge.js",
"default": "./edge.js"
},
"./react-native": {
"types": "./react-native.d.ts",
"require": "./react-native.js",
"import": "./react-native.js",
"default": "./react-native.js"
},
"./extension": {
"types": "./extension.d.ts",
"require": "./extension.js",
"import": "./extension.js",
"default": "./extension.js"
},
"./index-browser": {
"types": "./index.d.ts",
"require": "./index-browser.js",
"import": "./index-browser.js",
"default": "./index-browser.js"
},
"./index": {
"types": "./index.d.ts",
"require": "./index.js",
"import": "./index.js",
"default": "./index.js"
},
"./wasm": {
"types": "./wasm.d.ts",
"require": "./wasm.js",
"import": "./wasm.js",
"default": "./wasm.js"
},
"./runtime/library": {
"types": "./runtime/library.d.ts",
"require": "./runtime/library.js",
"import": "./runtime/library.js",
"default": "./runtime/library.js"
},
"./runtime/binary": {
"types": "./runtime/binary.d.ts",
"require": "./runtime/binary.js",
"import": "./runtime/binary.js",
"default": "./runtime/binary.js"
},
"./generator-build": {
"require": "./generator-build/index.js",
"import": "./generator-build/index.js",
"default": "./generator-build/index.js"
},
"./sql": {
"require": {
"types": "./sql.d.ts",
"node": "./sql.js",
"default": "./sql.js"
},
"import": {
"types": "./sql.d.ts",
"node": "./sql.mjs",
"default": "./sql.mjs"
},
"default": "./sql.js"
},
"./*": "./*"
},
"version": "5.22.0",
"sideEffects": false
}

210
backend/node_modules/.prisma/client/schema.prisma generated vendored Normal file
View File

@@ -0,0 +1,210 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
enum MailProvider {
GMAIL
GMX
WEBDE
}
enum UserRole {
USER
ADMIN
}
enum JobStatus {
QUEUED
RUNNING
SUCCEEDED
FAILED
CANCELED
}
enum RuleActionType {
MOVE
DELETE
ARCHIVE
LABEL
}
enum RuleConditionType {
HEADER
SUBJECT
FROM
LIST_UNSUBSCRIBE
LIST_ID
}
model Tenant {
id String @id @default(cuid())
name String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
users User[]
mailboxAccounts MailboxAccount[]
rules Rule[]
jobs CleanupJob[]
}
model User {
id String @id @default(cuid())
tenantId String
email String @unique
password String
role UserRole @default(USER)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tenant Tenant @relation(fields: [tenantId], references: [id])
}
model MailboxAccount {
id String @id @default(cuid())
tenantId String
email String
provider MailProvider
isActive Boolean @default(true)
imapHost String
imapPort Int
imapTLS Boolean
smtpHost String?
smtpPort Int?
smtpTLS Boolean?
oauthToken String?
appPassword String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tenant Tenant @relation(fields: [tenantId], references: [id])
folders MailboxFolder[]
jobs CleanupJob[]
@@index([tenantId])
}
model MailboxFolder {
id String @id @default(cuid())
mailboxAccountId String
name String
remoteId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
mailboxAccount MailboxAccount @relation(fields: [mailboxAccountId], references: [id])
mailItems MailItem[]
@@index([mailboxAccountId])
}
model MailItem {
id String @id @default(cuid())
folderId String
messageId String
subject String?
from String?
receivedAt DateTime?
listId String?
listUnsubscribe String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
folder MailboxFolder @relation(fields: [folderId], references: [id])
@@index([folderId])
@@index([messageId])
}
model Rule {
id String @id @default(cuid())
tenantId String
name String
enabled Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tenant Tenant @relation(fields: [tenantId], references: [id])
conditions RuleCondition[]
actions RuleAction[]
@@index([tenantId])
}
model RuleCondition {
id String @id @default(cuid())
ruleId String
type RuleConditionType
value String
rule Rule @relation(fields: [ruleId], references: [id])
@@index([ruleId])
}
model RuleAction {
id String @id @default(cuid())
ruleId String
type RuleActionType
target String?
rule Rule @relation(fields: [ruleId], references: [id])
@@index([ruleId])
}
model CleanupJob {
id String @id @default(cuid())
tenantId String
mailboxAccountId String
status JobStatus @default(QUEUED)
dryRun Boolean @default(true)
unsubscribeEnabled Boolean @default(true)
routingEnabled Boolean @default(true)
startedAt DateTime?
finishedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tenant Tenant @relation(fields: [tenantId], references: [id])
mailboxAccount MailboxAccount @relation(fields: [mailboxAccountId], references: [id])
unsubscribeAttempts UnsubscribeAttempt[]
events CleanupJobEvent[]
@@index([tenantId])
@@index([mailboxAccountId])
}
model UnsubscribeAttempt {
id String @id @default(cuid())
jobId String
mailItemId String?
method String
target String
status String
createdAt DateTime @default(now())
job CleanupJob @relation(fields: [jobId], references: [id])
@@index([jobId])
}
model CleanupJobEvent {
id String @id @default(cuid())
jobId String
level String
message String
progress Int?
createdAt DateTime @default(now())
job CleanupJob @relation(fields: [jobId], references: [id])
@@index([jobId])
}

1
backend/node_modules/.prisma/client/wasm.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export * from "./index"

331
backend/node_modules/.prisma/client/wasm.js generated vendored Normal file
View File

@@ -0,0 +1,331 @@
Object.defineProperty(exports, "__esModule", { value: true });
const {
Decimal,
objectEnumValues,
makeStrictEnum,
Public,
getRuntime,
skip
} = require('@prisma/client/runtime/index-browser.js')
const Prisma = {}
exports.Prisma = Prisma
exports.$Enums = {}
/**
* Prisma Client JS version: 5.22.0
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
*/
Prisma.prismaVersion = {
client: "5.22.0",
engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
}
Prisma.PrismaClientKnownRequestError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)};
Prisma.PrismaClientUnknownRequestError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientRustPanicError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientInitializationError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientValidationError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.NotFoundError = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.Decimal = Decimal
/**
* Re-export of sql-template-tag
*/
Prisma.sql = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.empty = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.join = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.raw = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.validator = Public.validator
/**
* Extensions
*/
Prisma.getExtensionContext = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.defineExtension = () => {
const runtimeName = getRuntime().prettyName;
throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
/**
* Shorthand utilities for JSON filtering
*/
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull
Prisma.NullTypes = {
DbNull: objectEnumValues.classes.DbNull,
JsonNull: objectEnumValues.classes.JsonNull,
AnyNull: objectEnumValues.classes.AnyNull
}
/**
* Enums
*/
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
ReadUncommitted: 'ReadUncommitted',
ReadCommitted: 'ReadCommitted',
RepeatableRead: 'RepeatableRead',
Serializable: 'Serializable'
});
exports.Prisma.TenantScalarFieldEnum = {
id: 'id',
name: 'name',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.UserScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
email: 'email',
password: 'password',
role: 'role',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailboxAccountScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
email: 'email',
provider: 'provider',
isActive: 'isActive',
imapHost: 'imapHost',
imapPort: 'imapPort',
imapTLS: 'imapTLS',
smtpHost: 'smtpHost',
smtpPort: 'smtpPort',
smtpTLS: 'smtpTLS',
oauthToken: 'oauthToken',
appPassword: 'appPassword',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailboxFolderScalarFieldEnum = {
id: 'id',
mailboxAccountId: 'mailboxAccountId',
name: 'name',
remoteId: 'remoteId',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MailItemScalarFieldEnum = {
id: 'id',
folderId: 'folderId',
messageId: 'messageId',
subject: 'subject',
from: 'from',
receivedAt: 'receivedAt',
listId: 'listId',
listUnsubscribe: 'listUnsubscribe',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.RuleScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
name: 'name',
enabled: 'enabled',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.RuleConditionScalarFieldEnum = {
id: 'id',
ruleId: 'ruleId',
type: 'type',
value: 'value'
};
exports.Prisma.RuleActionScalarFieldEnum = {
id: 'id',
ruleId: 'ruleId',
type: 'type',
target: 'target'
};
exports.Prisma.CleanupJobScalarFieldEnum = {
id: 'id',
tenantId: 'tenantId',
mailboxAccountId: 'mailboxAccountId',
status: 'status',
dryRun: 'dryRun',
unsubscribeEnabled: 'unsubscribeEnabled',
routingEnabled: 'routingEnabled',
startedAt: 'startedAt',
finishedAt: 'finishedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.UnsubscribeAttemptScalarFieldEnum = {
id: 'id',
jobId: 'jobId',
mailItemId: 'mailItemId',
method: 'method',
target: 'target',
status: 'status',
createdAt: 'createdAt'
};
exports.Prisma.CleanupJobEventScalarFieldEnum = {
id: 'id',
jobId: 'jobId',
level: 'level',
message: 'message',
progress: 'progress',
createdAt: 'createdAt'
};
exports.Prisma.SortOrder = {
asc: 'asc',
desc: 'desc'
};
exports.Prisma.QueryMode = {
default: 'default',
insensitive: 'insensitive'
};
exports.Prisma.NullsOrder = {
first: 'first',
last: 'last'
};
exports.UserRole = exports.$Enums.UserRole = {
USER: 'USER',
ADMIN: 'ADMIN'
};
exports.MailProvider = exports.$Enums.MailProvider = {
GMAIL: 'GMAIL',
GMX: 'GMX',
WEBDE: 'WEBDE'
};
exports.RuleConditionType = exports.$Enums.RuleConditionType = {
HEADER: 'HEADER',
SUBJECT: 'SUBJECT',
FROM: 'FROM',
LIST_UNSUBSCRIBE: 'LIST_UNSUBSCRIBE',
LIST_ID: 'LIST_ID'
};
exports.RuleActionType = exports.$Enums.RuleActionType = {
MOVE: 'MOVE',
DELETE: 'DELETE',
ARCHIVE: 'ARCHIVE',
LABEL: 'LABEL'
};
exports.JobStatus = exports.$Enums.JobStatus = {
QUEUED: 'QUEUED',
RUNNING: 'RUNNING',
SUCCEEDED: 'SUCCEEDED',
FAILED: 'FAILED',
CANCELED: 'CANCELED'
};
exports.Prisma.ModelName = {
Tenant: 'Tenant',
User: 'User',
MailboxAccount: 'MailboxAccount',
MailboxFolder: 'MailboxFolder',
MailItem: 'MailItem',
Rule: 'Rule',
RuleCondition: 'RuleCondition',
RuleAction: 'RuleAction',
CleanupJob: 'CleanupJob',
UnsubscribeAttempt: 'UnsubscribeAttempt',
CleanupJobEvent: 'CleanupJobEvent'
};
/**
* This is a stub Prisma Client that will error at runtime if called.
*/
class PrismaClient {
constructor() {
return new Proxy(this, {
get(target, prop) {
let message
const runtime = getRuntime()
if (runtime.isEdge) {
message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters
`;
} else {
message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
}
message += `
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`
throw new Error(message)
}
})
}
}
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)