feat(f6.2): add per-act representative signing and user smtp
Android CI / RC / Android · lint, tests, debug APK, release compile (push) Failing after 1m25s
DH V2 CI / API · typecheck, tests, build (push) Successful in 34s
DH V2 CI / WEB · typecheck, build (push) Successful in 20s
Production dependency audit / API · production dependencies (push) Successful in 9s
Production dependency audit / WEB · production dependencies (push) Successful in 9s
DH V2 CI / Docker / scripts contract (push) Successful in 1m16s
Android CI / RC / Android · lint, tests, debug APK, release compile (push) Failing after 1m25s
DH V2 CI / API · typecheck, tests, build (push) Successful in 34s
DH V2 CI / WEB · typecheck, build (push) Successful in 20s
Production dependency audit / API · production dependencies (push) Successful in 9s
Production dependency audit / WEB · production dependencies (push) Successful in 9s
DH V2 CI / Docker / scripts contract (push) Successful in 1m16s
This commit is contained in:
@@ -98,6 +98,7 @@ export interface AdministrativeUser {
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
roles: RoleSummary[];
|
||||
smtpMode: 'SYSTEM' | 'CUSTOM';
|
||||
}
|
||||
|
||||
export interface Permission { id: string; code: string; description: string }
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
import { apiRequest } from './api';
|
||||
import type { AdministrativeUserProfile } from './userProfileApi';
|
||||
|
||||
export type UserSmtpMode = 'SYSTEM' | 'CUSTOM';
|
||||
export type UserSmtpSecurityMode = 'NONE' | 'STARTTLS' | 'TLS';
|
||||
|
||||
export interface UserSmtpCustomSettings {
|
||||
host: string;
|
||||
port: number;
|
||||
securityMode: UserSmtpSecurityMode;
|
||||
username: string;
|
||||
hasPassword: boolean;
|
||||
fromName: string;
|
||||
fromEmail: string;
|
||||
enabled: boolean;
|
||||
updatedAt: string | null;
|
||||
}
|
||||
|
||||
export interface UserSmtpSettings {
|
||||
mode: UserSmtpMode;
|
||||
email: string;
|
||||
generalConfigured: boolean;
|
||||
custom: UserSmtpCustomSettings | null;
|
||||
}
|
||||
|
||||
export interface UserSmtpSettingsInput {
|
||||
mode: UserSmtpMode;
|
||||
host?: string;
|
||||
port?: number;
|
||||
securityMode?: UserSmtpSecurityMode;
|
||||
username?: string | null;
|
||||
password?: string | null;
|
||||
fromName?: string | null;
|
||||
enabled?: boolean;
|
||||
}
|
||||
|
||||
export function getSelfProfile() {
|
||||
return apiRequest<AdministrativeUserProfile>('/users/self/profile');
|
||||
}
|
||||
|
||||
export function updateSelfProfile(input: {
|
||||
email: string;
|
||||
phone?: string | null;
|
||||
jobTitle?: string | null;
|
||||
}) {
|
||||
return apiRequest<AdministrativeUserProfile>('/users/self/profile', {
|
||||
method: 'PATCH',
|
||||
body: JSON.stringify(input),
|
||||
});
|
||||
}
|
||||
|
||||
export function getSelfSmtpSettings() {
|
||||
return apiRequest<UserSmtpSettings>('/users/self/smtp');
|
||||
}
|
||||
|
||||
export function saveSelfSmtpSettings(input: UserSmtpSettingsInput) {
|
||||
return apiRequest<UserSmtpSettings>('/users/self/smtp', {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify(input),
|
||||
});
|
||||
}
|
||||
|
||||
export function testSelfSmtpSettings() {
|
||||
return apiRequest<{ ok: boolean; recipient: string; messageId: string }>('/users/self/smtp/test', {
|
||||
method: 'POST',
|
||||
});
|
||||
}
|
||||
@@ -21,6 +21,7 @@ export interface UserProfileInput {
|
||||
|
||||
export interface CreateUserProfileInput extends UserProfileInput {
|
||||
username: string;
|
||||
email: string;
|
||||
firstName: string;
|
||||
lastName: string;
|
||||
password: string;
|
||||
|
||||
Reference in New Issue
Block a user