From ad797a94b27c908ae2bb96634970775fdccd9043 Mon Sep 17 00:00:00 2001 From: Richard Orchard Date: Thu, 13 Aug 2026 13:42:35 +0800 Subject: [PATCH] Folderize QueenZone.Data root DTOs by domain without changing namespaces. Keeps DbContext/DI at the project root and groups read models under domain folders so navigation matches Entities/Repositories/Sql. Co-authored-by: Cursor --- src/QueenZone.Data/{ => Articles}/ArticleItem.cs | 0 src/QueenZone.Data/{ => Articles}/ArticleItemOrdering.cs | 0 src/QueenZone.Data/{ => Articles}/ArticleSubmissionModels.cs | 0 src/QueenZone.Data/{ => Articles}/ArticleSubmissionStatus.cs | 0 src/QueenZone.Data/{ => Articles}/LegacyArticleText.cs | 0 src/QueenZone.Data/{ => Biography}/AdminBiographyDraft.cs | 0 src/QueenZone.Data/{ => Biography}/BiographyChapterItem.cs | 0 src/QueenZone.Data/{ => Biography}/BiographyChapterOrdering.cs | 0 src/QueenZone.Data/{ => Biography}/BiographyTitle.cs | 0 src/QueenZone.Data/{ => Biography}/BiographyValidation.cs | 0 src/QueenZone.Data/{ => Discography}/AlbumCoverUrl.cs | 0 src/QueenZone.Data/{ => Discography}/AlbumDetail.cs | 0 src/QueenZone.Data/{ => Discography}/AlbumSong.cs | 0 src/QueenZone.Data/{ => Discography}/AlbumSummary.cs | 0 src/QueenZone.Data/{ => Discography}/FanPerformance.cs | 0 src/QueenZone.Data/{ => Discography}/SongFileUrl.cs | 0 src/QueenZone.Data/{ => Forum}/ForumArchiveStats.cs | 0 src/QueenZone.Data/{ => Forum}/ForumAttachmentMerge.cs | 0 src/QueenZone.Data/{ => Forum}/ForumAttachmentModels.cs | 0 src/QueenZone.Data/{ => Forum}/ForumAttachmentPaths.cs | 0 src/QueenZone.Data/{ => Forum}/ForumCategoryItem.cs | 0 src/QueenZone.Data/{ => Forum}/ForumCategoryTopicsPage.cs | 0 src/QueenZone.Data/{ => Forum}/ForumDataOptions.cs | 0 src/QueenZone.Data/{ => Forum}/ForumOptions.cs | 0 src/QueenZone.Data/{ => Forum}/ForumPollModels.cs | 0 src/QueenZone.Data/{ => Forum}/ForumPostAttachment.cs | 0 src/QueenZone.Data/{ => Forum}/ForumPostEditRules.cs | 0 src/QueenZone.Data/{ => Forum}/ForumPostItem.cs | 0 src/QueenZone.Data/{ => Forum}/ForumRecentThreadItem.cs | 0 src/QueenZone.Data/{ => Forum}/ForumSearchPage.cs | 0 src/QueenZone.Data/{ => Forum}/ForumSearchResult.cs | 0 src/QueenZone.Data/{ => Forum}/ForumTopicHeader.cs | 0 src/QueenZone.Data/{ => Forum}/ForumTopicItem.cs | 0 src/QueenZone.Data/{ => Forum}/ForumTopicPostsPage.cs | 0 src/QueenZone.Data/{ => Forum}/ForumTopicSitemapItem.cs | 0 src/QueenZone.Data/{ => Forum}/ForumWriteModels.cs | 0 .../{ => FreddieTribute}/AdminFreddieTributeModels.cs | 0 src/QueenZone.Data/{ => FreddieTribute}/FreddieTribute.cs | 0 src/QueenZone.Data/{ => FreddieTribute}/FreddieTributePage.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryCsvImportResult.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryCsvImportRow.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryCsvImporter.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryDatePrecision.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryEvent.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryEventCategory.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryEventOrdering.cs | 0 src/QueenZone.Data/{ => History}/QueenHistoryEventSourceType.cs | 0 src/QueenZone.Data/{ => Links}/QueenLink.cs | 0 src/QueenZone.Data/{ => Links}/QueenLinkCategory.cs | 0 src/QueenZone.Data/{ => Links}/QueenLinkCheckUpdate.cs | 0 src/QueenZone.Data/{ => Links}/QueenLinkValidationItem.cs | 0 src/QueenZone.Data/{ => Members}/LegacyMemberMatch.cs | 0 src/QueenZone.Data/{ => Members}/MemberAccountDeletionModels.cs | 0 src/QueenZone.Data/{ => Members}/MemberActivityModels.cs | 0 src/QueenZone.Data/{ => Members}/MemberPublicActivityModels.cs | 0 src/QueenZone.Data/{ => Members}/PrivateMessageModels.cs | 0 src/QueenZone.Data/{ => News}/AdminNewsArticle.cs | 0 src/QueenZone.Data/{ => News}/AdminNewsArticlePage.cs | 0 src/QueenZone.Data/{ => News}/AdminNewsDraft.cs | 0 src/QueenZone.Data/{ => News}/NewsAgentRunRequest.cs | 0 src/QueenZone.Data/{ => News}/NewsAiRunKind.cs | 0 src/QueenZone.Data/{ => News}/NewsAiRunStatus.cs | 0 src/QueenZone.Data/{ => News}/NewsAiStructuredDisplay.cs | 0 src/QueenZone.Data/{ => News}/NewsAuditEntry.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateDedupe.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateDuplicateRules.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateListQuery.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateListQueryDefaults.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateReviewListItem.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateReviewPage.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateReviewQuery.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateStatus.cs | 0 src/QueenZone.Data/{ => News}/NewsCandidateWorkflow.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryModels.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryPromoteAudit.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryPromoteDraft.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryProvenance.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryProvenanceBuilder.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoverySourceType.cs | 0 src/QueenZone.Data/{ => News}/NewsDiscoveryTrustTier.cs | 0 src/QueenZone.Data/{ => News}/NewsItem.cs | 0 src/QueenZone.Data/{ => News}/NewsItemOrdering.cs | 0 src/QueenZone.Data/{ => News}/NewsSearchPage.cs | 0 src/QueenZone.Data/{ => News}/NewsSlug.cs | 0 src/QueenZone.Data/{ => News}/NewsSuggestionModels.cs | 0 src/QueenZone.Data/{ => News}/NewsSuggestionPromoteDraft.cs | 0 src/QueenZone.Data/{ => News}/NewsSuggestionStatus.cs | 0 src/QueenZone.Data/{ => News}/NewsTableRowMapper.cs | 0 src/QueenZone.Data/{ => News}/NewsValidation.cs | 0 src/QueenZone.Data/{ => Photos}/AdminPhoto.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoCategory.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoCategoryPage.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoDimensionInventory.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoImageUrl.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoItem.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoLegacyPath.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoListFilter.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoSitemapCategory.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoSqlFilter.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoSubmission.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoSubmissionStatus.cs | 0 src/QueenZone.Data/{ => Photos}/PhotoSubmissionWorkflow.cs | 0 src/QueenZone.Data/{ => Search}/SearchDocumentText.cs | 0 src/QueenZone.Data/{ => Search}/SearchReindexRunRequest.cs | 0 src/QueenZone.Data/{ => Search}/SiteSearchContentType.cs | 0 src/QueenZone.Data/{ => Search}/SiteSearchPage.cs | 0 src/QueenZone.Data/{ => Search}/SiteSearchResult.cs | 0 src/QueenZone.Data/{ => Search}/SitemapContentEntry.cs | 0 src/QueenZone.Data/{ => Shared}/SubmissionContributor.cs | 0 src/QueenZone.Data/{ => Shared}/SubmissionListPage.cs | 0 src/QueenZone.Data/{ => Shared}/SubmissionTypeCounts.cs | 0 111 files changed, 0 insertions(+), 0 deletions(-) rename src/QueenZone.Data/{ => Articles}/ArticleItem.cs (100%) rename src/QueenZone.Data/{ => Articles}/ArticleItemOrdering.cs (100%) rename src/QueenZone.Data/{ => Articles}/ArticleSubmissionModels.cs (100%) rename src/QueenZone.Data/{ => Articles}/ArticleSubmissionStatus.cs (100%) rename src/QueenZone.Data/{ => Articles}/LegacyArticleText.cs (100%) rename src/QueenZone.Data/{ => Biography}/AdminBiographyDraft.cs (100%) rename src/QueenZone.Data/{ => Biography}/BiographyChapterItem.cs (100%) rename src/QueenZone.Data/{ => Biography}/BiographyChapterOrdering.cs (100%) rename src/QueenZone.Data/{ => Biography}/BiographyTitle.cs (100%) rename src/QueenZone.Data/{ => Biography}/BiographyValidation.cs (100%) rename src/QueenZone.Data/{ => Discography}/AlbumCoverUrl.cs (100%) rename src/QueenZone.Data/{ => Discography}/AlbumDetail.cs (100%) rename src/QueenZone.Data/{ => Discography}/AlbumSong.cs (100%) rename src/QueenZone.Data/{ => Discography}/AlbumSummary.cs (100%) rename src/QueenZone.Data/{ => Discography}/FanPerformance.cs (100%) rename src/QueenZone.Data/{ => Discography}/SongFileUrl.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumArchiveStats.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumAttachmentMerge.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumAttachmentModels.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumAttachmentPaths.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumCategoryItem.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumCategoryTopicsPage.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumDataOptions.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumOptions.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumPollModels.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumPostAttachment.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumPostEditRules.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumPostItem.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumRecentThreadItem.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumSearchPage.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumSearchResult.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumTopicHeader.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumTopicItem.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumTopicPostsPage.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumTopicSitemapItem.cs (100%) rename src/QueenZone.Data/{ => Forum}/ForumWriteModels.cs (100%) rename src/QueenZone.Data/{ => FreddieTribute}/AdminFreddieTributeModels.cs (100%) rename src/QueenZone.Data/{ => FreddieTribute}/FreddieTribute.cs (100%) rename src/QueenZone.Data/{ => FreddieTribute}/FreddieTributePage.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryCsvImportResult.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryCsvImportRow.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryCsvImporter.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryDatePrecision.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryEvent.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryEventCategory.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryEventOrdering.cs (100%) rename src/QueenZone.Data/{ => History}/QueenHistoryEventSourceType.cs (100%) rename src/QueenZone.Data/{ => Links}/QueenLink.cs (100%) rename src/QueenZone.Data/{ => Links}/QueenLinkCategory.cs (100%) rename src/QueenZone.Data/{ => Links}/QueenLinkCheckUpdate.cs (100%) rename src/QueenZone.Data/{ => Links}/QueenLinkValidationItem.cs (100%) rename src/QueenZone.Data/{ => Members}/LegacyMemberMatch.cs (100%) rename src/QueenZone.Data/{ => Members}/MemberAccountDeletionModels.cs (100%) rename src/QueenZone.Data/{ => Members}/MemberActivityModels.cs (100%) rename src/QueenZone.Data/{ => Members}/MemberPublicActivityModels.cs (100%) rename src/QueenZone.Data/{ => Members}/PrivateMessageModels.cs (100%) rename src/QueenZone.Data/{ => News}/AdminNewsArticle.cs (100%) rename src/QueenZone.Data/{ => News}/AdminNewsArticlePage.cs (100%) rename src/QueenZone.Data/{ => News}/AdminNewsDraft.cs (100%) rename src/QueenZone.Data/{ => News}/NewsAgentRunRequest.cs (100%) rename src/QueenZone.Data/{ => News}/NewsAiRunKind.cs (100%) rename src/QueenZone.Data/{ => News}/NewsAiRunStatus.cs (100%) rename src/QueenZone.Data/{ => News}/NewsAiStructuredDisplay.cs (100%) rename src/QueenZone.Data/{ => News}/NewsAuditEntry.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateDedupe.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateDuplicateRules.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateListQuery.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateListQueryDefaults.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateReviewListItem.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateReviewPage.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateReviewQuery.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateStatus.cs (100%) rename src/QueenZone.Data/{ => News}/NewsCandidateWorkflow.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryModels.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryPromoteAudit.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryPromoteDraft.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryProvenance.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryProvenanceBuilder.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoverySourceType.cs (100%) rename src/QueenZone.Data/{ => News}/NewsDiscoveryTrustTier.cs (100%) rename src/QueenZone.Data/{ => News}/NewsItem.cs (100%) rename src/QueenZone.Data/{ => News}/NewsItemOrdering.cs (100%) rename src/QueenZone.Data/{ => News}/NewsSearchPage.cs (100%) rename src/QueenZone.Data/{ => News}/NewsSlug.cs (100%) rename src/QueenZone.Data/{ => News}/NewsSuggestionModels.cs (100%) rename src/QueenZone.Data/{ => News}/NewsSuggestionPromoteDraft.cs (100%) rename src/QueenZone.Data/{ => News}/NewsSuggestionStatus.cs (100%) rename src/QueenZone.Data/{ => News}/NewsTableRowMapper.cs (100%) rename src/QueenZone.Data/{ => News}/NewsValidation.cs (100%) rename src/QueenZone.Data/{ => Photos}/AdminPhoto.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoCategory.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoCategoryPage.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoDimensionInventory.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoImageUrl.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoItem.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoLegacyPath.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoListFilter.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoSitemapCategory.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoSqlFilter.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoSubmission.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoSubmissionStatus.cs (100%) rename src/QueenZone.Data/{ => Photos}/PhotoSubmissionWorkflow.cs (100%) rename src/QueenZone.Data/{ => Search}/SearchDocumentText.cs (100%) rename src/QueenZone.Data/{ => Search}/SearchReindexRunRequest.cs (100%) rename src/QueenZone.Data/{ => Search}/SiteSearchContentType.cs (100%) rename src/QueenZone.Data/{ => Search}/SiteSearchPage.cs (100%) rename src/QueenZone.Data/{ => Search}/SiteSearchResult.cs (100%) rename src/QueenZone.Data/{ => Search}/SitemapContentEntry.cs (100%) rename src/QueenZone.Data/{ => Shared}/SubmissionContributor.cs (100%) rename src/QueenZone.Data/{ => Shared}/SubmissionListPage.cs (100%) rename src/QueenZone.Data/{ => Shared}/SubmissionTypeCounts.cs (100%) diff --git a/src/QueenZone.Data/ArticleItem.cs b/src/QueenZone.Data/Articles/ArticleItem.cs similarity index 100% rename from src/QueenZone.Data/ArticleItem.cs rename to src/QueenZone.Data/Articles/ArticleItem.cs diff --git a/src/QueenZone.Data/ArticleItemOrdering.cs b/src/QueenZone.Data/Articles/ArticleItemOrdering.cs similarity index 100% rename from src/QueenZone.Data/ArticleItemOrdering.cs rename to src/QueenZone.Data/Articles/ArticleItemOrdering.cs diff --git a/src/QueenZone.Data/ArticleSubmissionModels.cs b/src/QueenZone.Data/Articles/ArticleSubmissionModels.cs similarity index 100% rename from src/QueenZone.Data/ArticleSubmissionModels.cs rename to src/QueenZone.Data/Articles/ArticleSubmissionModels.cs diff --git a/src/QueenZone.Data/ArticleSubmissionStatus.cs b/src/QueenZone.Data/Articles/ArticleSubmissionStatus.cs similarity index 100% rename from src/QueenZone.Data/ArticleSubmissionStatus.cs rename to src/QueenZone.Data/Articles/ArticleSubmissionStatus.cs diff --git a/src/QueenZone.Data/LegacyArticleText.cs b/src/QueenZone.Data/Articles/LegacyArticleText.cs similarity index 100% rename from src/QueenZone.Data/LegacyArticleText.cs rename to src/QueenZone.Data/Articles/LegacyArticleText.cs diff --git a/src/QueenZone.Data/AdminBiographyDraft.cs b/src/QueenZone.Data/Biography/AdminBiographyDraft.cs similarity index 100% rename from src/QueenZone.Data/AdminBiographyDraft.cs rename to src/QueenZone.Data/Biography/AdminBiographyDraft.cs diff --git a/src/QueenZone.Data/BiographyChapterItem.cs b/src/QueenZone.Data/Biography/BiographyChapterItem.cs similarity index 100% rename from src/QueenZone.Data/BiographyChapterItem.cs rename to src/QueenZone.Data/Biography/BiographyChapterItem.cs diff --git a/src/QueenZone.Data/BiographyChapterOrdering.cs b/src/QueenZone.Data/Biography/BiographyChapterOrdering.cs similarity index 100% rename from src/QueenZone.Data/BiographyChapterOrdering.cs rename to src/QueenZone.Data/Biography/BiographyChapterOrdering.cs diff --git a/src/QueenZone.Data/BiographyTitle.cs b/src/QueenZone.Data/Biography/BiographyTitle.cs similarity index 100% rename from src/QueenZone.Data/BiographyTitle.cs rename to src/QueenZone.Data/Biography/BiographyTitle.cs diff --git a/src/QueenZone.Data/BiographyValidation.cs b/src/QueenZone.Data/Biography/BiographyValidation.cs similarity index 100% rename from src/QueenZone.Data/BiographyValidation.cs rename to src/QueenZone.Data/Biography/BiographyValidation.cs diff --git a/src/QueenZone.Data/AlbumCoverUrl.cs b/src/QueenZone.Data/Discography/AlbumCoverUrl.cs similarity index 100% rename from src/QueenZone.Data/AlbumCoverUrl.cs rename to src/QueenZone.Data/Discography/AlbumCoverUrl.cs diff --git a/src/QueenZone.Data/AlbumDetail.cs b/src/QueenZone.Data/Discography/AlbumDetail.cs similarity index 100% rename from src/QueenZone.Data/AlbumDetail.cs rename to src/QueenZone.Data/Discography/AlbumDetail.cs diff --git a/src/QueenZone.Data/AlbumSong.cs b/src/QueenZone.Data/Discography/AlbumSong.cs similarity index 100% rename from src/QueenZone.Data/AlbumSong.cs rename to src/QueenZone.Data/Discography/AlbumSong.cs diff --git a/src/QueenZone.Data/AlbumSummary.cs b/src/QueenZone.Data/Discography/AlbumSummary.cs similarity index 100% rename from src/QueenZone.Data/AlbumSummary.cs rename to src/QueenZone.Data/Discography/AlbumSummary.cs diff --git a/src/QueenZone.Data/FanPerformance.cs b/src/QueenZone.Data/Discography/FanPerformance.cs similarity index 100% rename from src/QueenZone.Data/FanPerformance.cs rename to src/QueenZone.Data/Discography/FanPerformance.cs diff --git a/src/QueenZone.Data/SongFileUrl.cs b/src/QueenZone.Data/Discography/SongFileUrl.cs similarity index 100% rename from src/QueenZone.Data/SongFileUrl.cs rename to src/QueenZone.Data/Discography/SongFileUrl.cs diff --git a/src/QueenZone.Data/ForumArchiveStats.cs b/src/QueenZone.Data/Forum/ForumArchiveStats.cs similarity index 100% rename from src/QueenZone.Data/ForumArchiveStats.cs rename to src/QueenZone.Data/Forum/ForumArchiveStats.cs diff --git a/src/QueenZone.Data/ForumAttachmentMerge.cs b/src/QueenZone.Data/Forum/ForumAttachmentMerge.cs similarity index 100% rename from src/QueenZone.Data/ForumAttachmentMerge.cs rename to src/QueenZone.Data/Forum/ForumAttachmentMerge.cs diff --git a/src/QueenZone.Data/ForumAttachmentModels.cs b/src/QueenZone.Data/Forum/ForumAttachmentModels.cs similarity index 100% rename from src/QueenZone.Data/ForumAttachmentModels.cs rename to src/QueenZone.Data/Forum/ForumAttachmentModels.cs diff --git a/src/QueenZone.Data/ForumAttachmentPaths.cs b/src/QueenZone.Data/Forum/ForumAttachmentPaths.cs similarity index 100% rename from src/QueenZone.Data/ForumAttachmentPaths.cs rename to src/QueenZone.Data/Forum/ForumAttachmentPaths.cs diff --git a/src/QueenZone.Data/ForumCategoryItem.cs b/src/QueenZone.Data/Forum/ForumCategoryItem.cs similarity index 100% rename from src/QueenZone.Data/ForumCategoryItem.cs rename to src/QueenZone.Data/Forum/ForumCategoryItem.cs diff --git a/src/QueenZone.Data/ForumCategoryTopicsPage.cs b/src/QueenZone.Data/Forum/ForumCategoryTopicsPage.cs similarity index 100% rename from src/QueenZone.Data/ForumCategoryTopicsPage.cs rename to src/QueenZone.Data/Forum/ForumCategoryTopicsPage.cs diff --git a/src/QueenZone.Data/ForumDataOptions.cs b/src/QueenZone.Data/Forum/ForumDataOptions.cs similarity index 100% rename from src/QueenZone.Data/ForumDataOptions.cs rename to src/QueenZone.Data/Forum/ForumDataOptions.cs diff --git a/src/QueenZone.Data/ForumOptions.cs b/src/QueenZone.Data/Forum/ForumOptions.cs similarity index 100% rename from src/QueenZone.Data/ForumOptions.cs rename to src/QueenZone.Data/Forum/ForumOptions.cs diff --git a/src/QueenZone.Data/ForumPollModels.cs b/src/QueenZone.Data/Forum/ForumPollModels.cs similarity index 100% rename from src/QueenZone.Data/ForumPollModels.cs rename to src/QueenZone.Data/Forum/ForumPollModels.cs diff --git a/src/QueenZone.Data/ForumPostAttachment.cs b/src/QueenZone.Data/Forum/ForumPostAttachment.cs similarity index 100% rename from src/QueenZone.Data/ForumPostAttachment.cs rename to src/QueenZone.Data/Forum/ForumPostAttachment.cs diff --git a/src/QueenZone.Data/ForumPostEditRules.cs b/src/QueenZone.Data/Forum/ForumPostEditRules.cs similarity index 100% rename from src/QueenZone.Data/ForumPostEditRules.cs rename to src/QueenZone.Data/Forum/ForumPostEditRules.cs diff --git a/src/QueenZone.Data/ForumPostItem.cs b/src/QueenZone.Data/Forum/ForumPostItem.cs similarity index 100% rename from src/QueenZone.Data/ForumPostItem.cs rename to src/QueenZone.Data/Forum/ForumPostItem.cs diff --git a/src/QueenZone.Data/ForumRecentThreadItem.cs b/src/QueenZone.Data/Forum/ForumRecentThreadItem.cs similarity index 100% rename from src/QueenZone.Data/ForumRecentThreadItem.cs rename to src/QueenZone.Data/Forum/ForumRecentThreadItem.cs diff --git a/src/QueenZone.Data/ForumSearchPage.cs b/src/QueenZone.Data/Forum/ForumSearchPage.cs similarity index 100% rename from src/QueenZone.Data/ForumSearchPage.cs rename to src/QueenZone.Data/Forum/ForumSearchPage.cs diff --git a/src/QueenZone.Data/ForumSearchResult.cs b/src/QueenZone.Data/Forum/ForumSearchResult.cs similarity index 100% rename from src/QueenZone.Data/ForumSearchResult.cs rename to src/QueenZone.Data/Forum/ForumSearchResult.cs diff --git a/src/QueenZone.Data/ForumTopicHeader.cs b/src/QueenZone.Data/Forum/ForumTopicHeader.cs similarity index 100% rename from src/QueenZone.Data/ForumTopicHeader.cs rename to src/QueenZone.Data/Forum/ForumTopicHeader.cs diff --git a/src/QueenZone.Data/ForumTopicItem.cs b/src/QueenZone.Data/Forum/ForumTopicItem.cs similarity index 100% rename from src/QueenZone.Data/ForumTopicItem.cs rename to src/QueenZone.Data/Forum/ForumTopicItem.cs diff --git a/src/QueenZone.Data/ForumTopicPostsPage.cs b/src/QueenZone.Data/Forum/ForumTopicPostsPage.cs similarity index 100% rename from src/QueenZone.Data/ForumTopicPostsPage.cs rename to src/QueenZone.Data/Forum/ForumTopicPostsPage.cs diff --git a/src/QueenZone.Data/ForumTopicSitemapItem.cs b/src/QueenZone.Data/Forum/ForumTopicSitemapItem.cs similarity index 100% rename from src/QueenZone.Data/ForumTopicSitemapItem.cs rename to src/QueenZone.Data/Forum/ForumTopicSitemapItem.cs diff --git a/src/QueenZone.Data/ForumWriteModels.cs b/src/QueenZone.Data/Forum/ForumWriteModels.cs similarity index 100% rename from src/QueenZone.Data/ForumWriteModels.cs rename to src/QueenZone.Data/Forum/ForumWriteModels.cs diff --git a/src/QueenZone.Data/AdminFreddieTributeModels.cs b/src/QueenZone.Data/FreddieTribute/AdminFreddieTributeModels.cs similarity index 100% rename from src/QueenZone.Data/AdminFreddieTributeModels.cs rename to src/QueenZone.Data/FreddieTribute/AdminFreddieTributeModels.cs diff --git a/src/QueenZone.Data/FreddieTribute.cs b/src/QueenZone.Data/FreddieTribute/FreddieTribute.cs similarity index 100% rename from src/QueenZone.Data/FreddieTribute.cs rename to src/QueenZone.Data/FreddieTribute/FreddieTribute.cs diff --git a/src/QueenZone.Data/FreddieTributePage.cs b/src/QueenZone.Data/FreddieTribute/FreddieTributePage.cs similarity index 100% rename from src/QueenZone.Data/FreddieTributePage.cs rename to src/QueenZone.Data/FreddieTribute/FreddieTributePage.cs diff --git a/src/QueenZone.Data/QueenHistoryCsvImportResult.cs b/src/QueenZone.Data/History/QueenHistoryCsvImportResult.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryCsvImportResult.cs rename to src/QueenZone.Data/History/QueenHistoryCsvImportResult.cs diff --git a/src/QueenZone.Data/QueenHistoryCsvImportRow.cs b/src/QueenZone.Data/History/QueenHistoryCsvImportRow.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryCsvImportRow.cs rename to src/QueenZone.Data/History/QueenHistoryCsvImportRow.cs diff --git a/src/QueenZone.Data/QueenHistoryCsvImporter.cs b/src/QueenZone.Data/History/QueenHistoryCsvImporter.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryCsvImporter.cs rename to src/QueenZone.Data/History/QueenHistoryCsvImporter.cs diff --git a/src/QueenZone.Data/QueenHistoryDatePrecision.cs b/src/QueenZone.Data/History/QueenHistoryDatePrecision.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryDatePrecision.cs rename to src/QueenZone.Data/History/QueenHistoryDatePrecision.cs diff --git a/src/QueenZone.Data/QueenHistoryEvent.cs b/src/QueenZone.Data/History/QueenHistoryEvent.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryEvent.cs rename to src/QueenZone.Data/History/QueenHistoryEvent.cs diff --git a/src/QueenZone.Data/QueenHistoryEventCategory.cs b/src/QueenZone.Data/History/QueenHistoryEventCategory.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryEventCategory.cs rename to src/QueenZone.Data/History/QueenHistoryEventCategory.cs diff --git a/src/QueenZone.Data/QueenHistoryEventOrdering.cs b/src/QueenZone.Data/History/QueenHistoryEventOrdering.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryEventOrdering.cs rename to src/QueenZone.Data/History/QueenHistoryEventOrdering.cs diff --git a/src/QueenZone.Data/QueenHistoryEventSourceType.cs b/src/QueenZone.Data/History/QueenHistoryEventSourceType.cs similarity index 100% rename from src/QueenZone.Data/QueenHistoryEventSourceType.cs rename to src/QueenZone.Data/History/QueenHistoryEventSourceType.cs diff --git a/src/QueenZone.Data/QueenLink.cs b/src/QueenZone.Data/Links/QueenLink.cs similarity index 100% rename from src/QueenZone.Data/QueenLink.cs rename to src/QueenZone.Data/Links/QueenLink.cs diff --git a/src/QueenZone.Data/QueenLinkCategory.cs b/src/QueenZone.Data/Links/QueenLinkCategory.cs similarity index 100% rename from src/QueenZone.Data/QueenLinkCategory.cs rename to src/QueenZone.Data/Links/QueenLinkCategory.cs diff --git a/src/QueenZone.Data/QueenLinkCheckUpdate.cs b/src/QueenZone.Data/Links/QueenLinkCheckUpdate.cs similarity index 100% rename from src/QueenZone.Data/QueenLinkCheckUpdate.cs rename to src/QueenZone.Data/Links/QueenLinkCheckUpdate.cs diff --git a/src/QueenZone.Data/QueenLinkValidationItem.cs b/src/QueenZone.Data/Links/QueenLinkValidationItem.cs similarity index 100% rename from src/QueenZone.Data/QueenLinkValidationItem.cs rename to src/QueenZone.Data/Links/QueenLinkValidationItem.cs diff --git a/src/QueenZone.Data/LegacyMemberMatch.cs b/src/QueenZone.Data/Members/LegacyMemberMatch.cs similarity index 100% rename from src/QueenZone.Data/LegacyMemberMatch.cs rename to src/QueenZone.Data/Members/LegacyMemberMatch.cs diff --git a/src/QueenZone.Data/MemberAccountDeletionModels.cs b/src/QueenZone.Data/Members/MemberAccountDeletionModels.cs similarity index 100% rename from src/QueenZone.Data/MemberAccountDeletionModels.cs rename to src/QueenZone.Data/Members/MemberAccountDeletionModels.cs diff --git a/src/QueenZone.Data/MemberActivityModels.cs b/src/QueenZone.Data/Members/MemberActivityModels.cs similarity index 100% rename from src/QueenZone.Data/MemberActivityModels.cs rename to src/QueenZone.Data/Members/MemberActivityModels.cs diff --git a/src/QueenZone.Data/MemberPublicActivityModels.cs b/src/QueenZone.Data/Members/MemberPublicActivityModels.cs similarity index 100% rename from src/QueenZone.Data/MemberPublicActivityModels.cs rename to src/QueenZone.Data/Members/MemberPublicActivityModels.cs diff --git a/src/QueenZone.Data/PrivateMessageModels.cs b/src/QueenZone.Data/Members/PrivateMessageModels.cs similarity index 100% rename from src/QueenZone.Data/PrivateMessageModels.cs rename to src/QueenZone.Data/Members/PrivateMessageModels.cs diff --git a/src/QueenZone.Data/AdminNewsArticle.cs b/src/QueenZone.Data/News/AdminNewsArticle.cs similarity index 100% rename from src/QueenZone.Data/AdminNewsArticle.cs rename to src/QueenZone.Data/News/AdminNewsArticle.cs diff --git a/src/QueenZone.Data/AdminNewsArticlePage.cs b/src/QueenZone.Data/News/AdminNewsArticlePage.cs similarity index 100% rename from src/QueenZone.Data/AdminNewsArticlePage.cs rename to src/QueenZone.Data/News/AdminNewsArticlePage.cs diff --git a/src/QueenZone.Data/AdminNewsDraft.cs b/src/QueenZone.Data/News/AdminNewsDraft.cs similarity index 100% rename from src/QueenZone.Data/AdminNewsDraft.cs rename to src/QueenZone.Data/News/AdminNewsDraft.cs diff --git a/src/QueenZone.Data/NewsAgentRunRequest.cs b/src/QueenZone.Data/News/NewsAgentRunRequest.cs similarity index 100% rename from src/QueenZone.Data/NewsAgentRunRequest.cs rename to src/QueenZone.Data/News/NewsAgentRunRequest.cs diff --git a/src/QueenZone.Data/NewsAiRunKind.cs b/src/QueenZone.Data/News/NewsAiRunKind.cs similarity index 100% rename from src/QueenZone.Data/NewsAiRunKind.cs rename to src/QueenZone.Data/News/NewsAiRunKind.cs diff --git a/src/QueenZone.Data/NewsAiRunStatus.cs b/src/QueenZone.Data/News/NewsAiRunStatus.cs similarity index 100% rename from src/QueenZone.Data/NewsAiRunStatus.cs rename to src/QueenZone.Data/News/NewsAiRunStatus.cs diff --git a/src/QueenZone.Data/NewsAiStructuredDisplay.cs b/src/QueenZone.Data/News/NewsAiStructuredDisplay.cs similarity index 100% rename from src/QueenZone.Data/NewsAiStructuredDisplay.cs rename to src/QueenZone.Data/News/NewsAiStructuredDisplay.cs diff --git a/src/QueenZone.Data/NewsAuditEntry.cs b/src/QueenZone.Data/News/NewsAuditEntry.cs similarity index 100% rename from src/QueenZone.Data/NewsAuditEntry.cs rename to src/QueenZone.Data/News/NewsAuditEntry.cs diff --git a/src/QueenZone.Data/NewsCandidateDedupe.cs b/src/QueenZone.Data/News/NewsCandidateDedupe.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateDedupe.cs rename to src/QueenZone.Data/News/NewsCandidateDedupe.cs diff --git a/src/QueenZone.Data/NewsCandidateDuplicateRules.cs b/src/QueenZone.Data/News/NewsCandidateDuplicateRules.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateDuplicateRules.cs rename to src/QueenZone.Data/News/NewsCandidateDuplicateRules.cs diff --git a/src/QueenZone.Data/NewsCandidateListQuery.cs b/src/QueenZone.Data/News/NewsCandidateListQuery.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateListQuery.cs rename to src/QueenZone.Data/News/NewsCandidateListQuery.cs diff --git a/src/QueenZone.Data/NewsCandidateListQueryDefaults.cs b/src/QueenZone.Data/News/NewsCandidateListQueryDefaults.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateListQueryDefaults.cs rename to src/QueenZone.Data/News/NewsCandidateListQueryDefaults.cs diff --git a/src/QueenZone.Data/NewsCandidateReviewListItem.cs b/src/QueenZone.Data/News/NewsCandidateReviewListItem.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateReviewListItem.cs rename to src/QueenZone.Data/News/NewsCandidateReviewListItem.cs diff --git a/src/QueenZone.Data/NewsCandidateReviewPage.cs b/src/QueenZone.Data/News/NewsCandidateReviewPage.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateReviewPage.cs rename to src/QueenZone.Data/News/NewsCandidateReviewPage.cs diff --git a/src/QueenZone.Data/NewsCandidateReviewQuery.cs b/src/QueenZone.Data/News/NewsCandidateReviewQuery.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateReviewQuery.cs rename to src/QueenZone.Data/News/NewsCandidateReviewQuery.cs diff --git a/src/QueenZone.Data/NewsCandidateStatus.cs b/src/QueenZone.Data/News/NewsCandidateStatus.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateStatus.cs rename to src/QueenZone.Data/News/NewsCandidateStatus.cs diff --git a/src/QueenZone.Data/NewsCandidateWorkflow.cs b/src/QueenZone.Data/News/NewsCandidateWorkflow.cs similarity index 100% rename from src/QueenZone.Data/NewsCandidateWorkflow.cs rename to src/QueenZone.Data/News/NewsCandidateWorkflow.cs diff --git a/src/QueenZone.Data/NewsDiscoveryModels.cs b/src/QueenZone.Data/News/NewsDiscoveryModels.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryModels.cs rename to src/QueenZone.Data/News/NewsDiscoveryModels.cs diff --git a/src/QueenZone.Data/NewsDiscoveryPromoteAudit.cs b/src/QueenZone.Data/News/NewsDiscoveryPromoteAudit.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryPromoteAudit.cs rename to src/QueenZone.Data/News/NewsDiscoveryPromoteAudit.cs diff --git a/src/QueenZone.Data/NewsDiscoveryPromoteDraft.cs b/src/QueenZone.Data/News/NewsDiscoveryPromoteDraft.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryPromoteDraft.cs rename to src/QueenZone.Data/News/NewsDiscoveryPromoteDraft.cs diff --git a/src/QueenZone.Data/NewsDiscoveryProvenance.cs b/src/QueenZone.Data/News/NewsDiscoveryProvenance.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryProvenance.cs rename to src/QueenZone.Data/News/NewsDiscoveryProvenance.cs diff --git a/src/QueenZone.Data/NewsDiscoveryProvenanceBuilder.cs b/src/QueenZone.Data/News/NewsDiscoveryProvenanceBuilder.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryProvenanceBuilder.cs rename to src/QueenZone.Data/News/NewsDiscoveryProvenanceBuilder.cs diff --git a/src/QueenZone.Data/NewsDiscoverySourceType.cs b/src/QueenZone.Data/News/NewsDiscoverySourceType.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoverySourceType.cs rename to src/QueenZone.Data/News/NewsDiscoverySourceType.cs diff --git a/src/QueenZone.Data/NewsDiscoveryTrustTier.cs b/src/QueenZone.Data/News/NewsDiscoveryTrustTier.cs similarity index 100% rename from src/QueenZone.Data/NewsDiscoveryTrustTier.cs rename to src/QueenZone.Data/News/NewsDiscoveryTrustTier.cs diff --git a/src/QueenZone.Data/NewsItem.cs b/src/QueenZone.Data/News/NewsItem.cs similarity index 100% rename from src/QueenZone.Data/NewsItem.cs rename to src/QueenZone.Data/News/NewsItem.cs diff --git a/src/QueenZone.Data/NewsItemOrdering.cs b/src/QueenZone.Data/News/NewsItemOrdering.cs similarity index 100% rename from src/QueenZone.Data/NewsItemOrdering.cs rename to src/QueenZone.Data/News/NewsItemOrdering.cs diff --git a/src/QueenZone.Data/NewsSearchPage.cs b/src/QueenZone.Data/News/NewsSearchPage.cs similarity index 100% rename from src/QueenZone.Data/NewsSearchPage.cs rename to src/QueenZone.Data/News/NewsSearchPage.cs diff --git a/src/QueenZone.Data/NewsSlug.cs b/src/QueenZone.Data/News/NewsSlug.cs similarity index 100% rename from src/QueenZone.Data/NewsSlug.cs rename to src/QueenZone.Data/News/NewsSlug.cs diff --git a/src/QueenZone.Data/NewsSuggestionModels.cs b/src/QueenZone.Data/News/NewsSuggestionModels.cs similarity index 100% rename from src/QueenZone.Data/NewsSuggestionModels.cs rename to src/QueenZone.Data/News/NewsSuggestionModels.cs diff --git a/src/QueenZone.Data/NewsSuggestionPromoteDraft.cs b/src/QueenZone.Data/News/NewsSuggestionPromoteDraft.cs similarity index 100% rename from src/QueenZone.Data/NewsSuggestionPromoteDraft.cs rename to src/QueenZone.Data/News/NewsSuggestionPromoteDraft.cs diff --git a/src/QueenZone.Data/NewsSuggestionStatus.cs b/src/QueenZone.Data/News/NewsSuggestionStatus.cs similarity index 100% rename from src/QueenZone.Data/NewsSuggestionStatus.cs rename to src/QueenZone.Data/News/NewsSuggestionStatus.cs diff --git a/src/QueenZone.Data/NewsTableRowMapper.cs b/src/QueenZone.Data/News/NewsTableRowMapper.cs similarity index 100% rename from src/QueenZone.Data/NewsTableRowMapper.cs rename to src/QueenZone.Data/News/NewsTableRowMapper.cs diff --git a/src/QueenZone.Data/NewsValidation.cs b/src/QueenZone.Data/News/NewsValidation.cs similarity index 100% rename from src/QueenZone.Data/NewsValidation.cs rename to src/QueenZone.Data/News/NewsValidation.cs diff --git a/src/QueenZone.Data/AdminPhoto.cs b/src/QueenZone.Data/Photos/AdminPhoto.cs similarity index 100% rename from src/QueenZone.Data/AdminPhoto.cs rename to src/QueenZone.Data/Photos/AdminPhoto.cs diff --git a/src/QueenZone.Data/PhotoCategory.cs b/src/QueenZone.Data/Photos/PhotoCategory.cs similarity index 100% rename from src/QueenZone.Data/PhotoCategory.cs rename to src/QueenZone.Data/Photos/PhotoCategory.cs diff --git a/src/QueenZone.Data/PhotoCategoryPage.cs b/src/QueenZone.Data/Photos/PhotoCategoryPage.cs similarity index 100% rename from src/QueenZone.Data/PhotoCategoryPage.cs rename to src/QueenZone.Data/Photos/PhotoCategoryPage.cs diff --git a/src/QueenZone.Data/PhotoDimensionInventory.cs b/src/QueenZone.Data/Photos/PhotoDimensionInventory.cs similarity index 100% rename from src/QueenZone.Data/PhotoDimensionInventory.cs rename to src/QueenZone.Data/Photos/PhotoDimensionInventory.cs diff --git a/src/QueenZone.Data/PhotoImageUrl.cs b/src/QueenZone.Data/Photos/PhotoImageUrl.cs similarity index 100% rename from src/QueenZone.Data/PhotoImageUrl.cs rename to src/QueenZone.Data/Photos/PhotoImageUrl.cs diff --git a/src/QueenZone.Data/PhotoItem.cs b/src/QueenZone.Data/Photos/PhotoItem.cs similarity index 100% rename from src/QueenZone.Data/PhotoItem.cs rename to src/QueenZone.Data/Photos/PhotoItem.cs diff --git a/src/QueenZone.Data/PhotoLegacyPath.cs b/src/QueenZone.Data/Photos/PhotoLegacyPath.cs similarity index 100% rename from src/QueenZone.Data/PhotoLegacyPath.cs rename to src/QueenZone.Data/Photos/PhotoLegacyPath.cs diff --git a/src/QueenZone.Data/PhotoListFilter.cs b/src/QueenZone.Data/Photos/PhotoListFilter.cs similarity index 100% rename from src/QueenZone.Data/PhotoListFilter.cs rename to src/QueenZone.Data/Photos/PhotoListFilter.cs diff --git a/src/QueenZone.Data/PhotoSitemapCategory.cs b/src/QueenZone.Data/Photos/PhotoSitemapCategory.cs similarity index 100% rename from src/QueenZone.Data/PhotoSitemapCategory.cs rename to src/QueenZone.Data/Photos/PhotoSitemapCategory.cs diff --git a/src/QueenZone.Data/PhotoSqlFilter.cs b/src/QueenZone.Data/Photos/PhotoSqlFilter.cs similarity index 100% rename from src/QueenZone.Data/PhotoSqlFilter.cs rename to src/QueenZone.Data/Photos/PhotoSqlFilter.cs diff --git a/src/QueenZone.Data/PhotoSubmission.cs b/src/QueenZone.Data/Photos/PhotoSubmission.cs similarity index 100% rename from src/QueenZone.Data/PhotoSubmission.cs rename to src/QueenZone.Data/Photos/PhotoSubmission.cs diff --git a/src/QueenZone.Data/PhotoSubmissionStatus.cs b/src/QueenZone.Data/Photos/PhotoSubmissionStatus.cs similarity index 100% rename from src/QueenZone.Data/PhotoSubmissionStatus.cs rename to src/QueenZone.Data/Photos/PhotoSubmissionStatus.cs diff --git a/src/QueenZone.Data/PhotoSubmissionWorkflow.cs b/src/QueenZone.Data/Photos/PhotoSubmissionWorkflow.cs similarity index 100% rename from src/QueenZone.Data/PhotoSubmissionWorkflow.cs rename to src/QueenZone.Data/Photos/PhotoSubmissionWorkflow.cs diff --git a/src/QueenZone.Data/SearchDocumentText.cs b/src/QueenZone.Data/Search/SearchDocumentText.cs similarity index 100% rename from src/QueenZone.Data/SearchDocumentText.cs rename to src/QueenZone.Data/Search/SearchDocumentText.cs diff --git a/src/QueenZone.Data/SearchReindexRunRequest.cs b/src/QueenZone.Data/Search/SearchReindexRunRequest.cs similarity index 100% rename from src/QueenZone.Data/SearchReindexRunRequest.cs rename to src/QueenZone.Data/Search/SearchReindexRunRequest.cs diff --git a/src/QueenZone.Data/SiteSearchContentType.cs b/src/QueenZone.Data/Search/SiteSearchContentType.cs similarity index 100% rename from src/QueenZone.Data/SiteSearchContentType.cs rename to src/QueenZone.Data/Search/SiteSearchContentType.cs diff --git a/src/QueenZone.Data/SiteSearchPage.cs b/src/QueenZone.Data/Search/SiteSearchPage.cs similarity index 100% rename from src/QueenZone.Data/SiteSearchPage.cs rename to src/QueenZone.Data/Search/SiteSearchPage.cs diff --git a/src/QueenZone.Data/SiteSearchResult.cs b/src/QueenZone.Data/Search/SiteSearchResult.cs similarity index 100% rename from src/QueenZone.Data/SiteSearchResult.cs rename to src/QueenZone.Data/Search/SiteSearchResult.cs diff --git a/src/QueenZone.Data/SitemapContentEntry.cs b/src/QueenZone.Data/Search/SitemapContentEntry.cs similarity index 100% rename from src/QueenZone.Data/SitemapContentEntry.cs rename to src/QueenZone.Data/Search/SitemapContentEntry.cs diff --git a/src/QueenZone.Data/SubmissionContributor.cs b/src/QueenZone.Data/Shared/SubmissionContributor.cs similarity index 100% rename from src/QueenZone.Data/SubmissionContributor.cs rename to src/QueenZone.Data/Shared/SubmissionContributor.cs diff --git a/src/QueenZone.Data/SubmissionListPage.cs b/src/QueenZone.Data/Shared/SubmissionListPage.cs similarity index 100% rename from src/QueenZone.Data/SubmissionListPage.cs rename to src/QueenZone.Data/Shared/SubmissionListPage.cs diff --git a/src/QueenZone.Data/SubmissionTypeCounts.cs b/src/QueenZone.Data/Shared/SubmissionTypeCounts.cs similarity index 100% rename from src/QueenZone.Data/SubmissionTypeCounts.cs rename to src/QueenZone.Data/Shared/SubmissionTypeCounts.cs