Projektstart
This commit is contained in:
1
backend/node_modules/.prisma/client/default.d.ts
generated
vendored
Normal file
1
backend/node_modules/.prisma/client/default.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./index"
|
||||
1
backend/node_modules/.prisma/client/default.js
generated
vendored
Normal file
1
backend/node_modules/.prisma/client/default.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = { ...require('.') }
|
||||
9
backend/node_modules/.prisma/client/deno/edge.d.ts
generated
vendored
Normal file
9
backend/node_modules/.prisma/client/deno/edge.d.ts
generated
vendored
Normal 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
1
backend/node_modules/.prisma/client/edge.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./default"
|
||||
337
backend/node_modules/.prisma/client/edge.js
generated
vendored
Normal file
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
331
backend/node_modules/.prisma/client/index-browser.js
generated
vendored
Normal 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
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
358
backend/node_modules/.prisma/client/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
backend/node_modules/.prisma/client/libquery_engine-debian-openssl-3.0.x.so.node
generated
vendored
Executable file
BIN
backend/node_modules/.prisma/client/libquery_engine-debian-openssl-3.0.x.so.node
generated
vendored
Executable file
Binary file not shown.
97
backend/node_modules/.prisma/client/package.json
generated
vendored
Normal file
97
backend/node_modules/.prisma/client/package.json
generated
vendored
Normal 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
210
backend/node_modules/.prisma/client/schema.prisma
generated
vendored
Normal 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
1
backend/node_modules/.prisma/client/wasm.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./index"
|
||||
331
backend/node_modules/.prisma/client/wasm.js
generated
vendored
Normal file
331
backend/node_modules/.prisma/client/wasm.js
generated
vendored
Normal 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)
|
||||
Reference in New Issue
Block a user