您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

116 行
4.8KB

  1. package domain
  2. import (
  3. "encoding/json"
  4. "time"
  5. )
  6. type Template struct {
  7. ID int64 `json:"id"`
  8. Name string `json:"name"`
  9. Description string `json:"description"`
  10. Locale string `json:"locale"`
  11. ThumbnailURL string `json:"thumbnailUrl"`
  12. TemplatePreviewURL string `json:"templatePreviewUrl"`
  13. Type string `json:"type"`
  14. PaletteReady bool `json:"paletteReady"`
  15. RawJSON json.RawMessage `json:"rawTemplateJson"`
  16. IsAITemplate bool `json:"isAiTemplate"`
  17. IsOnboarded bool `json:"isOnboarded"`
  18. ManifestStatus string `json:"manifestStatus"`
  19. LastDiscoveredAt *time.Time `json:"lastDiscoveredAt,omitempty"`
  20. }
  21. type TemplateManifest struct {
  22. ID string `json:"id"`
  23. TemplateID int64 `json:"templateId"`
  24. Version int `json:"version"`
  25. Source string `json:"source"`
  26. LanguageUsedDiscovery string `json:"languageUsedForDiscovery"`
  27. DiscoveryPayloadJSON json.RawMessage `json:"discoveryPayloadJson"`
  28. DiscoveryResponseJSON json.RawMessage `json:"discoveryResponseJson"`
  29. FlattenedManifestJSON json.RawMessage `json:"flattenedManifestJson"`
  30. IsActive bool `json:"isActive"`
  31. CreatedAt time.Time `json:"createdAt"`
  32. UpdatedAt time.Time `json:"updatedAt"`
  33. }
  34. type TemplateField struct {
  35. ID string `json:"id"`
  36. TemplateID int64 `json:"templateId"`
  37. ManifestID string `json:"manifestId"`
  38. Section string `json:"section"`
  39. WebsiteSection string `json:"websiteSection"`
  40. KeyName string `json:"keyName"`
  41. Path string `json:"path"`
  42. FieldKind string `json:"fieldKind"`
  43. SampleValue string `json:"sampleValue"`
  44. IsEnabled bool `json:"isEnabled"`
  45. IsRequiredByUs bool `json:"isRequiredByUs"`
  46. DisplayLabel string `json:"displayLabel"`
  47. DisplayOrder int `json:"displayOrder"`
  48. Notes string `json:"notes"`
  49. }
  50. type SiteBuild struct {
  51. ID string `json:"id"`
  52. TemplateID int64 `json:"templateId"`
  53. ManifestID string `json:"manifestId"`
  54. RequestName string `json:"requestName"`
  55. GlobalDataJSON json.RawMessage `json:"globalDataJson"`
  56. AIDataJSON json.RawMessage `json:"aiDataJson"`
  57. FinalSitesPayload json.RawMessage `json:"finalSitesPayloadJson"`
  58. QCJobID *int64 `json:"qcJobId,omitempty"`
  59. QCSiteID *int64 `json:"qcSiteId,omitempty"`
  60. QCStatus string `json:"qcStatus"`
  61. QCPreviewURL string `json:"qcPreviewUrl"`
  62. QCEditorURL string `json:"qcEditorUrl"`
  63. QCResultJSON json.RawMessage `json:"qcResultJson"`
  64. QCErrorJSON json.RawMessage `json:"qcErrorJson"`
  65. StartedAt *time.Time `json:"startedAt,omitempty"`
  66. FinishedAt *time.Time `json:"finishedAt,omitempty"`
  67. }
  68. type BuildDraft struct {
  69. ID string `json:"id"`
  70. TemplateID int64 `json:"templateId"`
  71. ManifestID string `json:"manifestId"`
  72. Source string `json:"source"`
  73. RequestName string `json:"requestName"`
  74. GlobalDataJSON json.RawMessage `json:"globalDataJson"`
  75. FieldValuesJSON json.RawMessage `json:"fieldValuesJson"`
  76. DraftContextJSON json.RawMessage `json:"draftContextJson"`
  77. Status string `json:"status"`
  78. Notes string `json:"notes"`
  79. CreatedAt time.Time `json:"createdAt"`
  80. UpdatedAt time.Time `json:"updatedAt"`
  81. }
  82. type DraftStyleProfile struct {
  83. LocaleStyle string `json:"localeStyle,omitempty"`
  84. MarketStyle string `json:"marketStyle,omitempty"`
  85. AddressMode string `json:"addressMode,omitempty"`
  86. ContentTone string `json:"contentTone,omitempty"`
  87. PromptInstructions string `json:"promptInstructions,omitempty"`
  88. }
  89. type DraftLLMContext struct {
  90. BusinessType string `json:"businessType,omitempty"`
  91. WebsiteURL string `json:"websiteUrl,omitempty"`
  92. WebsiteSummary string `json:"websiteSummary,omitempty"`
  93. StyleProfile DraftStyleProfile `json:"styleProfile,omitempty"`
  94. }
  95. type DraftContext struct {
  96. IntakeSource string `json:"intakeSource,omitempty"`
  97. LLM DraftLLMContext `json:"llm,omitempty"`
  98. }
  99. type AppSettings struct {
  100. QCBaseURL string `json:"qcBaseUrl"`
  101. QCBearerTokenEncrypted string `json:"qcBearerTokenEncrypted"`
  102. LanguageOutputMode string `json:"languageOutputMode"`
  103. JobPollIntervalSeconds int `json:"jobPollIntervalSeconds"`
  104. JobPollTimeoutSeconds int `json:"jobPollTimeoutSeconds"`
  105. }