mosaicmap/lib/config-queries.ts
2025-08-14 21:34:16 +08:00

256 lines
5.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { gql } from '@apollo/client';
// 获取完整的站点和运营配置
export const GET_CONFIGS = gql`
query GetConfigs {
configs {
id
key
value
valueType
description
}
}
`;
// 获取完整的站点和运营配置
export const GET_SITE_OPS_CONFIG = gql`
query GetSiteOpsConfig {
siteOpsConfig {
site {
info {
name
localeDefault
localesSupported
}
brand {
logoUrl
primaryColor
darkModeDefault
}
footerLinks {
name
url
visibleToGuest
}
}
noticeMaintenance {
banner {
enabled
text
}
maintenanceWindow {
enabled
startTime
endTime
message
}
modalAnnouncements {
id
title
content
startTime
endTime
audience
priority
}
}
docsSupport {
links {
name
url
description
}
channels {
email
ticketSystem
chatGroups {
name
url
qrCode
description
}
workingHours
}
}
ops {
features {
registrationEnabled
inviteCodeRequired
emailVerification
}
limits {
maxUsers
maxInviteCodesPerUser
sessionTimeoutHours
}
notifications {
welcomeEmail
systemAnnouncements
maintenanceAlerts
}
}
}
}
`;
// 获取站点配置
export const GET_SITE_CONFIG = gql`
query GetSiteConfig {
siteConfig {
info {
name
localeDefault
localesSupported
}
brand {
logoUrl
primaryColor
darkModeDefault
}
footerLinks {
name
url
visibleToGuest
}
}
}
`;
// 获取公告维护配置
export const GET_NOTICE_MAINTENANCE_CONFIG = gql`
query GetNoticeMaintenanceConfig {
noticeMaintenanceConfig {
banner {
enabled
text
}
maintenanceWindow {
enabled
startTime
endTime
message
}
modalAnnouncements {
id
title
content
startTime
endTime
audience
priority
}
}
}
`;
// 获取文档支持配置
export const GET_DOCS_SUPPORT_CONFIG = gql`
query GetDocsSupportConfig {
docsSupportConfig {
links {
name
url
description
}
channels {
email
ticketSystem
chatGroups {
name
url
qrCode
description
}
workingHours
}
}
}
`;
// 获取运营配置
export const GET_OPS_CONFIG = gql`
query GetOpsConfig {
opsConfig {
features {
registrationEnabled
inviteCodeRequired
emailVerification
}
limits {
maxUsers
maxInviteCodesPerUser
sessionTimeoutHours
}
notifications {
welcomeEmail
systemAnnouncements
maintenanceAlerts
}
}
}
`;
// 验证配置
export const VALIDATE_CONFIG = gql`
query ValidateConfig {
validateConfig {
valid
errors
warnings
}
}
`;
// 更新配置设置假设后端有这样的mutation
export const UPDATE_SETTING = gql`
mutation UpdateSetting($key: String!, $value: String!) {
updateSetting(key: $key, value: $value) {
success
message
}
}
`;
// 批量更新配置设置
export const UPDATE_SETTINGS = gql`
mutation UpdateSettings($settings: [SettingInput!]!) {
updateSettings(settings: $settings) {
success
message
failedKeys
}
}
`;
// 重置配置到默认值
export const RESET_SETTINGS = gql`
mutation ResetSettings($keys: [String!]!) {
resetSettings(keys: $keys) {
success
message
}
}
`;
// 导出配置
export const EXPORT_CONFIG = gql`
query ExportConfig {
exportConfig {
data
timestamp
}
}
`;
// 导入配置
export const IMPORT_CONFIG = gql`
mutation ImportConfig($configData: String!) {
importConfig(configData: $configData) {
success
message
importedCount
skippedCount
}
}
`;