changemaker.lite/api/dist/modules/settings/settings.service.d.ts

292 lines
11 KiB
TypeScript

import type { SiteSettings } from '@prisma/client';
import type { UpdateSiteSettingsInput } from './settings.schemas';
declare const SENSITIVE_FIELDS: readonly ["smtpHost", "smtpPort", "smtpUser", "smtpPass", "smtpFromAddress", "testEmailRecipient", "giteaApiToken", "giteaOauthClientSecret", "smsTermuxApiUrl", "smsTermuxApiKey", "smsTailscaleApiKey"];
export declare const siteSettingsService: {
/** Full settings with encrypted fields decrypted (admin use) */
get(): Promise<{
id: string;
createdAt: Date;
updatedAt: Date;
organizationName: string;
organizationShortName: string;
organizationLogoUrl: string | null;
organizationFaviconUrl: string | null;
adminColorPrimary: string;
adminColorBgBase: string;
publicColorPrimary: string;
publicColorBgBase: string;
publicColorBgContainer: string;
publicHeaderGradient: string;
footerText: string;
loginSubtitle: string;
emailFromName: string;
smtpHost: string;
smtpPort: number;
smtpUser: string;
smtpPass: string;
smtpFromAddress: string;
smtpActiveProvider: string;
emailTestMode: boolean;
testEmailRecipient: string;
enablePublicRegistration: boolean;
enableEmailVerification: boolean;
autoApproveVerifiedUsers: boolean;
enableInfluence: boolean;
enableMap: boolean;
enableNewsletter: boolean;
enableLandingPages: boolean;
enableMediaFeatures: boolean;
enablePayments: boolean;
enableGalleryAds: boolean;
enableChat: boolean;
enableEvents: boolean;
enableDocsComments: boolean;
enableSms: boolean;
enablePeople: boolean;
enableSocial: boolean;
enableMeet: boolean;
enableMeetingPlanner: boolean;
enableTicketedEvents: boolean;
enableSocialCalendar: boolean;
enableDocsCollaboration: boolean;
requireEventApproval: boolean;
autoSyncPeopleToMap: boolean;
smsTermuxApiUrl: string;
smsTermuxApiKey: string;
smsTailscaleApiKey: string;
smsTailscaleTailnet: string;
smsTailscaleDeviceId: string;
smsTailscaleDeviceName: string;
giteaApiToken: string;
giteaCommentsRepoOwner: string;
giteaCommentsRepoName: string;
giteaOauthClientId: string;
giteaOauthClientSecret: string;
enableUserProvisioning: boolean;
provisionGitea: boolean;
provisionGiteaTiming: string;
provisionVaultwarden: boolean;
provisionVaultwardenTiming: string;
provisionListmonk: boolean;
provisionListmonkTiming: string;
enableAutoUpgrade: boolean;
autoUpgradeSchedule: string;
autoUpgradePullServices: boolean;
notifyAdminAutoUpgrade: boolean;
navConfig: import("@prisma/client/runtime/library").JsonValue | null;
notifyAdminShiftSignup: boolean;
notifyAdminResponseSubmitted: boolean;
notifyAdminSignRequested: boolean;
notifyAdminShiftCancellation: boolean;
notifyVolunteerSessionSummary: boolean;
notifyVolunteerCancellation: boolean;
notifyVolunteerShiftReminder: boolean;
notifyVolunteerShiftThankYou: boolean;
notifyVolunteerReengagement: boolean;
reengagementInactiveDays: number;
reengagementCooldownDays: number;
homepageTagline: string | null;
smsShiftReminders: boolean;
smsShiftReminderHours: number;
smsShiftSignupConfirm: boolean;
smsVolunteerWelcome: boolean;
useRegistryForUpgrade: boolean;
giteaRegistryUrl: string;
}>;
/** Full settings + _effective object resolving actual runtime SMTP config (admin use) */
getEffective(): Promise<{
_effective: {
provider: string;
host: string;
port: number;
user: string;
hasPassword: boolean;
fromAddress: string;
fromName: string;
testMode: boolean;
testRecipient: string;
};
id: string;
createdAt: Date;
updatedAt: Date;
organizationName: string;
organizationShortName: string;
organizationLogoUrl: string | null;
organizationFaviconUrl: string | null;
adminColorPrimary: string;
adminColorBgBase: string;
publicColorPrimary: string;
publicColorBgBase: string;
publicColorBgContainer: string;
publicHeaderGradient: string;
footerText: string;
loginSubtitle: string;
emailFromName: string;
smtpHost: string;
smtpPort: number;
smtpUser: string;
smtpPass: string;
smtpFromAddress: string;
smtpActiveProvider: string;
emailTestMode: boolean;
testEmailRecipient: string;
enablePublicRegistration: boolean;
enableEmailVerification: boolean;
autoApproveVerifiedUsers: boolean;
enableInfluence: boolean;
enableMap: boolean;
enableNewsletter: boolean;
enableLandingPages: boolean;
enableMediaFeatures: boolean;
enablePayments: boolean;
enableGalleryAds: boolean;
enableChat: boolean;
enableEvents: boolean;
enableDocsComments: boolean;
enableSms: boolean;
enablePeople: boolean;
enableSocial: boolean;
enableMeet: boolean;
enableMeetingPlanner: boolean;
enableTicketedEvents: boolean;
enableSocialCalendar: boolean;
enableDocsCollaboration: boolean;
requireEventApproval: boolean;
autoSyncPeopleToMap: boolean;
smsTermuxApiUrl: string;
smsTermuxApiKey: string;
smsTailscaleApiKey: string;
smsTailscaleTailnet: string;
smsTailscaleDeviceId: string;
smsTailscaleDeviceName: string;
giteaApiToken: string;
giteaCommentsRepoOwner: string;
giteaCommentsRepoName: string;
giteaOauthClientId: string;
giteaOauthClientSecret: string;
enableUserProvisioning: boolean;
provisionGitea: boolean;
provisionGiteaTiming: string;
provisionVaultwarden: boolean;
provisionVaultwardenTiming: string;
provisionListmonk: boolean;
provisionListmonkTiming: string;
enableAutoUpgrade: boolean;
autoUpgradeSchedule: string;
autoUpgradePullServices: boolean;
notifyAdminAutoUpgrade: boolean;
navConfig: import("@prisma/client/runtime/library").JsonValue | null;
notifyAdminShiftSignup: boolean;
notifyAdminResponseSubmitted: boolean;
notifyAdminSignRequested: boolean;
notifyAdminShiftCancellation: boolean;
notifyVolunteerSessionSummary: boolean;
notifyVolunteerCancellation: boolean;
notifyVolunteerShiftReminder: boolean;
notifyVolunteerShiftThankYou: boolean;
notifyVolunteerReengagement: boolean;
reengagementInactiveDays: number;
reengagementCooldownDays: number;
homepageTagline: string | null;
smsShiftReminders: boolean;
smsShiftReminderHours: number;
smsShiftSignupConfirm: boolean;
smsVolunteerWelcome: boolean;
useRegistryForUpgrade: boolean;
giteaRegistryUrl: string;
}>;
/** Public-safe settings (strips SMTP credentials) */
getPublic(): Promise<Omit<SiteSettings, (typeof SENSITIVE_FIELDS)[number]>>;
update(data: UpdateSiteSettingsInput): Promise<{
id: string;
createdAt: Date;
updatedAt: Date;
organizationName: string;
organizationShortName: string;
organizationLogoUrl: string | null;
organizationFaviconUrl: string | null;
adminColorPrimary: string;
adminColorBgBase: string;
publicColorPrimary: string;
publicColorBgBase: string;
publicColorBgContainer: string;
publicHeaderGradient: string;
footerText: string;
loginSubtitle: string;
emailFromName: string;
smtpHost: string;
smtpPort: number;
smtpUser: string;
smtpPass: string;
smtpFromAddress: string;
smtpActiveProvider: string;
emailTestMode: boolean;
testEmailRecipient: string;
enablePublicRegistration: boolean;
enableEmailVerification: boolean;
autoApproveVerifiedUsers: boolean;
enableInfluence: boolean;
enableMap: boolean;
enableNewsletter: boolean;
enableLandingPages: boolean;
enableMediaFeatures: boolean;
enablePayments: boolean;
enableGalleryAds: boolean;
enableChat: boolean;
enableEvents: boolean;
enableDocsComments: boolean;
enableSms: boolean;
enablePeople: boolean;
enableSocial: boolean;
enableMeet: boolean;
enableMeetingPlanner: boolean;
enableTicketedEvents: boolean;
enableSocialCalendar: boolean;
enableDocsCollaboration: boolean;
requireEventApproval: boolean;
autoSyncPeopleToMap: boolean;
smsTermuxApiUrl: string;
smsTermuxApiKey: string;
smsTailscaleApiKey: string;
smsTailscaleTailnet: string;
smsTailscaleDeviceId: string;
smsTailscaleDeviceName: string;
giteaApiToken: string;
giteaCommentsRepoOwner: string;
giteaCommentsRepoName: string;
giteaOauthClientId: string;
giteaOauthClientSecret: string;
enableUserProvisioning: boolean;
provisionGitea: boolean;
provisionGiteaTiming: string;
provisionVaultwarden: boolean;
provisionVaultwardenTiming: string;
provisionListmonk: boolean;
provisionListmonkTiming: string;
enableAutoUpgrade: boolean;
autoUpgradeSchedule: string;
autoUpgradePullServices: boolean;
notifyAdminAutoUpgrade: boolean;
navConfig: import("@prisma/client/runtime/library").JsonValue | null;
notifyAdminShiftSignup: boolean;
notifyAdminResponseSubmitted: boolean;
notifyAdminSignRequested: boolean;
notifyAdminShiftCancellation: boolean;
notifyVolunteerSessionSummary: boolean;
notifyVolunteerCancellation: boolean;
notifyVolunteerShiftReminder: boolean;
notifyVolunteerShiftThankYou: boolean;
notifyVolunteerReengagement: boolean;
reengagementInactiveDays: number;
reengagementCooldownDays: number;
homepageTagline: string | null;
smsShiftReminders: boolean;
smsShiftReminderHours: number;
smsShiftSignupConfirm: boolean;
smsVolunteerWelcome: boolean;
useRegistryForUpgrade: boolean;
giteaRegistryUrl: string;
}>;
};
export {};
//# sourceMappingURL=settings.service.d.ts.map