feat(server): refactor mail queue (#15204)

This commit is contained in:
DarkSky
2026-07-07 08:38:16 +08:00
committed by GitHub
parent 9581432d21
commit 998b255afd
72 changed files with 8386 additions and 763 deletions
@@ -0,0 +1,50 @@
query adminMailDeliveries($input: AdminMailDeliveriesInput) {
adminMailDeliveries(input: $input) {
window {
from
to
timezone
bucket
requestedSize
effectiveSize
}
summary {
total
sent
failed
skipped
canceled
queued
sending
retryWait
successRate
}
byStatus {
key
label
total
points {
bucket
count
}
}
byType {
key
label
total
points {
bucket
count
}
}
byOutcome {
key
label
total
points {
bucket
count
}
}
}
}
@@ -191,6 +191,61 @@ export const adminDashboardQuery = {
}`,
};
export const adminMailDeliveriesQuery = {
id: 'adminMailDeliveriesQuery' as const,
op: 'adminMailDeliveries',
query: `query adminMailDeliveries($input: AdminMailDeliveriesInput) {
adminMailDeliveries(input: $input) {
window {
from
to
timezone
bucket
requestedSize
effectiveSize
}
summary {
total
sent
failed
skipped
canceled
queued
sending
retryWait
successRate
}
byStatus {
key
label
total
points {
bucket
count
}
}
byType {
key
label
total
points {
bucket
count
}
}
byOutcome {
key
label
total
points {
bucket
count
}
}
}
}`,
};
export const adminServerConfigQuery = {
id: 'adminServerConfigQuery' as const,
op: 'adminServerConfig',
+117
View File
@@ -147,6 +147,46 @@ export interface AdminLicensePreview {
workspaceId: Scalars['String']['output'];
}
export interface AdminMailDeliveriesInput {
hours?: Scalars['Int']['input'];
}
export interface AdminMailDeliveryAnalytics {
__typename?: 'AdminMailDeliveryAnalytics';
byOutcome: Array<AdminMailDeliverySeries>;
byStatus: Array<AdminMailDeliverySeries>;
byType: Array<AdminMailDeliverySeries>;
summary: AdminMailDeliverySummary;
window: TimeWindow;
}
export interface AdminMailDeliveryPoint {
__typename?: 'AdminMailDeliveryPoint';
bucket: Scalars['DateTime']['output'];
count: Scalars['Int']['output'];
}
export interface AdminMailDeliverySeries {
__typename?: 'AdminMailDeliverySeries';
key: Scalars['String']['output'];
label: Scalars['String']['output'];
points: Array<AdminMailDeliveryPoint>;
total: Scalars['Int']['output'];
}
export interface AdminMailDeliverySummary {
__typename?: 'AdminMailDeliverySummary';
canceled: Scalars['Int']['output'];
failed: Scalars['Int']['output'];
queued: Scalars['Int']['output'];
retryWait: Scalars['Int']['output'];
sending: Scalars['Int']['output'];
sent: Scalars['Int']['output'];
skipped: Scalars['Int']['output'];
successRate: Scalars['Float']['output'];
total: Scalars['Int']['output'];
}
export interface AdminSharedLinkTopItem {
__typename?: 'AdminSharedLinkTopItem';
docId: Scalars['String']['output'];
@@ -2620,6 +2660,8 @@ export interface Query {
adminAllSharedLinks: PaginatedAdminAllSharedLink;
/** Get aggregated dashboard metrics for admin panel */
adminDashboard: AdminDashboard;
/** Aggregate mail delivery timeline facts for admin panel */
adminMailDeliveries: AdminMailDeliveryAnalytics;
/** Get workspace detail for admin */
adminWorkspace: Maybe<AdminWorkspace>;
/** List workspaces for admin */
@@ -2677,6 +2719,10 @@ export interface QueryAdminDashboardArgs {
input?: InputMaybe<AdminDashboardInput>;
}
export interface QueryAdminMailDeliveriesArgs {
input?: InputMaybe<AdminMailDeliveriesInput>;
}
export interface QueryAdminWorkspaceArgs {
id: Scalars['String']['input'];
}
@@ -3143,6 +3189,7 @@ export interface TestWorkspaceByokConfigResultType {
export enum TimeBucket {
Day = 'Day',
Hour = 'Hour',
Minute = 'Minute',
}
@@ -3907,6 +3954,71 @@ export type AdminDashboardQuery = {
};
};
export type AdminMailDeliveriesQueryVariables = Exact<{
input?: InputMaybe<AdminMailDeliveriesInput>;
}>;
export type AdminMailDeliveriesQuery = {
__typename?: 'Query';
adminMailDeliveries: {
__typename?: 'AdminMailDeliveryAnalytics';
window: {
__typename?: 'TimeWindow';
from: string;
to: string;
timezone: string;
bucket: TimeBucket;
requestedSize: number;
effectiveSize: number;
};
summary: {
__typename?: 'AdminMailDeliverySummary';
total: number;
sent: number;
failed: number;
skipped: number;
canceled: number;
queued: number;
sending: number;
retryWait: number;
successRate: number;
};
byStatus: Array<{
__typename?: 'AdminMailDeliverySeries';
key: string;
label: string;
total: number;
points: Array<{
__typename?: 'AdminMailDeliveryPoint';
bucket: string;
count: number;
}>;
}>;
byType: Array<{
__typename?: 'AdminMailDeliverySeries';
key: string;
label: string;
total: number;
points: Array<{
__typename?: 'AdminMailDeliveryPoint';
bucket: string;
count: number;
}>;
}>;
byOutcome: Array<{
__typename?: 'AdminMailDeliverySeries';
key: string;
label: string;
total: number;
points: Array<{
__typename?: 'AdminMailDeliveryPoint';
bucket: string;
count: number;
}>;
}>;
};
};
export type AdminServerConfigQueryVariables = Exact<{ [key: string]: never }>;
export type AdminServerConfigQuery = {
@@ -7718,6 +7830,11 @@ export type Queries =
variables: AdminDashboardQueryVariables;
response: AdminDashboardQuery;
}
| {
name: 'adminMailDeliveriesQuery';
variables: AdminMailDeliveriesQueryVariables;
response: AdminMailDeliveriesQuery;
}
| {
name: 'adminServerConfigQuery';
variables: AdminServerConfigQueryVariables;