courrier multi account restore compose
This commit is contained in:
parent
6ac1f8c5af
commit
cf0f724323
@ -153,6 +153,8 @@ export async function getUserEmailCredentials(userId: string): Promise<EmailCred
|
|||||||
const credentials = await prisma.mailCredentials.findUnique({
|
const credentials = await prisma.mailCredentials.findUnique({
|
||||||
where: { userId },
|
where: { userId },
|
||||||
select: {
|
select: {
|
||||||
|
id: true,
|
||||||
|
userId: true,
|
||||||
email: true,
|
email: true,
|
||||||
password: true,
|
password: true,
|
||||||
host: true,
|
host: true,
|
||||||
@ -162,7 +164,9 @@ export async function getUserEmailCredentials(userId: string): Promise<EmailCred
|
|||||||
smtp_port: true,
|
smtp_port: true,
|
||||||
smtp_secure: true,
|
smtp_secure: true,
|
||||||
display_name: true,
|
display_name: true,
|
||||||
color: true
|
color: true,
|
||||||
|
createdAt: true,
|
||||||
|
updatedAt: true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -170,24 +174,10 @@ export async function getUserEmailCredentials(userId: string): Promise<EmailCred
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the credentials object
|
|
||||||
const emailCredentials: EmailCredentials = {
|
|
||||||
email: credentials.email,
|
|
||||||
password: credentials.password,
|
|
||||||
host: credentials.host,
|
|
||||||
port: credentials.port,
|
|
||||||
secure: credentials.secure ?? false,
|
|
||||||
smtp_host: credentials.smtp_host ?? undefined,
|
|
||||||
smtp_port: credentials.smtp_port ?? undefined,
|
|
||||||
smtp_secure: credentials.smtp_secure ?? undefined,
|
|
||||||
display_name: credentials.display_name ?? undefined,
|
|
||||||
color: credentials.color ?? undefined
|
|
||||||
};
|
|
||||||
|
|
||||||
// Cache the credentials
|
// Cache the credentials
|
||||||
await cacheEmailCredentials(userId, [emailCredentials]);
|
await cacheEmailCredentials(userId, credentials);
|
||||||
|
|
||||||
return emailCredentials;
|
return credentials;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
24
lib/types.ts
24
lib/types.ts
@ -1,20 +1,18 @@
|
|||||||
export interface EmailCredentials {
|
export interface EmailCredentials {
|
||||||
// IMAP Settings
|
id: string;
|
||||||
|
userId: string;
|
||||||
email: string;
|
email: string;
|
||||||
password?: string;
|
password: string;
|
||||||
host: string;
|
host: string;
|
||||||
port: number;
|
port: number;
|
||||||
secure?: boolean;
|
secure: boolean;
|
||||||
encryptedPassword?: string;
|
smtp_host: string | null;
|
||||||
|
smtp_port: number | null;
|
||||||
// SMTP Settings
|
smtp_secure: boolean | null;
|
||||||
smtp_host?: string;
|
display_name: string | null;
|
||||||
smtp_port?: number;
|
color: string | null;
|
||||||
smtp_secure?: boolean; // true for SSL, false for TLS
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
// Display Settings
|
|
||||||
display_name?: string;
|
|
||||||
color?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EmailAddress {
|
export interface EmailAddress {
|
||||||
|
|||||||
12
node_modules/.prisma/client/edge.js
generated
vendored
12
node_modules/.prisma/client/edge.js
generated
vendored
File diff suppressed because one or more lines are too long
6
node_modules/.prisma/client/index-browser.js
generated
vendored
6
node_modules/.prisma/client/index-browser.js
generated
vendored
@ -156,6 +156,12 @@ exports.Prisma.MailCredentialsScalarFieldEnum = {
|
|||||||
password: 'password',
|
password: 'password',
|
||||||
host: 'host',
|
host: 'host',
|
||||||
port: 'port',
|
port: 'port',
|
||||||
|
secure: 'secure',
|
||||||
|
smtp_host: 'smtp_host',
|
||||||
|
smtp_port: 'smtp_port',
|
||||||
|
smtp_secure: 'smtp_secure',
|
||||||
|
display_name: 'display_name',
|
||||||
|
color: 'color',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
updatedAt: 'updatedAt'
|
updatedAt: 'updatedAt'
|
||||||
};
|
};
|
||||||
|
|||||||
529
node_modules/.prisma/client/index.d.ts
generated
vendored
529
node_modules/.prisma/client/index.d.ts
generated
vendored
File diff suppressed because it is too large
Load Diff
12
node_modules/.prisma/client/index.js
generated
vendored
12
node_modules/.prisma/client/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.prisma/client/package.json
generated
vendored
2
node_modules/.prisma/client/package.json
generated
vendored
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "prisma-client-c9759cc7a8e2c5f5df4ff9bd3c0aee5a8c3b48f326a42a0aac248c95b4c1be3c",
|
"name": "prisma-client-b40f3f84d2de0618d89c499eb0cd716edd77eed705934b6086e165c44e903c03",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"browser": "index-browser.js",
|
"browser": "index-browser.js",
|
||||||
|
|||||||
25
node_modules/.prisma/client/schema.prisma
generated
vendored
25
node_modules/.prisma/client/schema.prisma
generated
vendored
@ -19,7 +19,7 @@ model User {
|
|||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
calendars Calendar[]
|
calendars Calendar[]
|
||||||
events Event[]
|
events Event[]
|
||||||
mailCredentials MailCredentials?
|
mailCredentials MailCredentials[]
|
||||||
webdavCredentials WebDAVCredentials?
|
webdavCredentials WebDAVCredentials?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,12 +57,23 @@ model Event {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model MailCredentials {
|
model MailCredentials {
|
||||||
id String @id @default(uuid())
|
id String @id @default(uuid())
|
||||||
userId String @unique
|
userId String
|
||||||
email String
|
email String
|
||||||
password String
|
password String
|
||||||
host String
|
host String
|
||||||
port Int
|
port Int
|
||||||
|
secure Boolean @default(true)
|
||||||
|
|
||||||
|
// SMTP Settings
|
||||||
|
smtp_host String?
|
||||||
|
smtp_port Int?
|
||||||
|
smtp_secure Boolean? @default(false)
|
||||||
|
|
||||||
|
// Display Settings
|
||||||
|
display_name String?
|
||||||
|
color String? @default("#0082c9")
|
||||||
|
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||||
|
|||||||
6
node_modules/.prisma/client/wasm.js
generated
vendored
6
node_modules/.prisma/client/wasm.js
generated
vendored
@ -156,6 +156,12 @@ exports.Prisma.MailCredentialsScalarFieldEnum = {
|
|||||||
password: 'password',
|
password: 'password',
|
||||||
host: 'host',
|
host: 'host',
|
||||||
port: 'port',
|
port: 'port',
|
||||||
|
secure: 'secure',
|
||||||
|
smtp_host: 'smtp_host',
|
||||||
|
smtp_port: 'smtp_port',
|
||||||
|
smtp_secure: 'smtp_secure',
|
||||||
|
display_name: 'display_name',
|
||||||
|
color: 'color',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
updatedAt: 'updatedAt'
|
updatedAt: 'updatedAt'
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user