ghost 6.11.0 → 6.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-i18n-6.12.0.tgz +0 -0
- package/core/boot.js +4 -2
- package/core/built/admin/assets/{_baseAssignValue-BX8EallQ.js → _baseAssignValue-hsL6ItjC.js} +1 -1
- package/core/built/admin/assets/{a-large-small-CKZJgscl.js → a-large-small-BPPu_Iy7.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-n8DFeXbv.mjs → code-editor-view-Bq6l5arq.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-v6qQgUXt.mjs → index-CKaxer_o.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-CXL12uvO.mjs → index-CtYEAgeN.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-D4ye6uvI.mjs → index-D4NstoNQ.mjs} +11 -6
- package/core/built/admin/assets/admin-x-settings/{modals-CdsPaTfy.mjs → modals-BzljHVa7.mjs} +2 -2
- package/core/built/admin/assets/{at-sign-CqQzllfI.js → at-sign-CYnGzOFc.js} +1 -1
- package/core/built/admin/assets/{audience-select-DQD7iDOb.js → audience-select-DYoxiiwy.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-uq7ptTxT.js → avatar-flipboard-C9-npfmZ.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-qyIGv6Ny.js → bluesky-sharing-BGcmGcee.js} +1 -1
- package/core/built/admin/assets/{chart-DGA1MaFs.js → chart-CqJxisVP.js} +1 -1
- package/core/built/admin/assets/{chunk.524.1289543297329587cf8a.js → chunk.524.74a9629dd2ba0d21bbef.js} +7 -7
- package/core/built/admin/assets/{chunk.582.344ea0d0a16d671345cd.js → chunk.582.3846471396b3a7c46e66.js} +8 -8
- package/core/built/admin/assets/{code-editor-view-Bz6kXDiv.js → code-editor-view-C8l3gNnO.js} +1 -1
- package/core/built/admin/assets/{comments-C-lkEDkz.js → comments-CpHDoxov.js} +1 -1
- package/core/built/admin/assets/{copy-BFuV16bY.js → copy-DWiB-781.js} +1 -1
- package/core/built/admin/assets/{data-list-Bw1CQEZ9.js → data-list-yngXNZDF.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-CmNbSYiO.js → deleted-feed-item-C0FcyLMN.js} +1 -1
- package/core/built/admin/assets/{edit-profile-DlIPB2km.js → edit-profile-BjtDkDAq.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-DBrIZcFq.js → empty-indicator-BXWniwsl.js} +1 -1
- package/core/built/admin/assets/{en-BBc7b85q.js → en-B8qaJx-T.js} +1 -1
- package/core/built/admin/assets/{feed-B3XQzKZl.js → feed-DsCVb1SA.js} +1 -1
- package/core/built/admin/assets/{filters-DUFXZZnu.js → filters-jAXQSPq6.js} +1 -1
- package/core/built/admin/assets/{gh-chart-BV97-O7c.js → gh-chart-DwTCK8z_.js} +1 -1
- package/core/built/admin/assets/{ghost-9aa1e7c5992f122dba6932af78bf8e56.js → ghost-6367d022df9db9dacbcb9bfa30232ec7.js} +2 -2
- package/core/built/admin/assets/{growth-njR0GqK2.js → growth-DshcRqda.js} +1 -1
- package/core/built/admin/assets/{hash-CdH0ikFp.js → hash-p9dv0yuc.js} +1 -1
- package/core/built/admin/assets/{inbox-Bd0uf1Ez.js → inbox-CRoP9sy5.js} +1 -1
- package/core/built/admin/assets/{index-Kji6JKl7.js → index-6syrC9X1.js} +1 -1
- package/core/built/admin/assets/{index-C7M19LpB.js → index-BKtz3UH0.js} +1 -1
- package/core/built/admin/assets/{index-DWk7hKRR.js → index-BwY94Fb4.js} +1 -1
- package/core/built/admin/assets/{index-BFhECYgc.js → index-C3DF6aFe.js} +1 -1
- package/core/built/admin/assets/index-C6NCNp1B.js +1 -0
- package/core/built/admin/assets/{index-BYawr8p9.js → index-CJU9a2PB.js} +3 -3
- package/core/built/admin/assets/{index-CIE2_z5J.js → index-CUWE7aD1.js} +1 -1
- package/core/built/admin/assets/{index-DgRIbSpg.js → index-CuQ_II0e.js} +1 -1
- package/core/built/admin/assets/{index-Birw80cQ.js → index-DG8f-HuU.js} +1 -1
- package/core/built/admin/assets/{index-DziHC2du.js → index-DItZTRQ4.js} +1 -1
- package/core/built/admin/assets/{index-DG53N3Xt.js → index-eLx96SEn.js} +1 -1
- package/core/built/admin/assets/{index-DCw6JaEl.js → index-j2_Q-_8H.js} +1 -1
- package/core/built/admin/assets/{index-BZ21H0xH.js → index-qWpHJAMP.js} +1 -1
- package/core/built/admin/assets/{index-DXCu9e7c.js → index-sy6xRtoO.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-BDJVCHtm.js → koenig-lexical-DgAlBHHS.js} +1 -1
- package/core/built/admin/assets/{kpi-card-cv8roErt.js → kpi-card-CHZSLw4p.js} +1 -1
- package/core/built/admin/assets/{kpis-Dt4OFY3L.js → kpis-DzbAHfKK.js} +1 -1
- package/core/built/admin/assets/{links-08beB3Ij.js → links-BQHRbn46.js} +1 -1
- package/core/built/admin/assets/{lucide-react-DKlmxVQI.js → lucide-react-B7UnD_Dp.js} +1 -1
- package/core/built/admin/assets/{main-layout-Cl09wG7F.js → main-layout-9nmU5WlG.js} +1 -1
- package/core/built/admin/assets/{message-square-text-CaMVBVPr.js → message-square-text-CS3iRuPc.js} +1 -1
- package/core/built/admin/assets/{minus-2XwCoFJV.js → minus-emzwh6hq.js} +1 -1
- package/core/built/admin/assets/{modals-CIgzYQgv.js → modals-CumFuZ2d.js} +1 -1
- package/core/built/admin/assets/{moderation-FjlsSym6.js → moderation-DyfFc9m4.js} +1 -1
- package/core/built/admin/assets/{newsletter-BNOwZNlE.js → newsletter-BWul5IFc.js} +1 -1
- package/core/built/admin/assets/{newsletters-DUusEYSg.js → newsletters-N6bwI1OF.js} +1 -1
- package/core/built/admin/assets/{note-BpYwIDK6.js → note-CiBzkHzz.js} +1 -1
- package/core/built/admin/assets/{overview-Y5QYPClr.js → overview-D9gRvn7X.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BMXHDXYy.js → pagemenu-aHubMPwB.js} +1 -1
- package/core/built/admin/assets/{post-analytics-UerFnJse.js → post-analytics-Bm9xH8nA.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-geHk7rOj.js → post-analytics-context-C7oW3aBz.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-DXfc4KeX.js → post-analytics-header-BjGFgN6A.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Dql4fYjR.js → post-share-modal-Su923uIc.js} +1 -1
- package/core/built/admin/assets/{posts-Bsvw11Zo.js → posts-BwP7BNcB.js} +1 -1
- package/core/built/admin/assets/{referrers-B8xJpCcR.js → referrers-n_ln9DqI.js} +1 -1
- package/core/built/admin/assets/{repeat-COP-3g8d.js → repeat-ms5ocvE0.js} +1 -1
- package/core/built/admin/assets/{reply-JE8tmvOn.js → reply-BvO85IDn.js} +1 -1
- package/core/built/admin/assets/{select-BhvNY3I-.js → select-B4QhMW5f.js} +1 -1
- package/core/built/admin/assets/{settings-BJwVfuWG.js → settings-D5rGcWJ7.js} +4 -4
- package/core/built/admin/assets/{settings-C6ZUZQe4.js → settings-QtZ6a2TL.js} +1 -1
- package/core/built/admin/assets/{sort-button-iOtR-vQ1.js → sort-button-84sYUZMN.js} +1 -1
- package/core/built/admin/assets/{source-icon-C2iFWMlV.js → source-icon-Bzw-AU8p.js} +1 -1
- package/core/built/admin/assets/{sprout-BW9HFVU8.js → sprout-C2R5CbXV.js} +1 -1
- package/core/built/admin/assets/{square-BCNGSZhW.js → square-DT1uWkxs.js} +1 -1
- package/core/built/admin/assets/stats/{audience-select-DNAWmT7R.mjs → audience-select-fTCiZ9MT.mjs} +3 -3
- package/core/built/admin/assets/stats/{index-DbGvSTMe.mjs → index-BKgioyC7.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-s19ZmxbX.mjs → index-CR2t5Xd-.mjs} +5 -5
- package/core/built/admin/assets/stats/index-DEkYwR7C.mjs +739 -0
- package/core/built/admin/assets/stats/{index-BS3KMSy9.mjs → index-Djwey97a.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-MOQSSYwT.mjs → index-FiU_XgEe.mjs} +6 -6
- package/core/built/admin/assets/stats/{sort-button-D76rcldr.mjs → sort-button-Bvi1wfa7.mjs} +3 -3
- package/core/built/admin/assets/stats/{stats-CJ7fhUyT.mjs → stats-Bbm6yWZq.mjs} +2 -2
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-CkbxYgOE.mjs → tabs-BKwH5k-q.mjs} +3 -3
- package/core/built/admin/assets/stats/{url-helpers-DICtqCrE.mjs → url-helpers-DmHnUIGc.mjs} +9 -9
- package/core/built/admin/assets/stats/{use-growth-stats-DzO7zEy4.mjs → use-growth-stats-BVj3j1hb.mjs} +3 -3
- package/core/built/admin/assets/{stats-r0Bphuvi.js → stats-B1mhlQSp.js} +1 -1
- package/core/built/admin/assets/{stats-view-DzZxrBDz.js → stats-view-C6MTCwRW.js} +1 -1
- package/core/built/admin/assets/{step-1-CUoUOyMm.js → step-1-CzQmZJ93.js} +1 -1
- package/core/built/admin/assets/{step-2-CpAkPD8D.js → step-2-DXGDWSQo.js} +1 -1
- package/core/built/admin/assets/{step-3-Ci6oJDmK.js → step-3-CYuxXKac.js} +1 -1
- package/core/built/admin/assets/{table-DeBuf80X.js → table-mjAkKNdb.js} +1 -1
- package/core/built/admin/assets/{tabs-C2sFfNcp.js → tabs-BwQ-i6MY.js} +1 -1
- package/core/built/admin/assets/{tags-Bl6G5rvf.js → tags-BkUqCuvX.js} +1 -1
- package/core/built/admin/assets/{tags-BL_N4nn2.js → tags-DXDZbfxp.js} +1 -1
- package/core/built/admin/assets/{toggle-group-B2X-8giI.js → toggle-group-CqDO3Kkx.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DeqMID_s.js → topic-filter-DnuJJBAE.js} +1 -1
- package/core/built/admin/assets/{trash-BglGemAb.js → trash-CZ3EXwTL.js} +1 -1
- package/core/built/admin/assets/{url-helpers-84icqAuE.js → url-helpers-BE3VXr__.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-DF-7tL8g.js → use-growth-stats-CiuWWM6O.js} +1 -1
- package/core/built/admin/assets/{use-infinite-virtual-scroll-BHH7oscK.js → use-infinite-virtual-scroll-BjATkxBj.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-BsvYfixw.js → use-simple-pagination-C9cb7dDz.js} +1 -1
- package/core/built/admin/assets/{user-round-check-BjHbfXKY.js → user-round-check-D3ihrrKL.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-KaTkgqvi.js → wallet-cards-Do7nPf3f.js} +1 -1
- package/core/built/admin/assets/{web-CUWbpFil.js → web-BEwI2Gfy.js} +1 -1
- package/core/built/admin/index-forward.html +4 -4
- package/core/built/admin/index.html +3 -3
- package/core/frontend/web/middleware/index.js +1 -0
- package/core/frontend/web/middleware/serve-indexnow-key.js +66 -0
- package/core/frontend/web/site.js +3 -0
- package/core/server/api/endpoints/authentication.js +1 -1
- package/core/server/api/endpoints/pages.js +1 -1
- package/core/server/api/endpoints/posts-public.js +1 -1
- package/core/server/api/endpoints/posts.js +1 -1
- package/core/server/api/endpoints/search-index-public.js +1 -1
- package/core/server/api/endpoints/search-index.js +1 -1
- package/core/server/api/endpoints/users.js +1 -1
- package/core/server/api/endpoints/utils/serializers/input/settings.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +1 -1
- package/core/server/api/endpoints/utils/validators/input/settings.js +1 -1
- package/core/server/data/exporter/table-lists.js +2 -1
- package/core/server/data/migrations/versions/6.12/2026-01-08-11-48-16-add-indexnow-api-key-setting.js +9 -0
- package/core/server/data/schema/default-settings/default-settings.json +6 -0
- package/core/server/lib/lexical.js +1 -1
- package/core/server/models/settings.js +2 -1
- package/core/server/services/activitypub/{ActivityPubServiceWrapper.js → activity-pub-service-wrapper.js} +1 -1
- package/core/server/services/activitypub/{ActivityPubService.ts → activity-pub-service.ts} +1 -1
- package/core/server/services/activitypub/index.js +1 -1
- package/core/server/services/adapter-manager/index.js +1 -1
- package/core/server/services/announcement-bar-service/{AnnouncementBarSettings.js → announcement-bar-settings.js} +1 -1
- package/core/server/services/announcement-bar-service/index.js +1 -1
- package/core/server/services/audience-feedback/{AudienceFeedbackController.js → audience-feedback-controller.js} +3 -3
- package/core/server/services/audience-feedback/index.js +4 -4
- package/core/server/services/auth/session/express-session.js +1 -1
- package/core/server/services/comments/{CommentsController.js → comments-controller.js} +2 -2
- package/core/server/services/comments/{CommentsServiceEmails.js → comments-service-emails.js} +1 -1
- package/core/server/services/comments/{CommentsService.js → comments-service.js} +1 -1
- package/core/server/services/comments/index.js +3 -3
- package/core/server/services/custom-redirects/index.js +2 -2
- package/core/server/services/donations/{DonationBookshelfRepository.ts → donation-bookshelf-repository.ts} +1 -1
- package/core/server/services/donations/{DonationServiceWrapper.js → donation-service-wrapper.js} +1 -1
- package/core/server/services/donations/index.js +1 -1
- package/core/server/services/email-address/{EmailAddressServiceWrapper.js → email-address-service-wrapper.js} +2 -2
- package/core/server/services/email-address/{EmailAddressService.js → email-address-service.js} +4 -4
- package/core/server/services/email-address/{EmailAddressService.ts → email-address-service.ts} +1 -1
- package/core/server/services/email-address/index.js +1 -1
- package/core/server/services/email-analytics/{EmailAnalyticsProviderMailgun.js → email-analytics-provider-mailgun.js} +1 -1
- package/core/server/services/email-analytics/{EmailAnalyticsServiceWrapper.js → email-analytics-service-wrapper.js} +5 -5
- package/core/server/services/email-analytics/{EmailAnalyticsService.js → email-analytics-service.js} +2 -2
- package/core/server/services/email-analytics/index.js +1 -1
- package/core/server/services/email-analytics/jobs/fetch-latest/index.js +1 -1
- package/core/server/services/email-service/{BatchSendingService.js → batch-sending-service.js} +8 -8
- package/core/server/services/email-service/{EmailEventProcessor.js → email-event-processor.js} +6 -6
- package/core/server/services/email-service/{EmailEventStorage.js → email-event-storage.js} +1 -1
- package/core/server/services/email-service/{EmailRenderer.js → email-renderer.js} +1 -1
- package/core/server/services/email-service/{EmailServiceWrapper.js → email-service-wrapper.js} +9 -9
- package/core/server/services/email-service/{EmailService.js → email-service.js} +13 -13
- package/core/server/services/email-service/index.js +1 -1
- package/core/server/services/email-service/{MailgunEmailProvider.js → mailgun-email-provider.js} +1 -1
- package/core/server/services/email-service/{SendingService.js → sending-service.js} +6 -6
- package/core/server/services/email-suppression-list/{InMemoryEmailSuppressionList.js → in-memory-email-suppression-list.js} +1 -1
- package/core/server/services/email-suppression-list/{MailgunEmailSuppressionList.js → mailgun-email-suppression-list.js} +3 -3
- package/core/server/services/email-suppression-list/service.js +2 -2
- package/core/server/services/explore/index.js +2 -2
- package/core/server/services/explore-ping/index.js +2 -2
- package/core/server/services/frontend-data-service/index.js +1 -1
- package/core/server/services/identity-tokens/{IdentityTokenServiceWrapper.js → identity-token-service-wrapper.js} +1 -1
- package/core/server/services/identity-tokens/index.js +1 -1
- package/core/server/services/indexnow.js +212 -0
- package/core/server/services/invites/index.js +1 -1
- package/core/server/services/link-redirection/index.js +2 -2
- package/core/server/services/link-redirection/{LinkRedirectRepository.js → link-redirect-repository.js} +1 -1
- package/core/server/services/link-redirection/{LinkRedirectsService.js → link-redirects-service.js} +2 -2
- package/core/server/services/link-redirection/{RedirectEvent.js → redirect-event.js} +1 -1
- package/core/server/services/link-tracking/index.js +3 -3
- package/core/server/services/link-tracking/{LinkClickRepository.js → link-click-repository.js} +1 -1
- package/core/server/services/link-tracking/{LinkClickTrackingService.js → link-click-tracking-service.js} +4 -4
- package/core/server/services/link-tracking/{PostLinkRepository.js → post-link-repository.js} +7 -7
- package/core/server/services/mail/{GhostMailer.js → ghost-mailer.js} +1 -1
- package/core/server/services/mail/index.js +2 -2
- package/core/server/services/media-inliner/service.js +1 -1
- package/core/server/services/member-attribution/README.md +6 -6
- package/core/server/services/member-attribution/{AttributionBuilder.js → attribution-builder.js} +4 -4
- package/core/server/services/member-attribution/index.js +5 -5
- package/core/server/services/member-attribution/{MemberAttributionService.js → member-attribution-service.js} +9 -9
- package/core/server/services/member-attribution/{ReferrerTranslator.js → referrer-translator.js} +1 -1
- package/core/server/services/member-attribution/{UrlTranslator.js → url-translator.js} +1 -1
- package/core/server/services/member-welcome-emails/constants.js +22 -1
- package/core/server/services/member-welcome-emails/service.js +23 -5
- package/core/server/services/members/api.js +1 -1
- package/core/server/services/members/importer/index.js +3 -3
- package/core/server/services/members/importer/{MembersCSVImporter.js → members-csv-importer.js} +2 -2
- package/core/server/services/members/members-api/members-api.js +14 -14
- package/core/server/services/members/members-api/repositories/{MemberRepository.js → member-repository.js} +17 -8
- package/core/server/services/members/members-api/services/{MemberBREADService.js → member-bread-service.js} +1 -1
- package/core/server/services/members/members-api/services/{PaymentsService.js → payments-service.js} +12 -12
- package/core/server/services/members/service.js +4 -4
- package/core/server/services/members-events/index.js +3 -3
- package/core/server/services/members-events/{LastSeenAtUpdater.js → last-seen-at-updater.js} +2 -2
- package/core/server/services/mentions/{BookshelfMentionRepository.js → bookshelf-mention-repository.js} +9 -9
- package/core/server/services/mentions/{InMemoryMentionRepository.js → in-memory-mention-repository.js} +4 -4
- package/core/server/services/mentions/{MentionController.js → mention-controller.js} +5 -5
- package/core/server/services/mentions/{MentionCreatedEvent.js → mention-created-event.js} +1 -1
- package/core/server/services/mentions/{Mention.js → mention.js} +1 -1
- package/core/server/services/mentions/{MentionsAPI.js → mentions-api.js} +1 -1
- package/core/server/services/mentions/{ResourceService.js → resource-service.js} +2 -2
- package/core/server/services/mentions/{RoutingService.js → routing-service.js} +2 -2
- package/core/server/services/mentions/service.js +11 -11
- package/core/server/services/mentions/{WebmentionMetadata.js → webmention-metadata.js} +1 -1
- package/core/server/services/mentions-email-report/job.js +1 -1
- package/core/server/services/mentions-email-report/{MentionEmailReportJob.js → mention-email-report-job.js} +1 -1
- package/core/server/services/mentions-email-report/service.js +2 -2
- package/core/server/services/milestones/{BookshelfMilestoneRepository.js → bookshelf-milestone-repository.js} +2 -2
- package/core/server/services/milestones/{InMemoryMilestoneRepository.js → in-memory-milestone-repository.js} +2 -2
- package/core/server/services/milestones/{Milestone.js → milestone.js} +1 -1
- package/core/server/services/milestones/{MilestonesService.js → milestones-service.js} +1 -1
- package/core/server/services/milestones/service.js +4 -4
- package/core/server/services/newsletters/index.js +2 -2
- package/core/server/services/newsletters/{NewslettersService.js → newsletters-service.js} +1 -1
- package/core/server/services/notifications/index.js +1 -1
- package/core/server/services/oembed/service.js +3 -3
- package/core/server/services/offers/application/{OfferMapper.js → offer-mapper.js} +1 -1
- package/core/server/services/offers/application/{OffersAPI.js → offers-api.js} +9 -9
- package/core/server/services/offers/application/{UniqueChecker.js → unique-checker.js} +2 -2
- package/core/server/services/offers/domain/events/{OfferCodeChangeEvent.js → offer-code-change-event.js} +1 -1
- package/core/server/services/offers/domain/events/{OfferCreatedEvent.js → offer-created-event.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferAmount.js → offer-amount.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferCadence.js → offer-cadence.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferCode.js → offer-code.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferCreatedAt.js → offer-created-at.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferCurrency.js → offer-currency.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferDescription.js → offer-description.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferDuration.js → offer-duration.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferName.js → offer-name.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferStatus.js → offer-status.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferTitle.js → offer-title.js} +1 -1
- package/core/server/services/offers/domain/models/{OfferType.js → offer-type.js} +1 -1
- package/core/server/services/offers/domain/models/{Offer.js → offer.js} +14 -14
- package/core/server/services/offers/domain/models/{StripeCoupon.js → stripe-coupon.js} +1 -1
- package/core/server/services/offers/{OfferBookshelfRepository.js → offer-bookshelf-repository.js} +6 -6
- package/core/server/services/offers/{OffersModule.js → offers-module.js} +4 -4
- package/core/server/services/offers/service.js +3 -3
- package/core/server/services/outbox/index.js +2 -2
- package/core/server/services/outbox/jobs/outbox-job.js +2 -2
- package/core/server/services/posts/posts-service-instance.js +47 -0
- package/core/server/services/posts/posts-service.js +572 -45
- package/core/server/services/recommendations/index.js +1 -1
- package/core/server/services/recommendations/{RecommendationEnablerService.js → recommendation-enabler-service.js} +2 -2
- package/core/server/services/recommendations/{RecommendationServiceWrapper.js → recommendation-service-wrapper.js} +2 -2
- package/core/server/services/recommendations/service/{BookshelfClickEventRepository.js → bookshelf-click-event-repository.js} +4 -4
- package/core/server/services/recommendations/service/{BookshelfClickEventRepository.ts → bookshelf-click-event-repository.ts} +2 -2
- package/core/server/services/recommendations/service/{BookshelfRecommendationRepository.js → bookshelf-recommendation-repository.js} +4 -4
- package/core/server/services/recommendations/service/{BookshelfRecommendationRepository.ts → bookshelf-recommendation-repository.ts} +3 -3
- package/core/server/services/recommendations/service/{BookshelfSubscribeEventRepository.js → bookshelf-subscribe-event-repository.js} +4 -4
- package/core/server/services/recommendations/service/{BookshelfSubscribeEventRepository.ts → bookshelf-subscribe-event-repository.ts} +2 -2
- package/core/server/services/recommendations/service/{InMemoryRecommendationRepository.js → in-memory-recommendation-repository.js} +2 -2
- package/core/server/services/recommendations/service/{InMemoryRecommendationRepository.ts → in-memory-recommendation-repository.ts} +3 -3
- package/core/server/services/recommendations/service/{IncomingRecommendationController.js → incoming-recommendation-controller.js} +2 -2
- package/core/server/services/recommendations/service/{IncomingRecommendationController.ts → incoming-recommendation-controller.ts} +3 -3
- package/core/server/services/recommendations/service/{IncomingRecommendationEmailRenderer.ts → incoming-recommendation-email-renderer.ts} +2 -2
- package/core/server/services/recommendations/service/{IncomingRecommendationService.ts → incoming-recommendation-service.ts} +2 -2
- package/core/server/services/recommendations/service/index.js +15 -15
- package/core/server/services/recommendations/service/index.ts +15 -15
- package/core/server/services/recommendations/service/{RecommendationController.js → recommendation-controller.js} +13 -13
- package/core/server/services/recommendations/service/{RecommendationController.ts → recommendation-controller.ts} +4 -4
- package/core/server/services/recommendations/service/{RecommendationRepository.ts → recommendation-repository.ts} +3 -3
- package/core/server/services/recommendations/service/{RecommendationService.js → recommendation-service.js} +6 -6
- package/core/server/services/recommendations/service/{RecommendationService.ts → recommendation-service.ts} +8 -8
- package/core/server/services/recommendations/service/{Recommendation.js → recommendation.js} +4 -4
- package/core/server/services/recommendations/service/{Recommendation.ts → recommendation.ts} +1 -1
- package/core/server/services/recommendations/service/{WellknownService.ts → well-known-service.ts} +1 -1
- package/core/server/services/route-settings/index.js +4 -4
- package/core/server/services/settings/{SettingsBREADService.js → settings-bread-service.js} +1 -1
- package/core/server/services/settings/settings-service.js +2 -2
- package/core/server/services/settings-helpers/index.js +1 -1
- package/core/server/services/settings-helpers/{SettingsHelpers.js → settings-helpers.js} +5 -5
- package/core/server/services/slack-notifications/service.js +4 -4
- package/core/server/services/slack-notifications/{SlackNotificationsService.js → slack-notifications-service.js} +2 -2
- package/core/server/services/slack-notifications/{SlackNotifications.js → slack-notifications.js} +2 -2
- package/core/server/services/staff/index.js +1 -1
- package/core/server/services/staff/{StaffServiceEmails.js → staff-service-emails.js} +2 -2
- package/core/server/services/staff/{StaffService.js → staff-service.js} +2 -2
- package/core/server/services/stats/{PostsStatsService.js → posts-stats-service.js} +25 -25
- package/core/server/services/stats/{ReferrersStatsService.js → referrers-stats-service.js} +3 -3
- package/core/server/services/stats/service.js +1 -1
- package/core/server/services/stats/{StatsService.js → stats-service.js} +23 -23
- package/core/server/services/stripe/events/index.js +2 -2
- package/core/server/services/stripe/service.js +1 -1
- package/core/server/services/stripe/services/webhook/{CheckoutSessionEventService.js → checkout-session-event-service.js} +2 -2
- package/core/server/services/stripe/{StripeMigrations.js → stripe-migrations.js} +1 -1
- package/core/server/services/stripe/{StripeService.js → stripe-service.js} +8 -8
- package/core/server/services/stripe/{WebhookController.js → webhook-controller.js} +4 -4
- package/core/server/services/stripe/{WebhookManager.js → webhook-manager.js} +5 -5
- package/core/server/services/themes/storage.js +1 -1
- package/core/server/services/tiers/{InMemoryTierRepository.js → in-memory-tier-repository.js} +1 -1
- package/core/server/services/tiers/service.js +2 -2
- package/core/server/services/tiers/{TierActivatedEvent.js → tier-activated-event.js} +1 -1
- package/core/server/services/tiers/{TierArchivedEvent.js → tier-archived-event.js} +1 -1
- package/core/server/services/tiers/{TierCreatedEvent.js → tier-created-event.js} +1 -1
- package/core/server/services/tiers/{TierNameChangeEvent.js → tier-name-change-event.js} +1 -1
- package/core/server/services/tiers/{TierPriceChangeEvent.js → tier-price-change-event.js} +1 -1
- package/core/server/services/tiers/{TierRepository.js → tier-repository.js} +7 -7
- package/core/server/services/tiers/{Tier.js → tier.js} +5 -5
- package/core/server/services/tiers/{TiersAPI.js → tiers-api.js} +1 -1
- package/core/server/services/tinybird/index.js +1 -1
- package/core/server/services/tinybird/{TinybirdServiceWrapper.js → tinybird-service-wrapper.js} +2 -2
- package/core/server/services/update-check/index.js +1 -1
- package/core/server/services/url/index.js +2 -2
- package/core/server/services/url/{Resources.js → resources.js} +1 -1
- package/core/server/services/url/{UrlGenerator.js → url-generator.js} +1 -1
- package/core/server/services/url/{UrlService.js → url-service.js} +4 -4
- package/core/server/services/url/{Urls.js → urls.js} +1 -1
- package/core/server/services/webhooks/listen.js +1 -1
- package/core/shared/labs.js +2 -1
- package/package.json +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/components/tryghost-i18n-6.11.0.tgz +0 -0
- package/core/built/admin/assets/index-Cr_YX9yU.js +0 -1
- package/core/built/admin/assets/stats/index-BBCJ2EZo.mjs +0 -733
- package/core/server/services/posts/PostsService.js +0 -574
- /package/core/server/{GhostServer.js → ghost-server.js} +0 -0
- /package/core/server/services/activitypub/{ActivityPubService.js → activity-pub-service.js} +0 -0
- /package/core/server/services/adapter-manager/{AdapterManager.js → adapter-manager.js} +0 -0
- /package/core/server/services/announcement-bar-service/{AnnouncementVisibilityValues.js → announcement-visibility-values.js} +0 -0
- /package/core/server/services/audience-feedback/{AudienceFeedbackService.js → audience-feedback-service.js} +0 -0
- /package/core/server/services/audience-feedback/{FeedbackRepository.js → feedback-repository.js} +0 -0
- /package/core/server/services/audience-feedback/{Feedback.js → feedback.js} +0 -0
- /package/core/server/services/auth/session/{SessionStore.js → session-store.js} +0 -0
- /package/core/server/services/comments/{CommentsServiceEmailRenderer.js → comments-service-email-renderer.js} +0 -0
- /package/core/server/services/comments/{CommentsStatsService.js → comments-stats-service.js} +0 -0
- /package/core/server/services/custom-redirects/{CustomRedirectsAPI.js → custom-redirects-api.js} +0 -0
- /package/core/server/services/donations/{DonationBookshelfRepository.js → donation-bookshelf-repository.js} +0 -0
- /package/core/server/services/donations/{DonationPaymentEvent.js → donation-payment-event.js} +0 -0
- /package/core/server/services/donations/{DonationPaymentEvent.ts → donation-payment-event.ts} +0 -0
- /package/core/server/services/email-address/{EmailAddressParser.js → email-address-parser.js} +0 -0
- /package/core/server/services/email-address/{EmailAddressParser.js.d.ts → email-address-parser.js.d.ts} +0 -0
- /package/core/server/services/email-analytics/{EventProcessingResult.js → event-processing-result.js} +0 -0
- /package/core/server/services/email-analytics/events/{StartEmailAnalyticsJobEvent.js → start-email-analytics-job-event.js} +0 -0
- /package/core/server/services/email-service/{DomainWarmingService.js → domain-warming-service.js} +0 -0
- /package/core/server/services/email-service/{DomainWarmingService.ts → domain-warming-service.ts} +0 -0
- /package/core/server/services/email-service/{EmailBodyCache.js → email-body-cache.js} +0 -0
- /package/core/server/services/email-service/{EmailController.js → email-controller.js} +0 -0
- /package/core/server/services/email-service/{EmailSegmenter.js → email-segmenter.js} +0 -0
- /package/core/server/services/email-service/events/{EmailBouncedEvent.js → email-bounced-event.js} +0 -0
- /package/core/server/services/email-service/events/{EmailDeliveredEvent.js → email-delivered-event.js} +0 -0
- /package/core/server/services/email-service/events/{EmailOpenedEvent.js → email-opened-event.js} +0 -0
- /package/core/server/services/email-service/events/{EmailTemporaryBouncedEvent.js → email-temporary-bounced-event.js} +0 -0
- /package/core/server/services/email-service/events/{EmailUnsubscribedEvent.js → email-unsubscribed-event.js} +0 -0
- /package/core/server/services/email-service/events/{SpamComplaintEvent.js → spam-complaint-event.js} +0 -0
- /package/core/server/services/email-suppression-list/{EmailSuppressionList.js → email-suppression-list.js} +0 -0
- /package/core/server/services/explore/{ExploreService.js → explore-service.js} +0 -0
- /package/core/server/services/explore-ping/{ExplorePingService.js → explore-ping-service.js} +0 -0
- /package/core/server/services/frontend-data-service/{FrontendDataService.js → front-end-data-service.js} +0 -0
- /package/core/server/services/identity-tokens/{IdentityTokenService.js → identity-token-service.js} +0 -0
- /package/core/server/services/identity-tokens/{IdentityTokenService.ts → identity-token-service.ts} +0 -0
- /package/core/server/services/invites/{Invites.js → invites.js} +0 -0
- /package/core/server/services/lib/{DynamicRedirectManager.js → dynamic-redirect-manager.js} +0 -0
- /package/core/server/services/lib/{EmailContentGenerator.js → email-content-generator.js} +0 -0
- /package/core/server/services/lib/{InMemoryRepository.js → in-memory-repository.js} +0 -0
- /package/core/server/services/lib/{InMemoryRepository.ts → in-memory-repository.ts} +0 -0
- /package/core/server/services/lib/magic-link/{MagicLink.js → magic-link.js} +0 -0
- /package/core/server/services/lib/{MailgunClient.js → mailgun-client.js} +0 -0
- /package/core/server/services/link-redirection/{LinkRedirect.js → link-redirect.js} +0 -0
- /package/core/server/services/link-tracking/{ClickEvent.js → click-event.js} +0 -0
- /package/core/server/services/link-tracking/{FullPostLink.js → full-post-link.js} +0 -0
- /package/core/server/services/link-tracking/{PostLink.js → post-link.js} +0 -0
- /package/core/server/services/media-inliner/{ExternalMediaInliner.js → external-media-inliner.js} +0 -0
- /package/core/server/services/member-attribution/{OutboundLinkTagger.js → outbound-link-tagger.js} +0 -0
- /package/core/server/services/member-attribution/{UrlHistory.js → url-history.js} +0 -0
- /package/core/server/services/member-welcome-emails/{MemberWelcomeEmailRenderer.js → member-welcome-email-renderer.js} +0 -0
- /package/core/server/services/members/importer/{MembersCSVImporterStripeUtils.js → members-csv-importer-stripe-utils.js} +0 -0
- /package/core/server/services/members/members-api/controllers/{MemberController.js → member-controller.js} +0 -0
- /package/core/server/services/members/members-api/controllers/{RouterController.js → router-controller.js} +0 -0
- /package/core/server/services/members/members-api/controllers/{WellKnownController.js → well-known-controller.js} +0 -0
- /package/core/server/services/members/members-api/repositories/{EventRepository.js → event-repository.js} +0 -0
- /package/core/server/services/members/members-api/repositories/{ProductRepository.js → product-repository.js} +0 -0
- /package/core/server/services/members/members-api/services/{GeolocationService.js → geolocation-service.js} +0 -0
- /package/core/server/services/members/members-api/services/{TokenService.js → token-service.js} +0 -0
- /package/core/server/services/members/{MembersConfigProvider.js → members-config-provider.js} +0 -0
- /package/core/server/services/members/{RequestIntegrityTokenProvider.js → request-integrity-token-provider.js} +0 -0
- /package/core/server/services/members/{SingleUseTokenProvider.js → single-use-token-provider.js} +0 -0
- /package/core/server/services/members/stats/{MembersStats.js → members-stats.js} +0 -0
- /package/core/server/services/members-events/{EventStorage.js → event-storage.js} +0 -0
- /package/core/server/services/members-events/{LastSeenAtCache.js → last-seen-at-cache.js} +0 -0
- /package/core/server/services/mentions/{MentionDiscoveryService.js → mention-discovery-service.js} +0 -0
- /package/core/server/services/mentions/{MentionSendingService.js → mention-sending-service.js} +0 -0
- /package/core/server/services/mentions-email-report/{StartMentionEmailReportJob.js → start-mention-email-report-job.js} +0 -0
- /package/core/server/services/milestones/{MilestoneCreatedEvent.js → milestone-created-event.js} +0 -0
- /package/core/server/services/milestones/{MilestoneQueries.js → milestone-queries.js} +0 -0
- /package/core/server/services/notifications/{Notifications.js → notifications.js} +0 -0
- /package/core/server/services/oembed/{NFTOEmbedProvider.js → nft-oembed-provider.js} +0 -0
- /package/core/server/services/oembed/{OEmbedService.js → oembed-service.js} +0 -0
- /package/core/server/services/oembed/{TwitterOEmbedProvider.js → twitter-oembed-provider.js} +0 -0
- /package/core/server/services/offers/domain/models/shared/{ValueObject.js → value-object.js} +0 -0
- /package/core/server/services/outbox/events/{StartOutboxProcessingEvent.js → start-outbox-processing-event.js} +0 -0
- /package/core/server/services/posts/{PostsExporter.js → posts-exporter.js} +0 -0
- /package/core/server/services/posts/stats/{PostStats.js → post-stats.js} +0 -0
- /package/core/server/services/recommendations/service/{BookshelfRepository.js → bookshelf-repository.js} +0 -0
- /package/core/server/services/recommendations/service/{BookshelfRepository.ts → bookshelf-repository.ts} +0 -0
- /package/core/server/services/recommendations/service/{ClickEvent.js → click-event.js} +0 -0
- /package/core/server/services/recommendations/service/{ClickEvent.ts → click-event.ts} +0 -0
- /package/core/server/services/recommendations/service/{IncomingRecommendationEmailRenderer.js → incoming-recommendation-email-renderer.js} +0 -0
- /package/core/server/services/recommendations/service/{IncomingRecommendationService.js → incoming-recommendation-service.js} +0 -0
- /package/core/server/services/recommendations/service/{RecommendationMetadataService.js → recommendation-metadata-service.js} +0 -0
- /package/core/server/services/recommendations/service/{RecommendationMetadataService.ts → recommendation-metadata-service.ts} +0 -0
- /package/core/server/services/recommendations/service/{RecommendationRepository.js → recommendation-repository.js} +0 -0
- /package/core/server/services/recommendations/service/{SubscribeEvent.js → subscribe-event.js} +0 -0
- /package/core/server/services/recommendations/service/{SubscribeEvent.ts → subscribe-event.ts} +0 -0
- /package/core/server/services/recommendations/service/{UnsafeData.js → unsafe-data.js} +0 -0
- /package/core/server/services/recommendations/service/{UnsafeData.ts → unsafe-data.ts} +0 -0
- /package/core/server/services/recommendations/service/{WellknownService.js → well-known-service.js} +0 -0
- /package/core/server/services/route-settings/{DefaultSettingsManager.js → default-settings-manager.js} +0 -0
- /package/core/server/services/route-settings/{RouteSettings.js → route-settings.js} +0 -0
- /package/core/server/services/route-settings/{SettingsLoader.js → settings-loader.js} +0 -0
- /package/core/server/services/route-settings/{SettingsPathManager.js → settings-path-manager.js} +0 -0
- /package/core/server/services/stats/{ContentStatsService.js → content-stats-service.js} +0 -0
- /package/core/server/services/stats/{MembersStatsService.js → members-stats-service.js} +0 -0
- /package/core/server/services/stats/{MrrStatsService.js → mrr-stats-service.js} +0 -0
- /package/core/server/services/stats/{SubscriptionStatsService.js → subscription-stats-service.js} +0 -0
- /package/core/server/services/stripe/events/{StripeLiveDisabledEvent.js → stripe-live-disabled-event.js} +0 -0
- /package/core/server/services/stripe/events/{StripeLiveEnabledEvent.js → stripe-live-enabled-event.js} +0 -0
- /package/core/server/services/stripe/services/webhook/{InvoiceEventService.js → invoice-event-service.js} +0 -0
- /package/core/server/services/stripe/services/webhook/{SubscriptionEventService.js → subscription-event-service.js} +0 -0
- /package/core/server/services/stripe/{StripeAPI.js → stripe-api.js} +0 -0
- /package/core/server/services/themes/{ThemeStorage.js → theme-storage.js} +0 -0
- /package/core/server/services/tinybird/{TinybirdService.js → tinybird-service.js} +0 -0
- /package/core/server/services/update-check/{UpdateCheckService.js → update-check-service.js} +0 -0
- /package/core/server/services/url/{LocalFileCache.js → local-file-cache.js} +0 -0
- /package/core/server/services/url/{Queue.js → queue.js} +0 -0
- /package/core/server/services/url/{Resource.js → resource.js} +0 -0
- /package/core/server/services/{Users.js → users.js} +0 -0
- /package/core/server/services/{VerificationTrigger.js → verification-trigger.js} +0 -0
- /package/core/server/services/webhooks/{WebhookTrigger.js → webhook-trigger.js} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
const logging = require('@tryghost/logging');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef {import('./
|
|
5
|
-
* @typedef {import('./
|
|
4
|
+
* @typedef {import('./mentions-api')} MentionsAPI
|
|
5
|
+
* @typedef {import('./mention')} Mention
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @template Model
|
|
10
|
-
* @typedef {import('./
|
|
10
|
+
* @typedef {import('./mentions-api').Page<Model>} Page<Model>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -33,7 +33,7 @@ const logging = require('@tryghost/logging');
|
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
35
|
module.exports = class MentionController {
|
|
36
|
-
/** @type {import('./
|
|
36
|
+
/** @type {import('./mentions-api')} */
|
|
37
37
|
#api;
|
|
38
38
|
|
|
39
39
|
/** @type {IJobService} */
|
|
@@ -44,7 +44,7 @@ module.exports = class MentionController {
|
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* @param {object} deps
|
|
47
|
-
* @param {import('./
|
|
47
|
+
* @param {import('./mentions-api')} deps.api
|
|
48
48
|
* @param {IJobService} deps.jobService
|
|
49
49
|
* @param {IMentionResourceService} deps.mentionResourceService
|
|
50
50
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const ObjectID = require('bson-objectid').default;
|
|
2
2
|
const {ValidationError} = require('@tryghost/errors');
|
|
3
|
-
const MentionCreatedEvent = require('./
|
|
3
|
+
const MentionCreatedEvent = require('./mention-created-event');
|
|
4
4
|
|
|
5
5
|
module.exports = class Mention {
|
|
6
6
|
/** @type {Array} */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const ObjectID = require('bson-objectid').default;
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef {import('./
|
|
4
|
+
* @typedef {import('./mentions-api').IResourceService} IResourceService
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -26,7 +26,7 @@ module.exports = class ResourceService {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @param {URL} url
|
|
29
|
-
* @returns {Promise<import('./
|
|
29
|
+
* @returns {Promise<import('./mentions-api').ResourceResult>}
|
|
30
30
|
*/
|
|
31
31
|
async getByURL(url) {
|
|
32
32
|
const path = this.#urlUtils.absoluteToRelative(url.href, {withoutSubdirectory: true});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const logging = require('@tryghost/logging');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef {import('./
|
|
5
|
-
* @typedef {import('./
|
|
4
|
+
* @typedef {import('./mentions-api').IRoutingService} IRoutingService
|
|
5
|
+
* @typedef {import('./mentions-api').IResourceService} IResourceService
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const MentionController = require('./
|
|
2
|
-
const WebmentionMetadata = require('./
|
|
3
|
-
const MentionsAPI = require('./
|
|
4
|
-
const MentionSendingService = require('./
|
|
5
|
-
const MentionDiscoveryService = require('./
|
|
6
|
-
const BookshelfMentionRepository = require('./
|
|
7
|
-
const ResourceService = require('./
|
|
8
|
-
const RoutingService = require('./
|
|
1
|
+
const MentionController = require('./mention-controller');
|
|
2
|
+
const WebmentionMetadata = require('./webmention-metadata');
|
|
3
|
+
const MentionsAPI = require('./mentions-api');
|
|
4
|
+
const MentionSendingService = require('./mention-sending-service');
|
|
5
|
+
const MentionDiscoveryService = require('./mention-discovery-service');
|
|
6
|
+
const BookshelfMentionRepository = require('./bookshelf-mention-repository');
|
|
7
|
+
const ResourceService = require('./resource-service');
|
|
8
|
+
const RoutingService = require('./routing-service');
|
|
9
9
|
const models = require('../../models');
|
|
10
10
|
const events = require('../../lib/common/events');
|
|
11
11
|
const externalRequest = require('../../../server/lib/request-external.js');
|
|
@@ -23,13 +23,13 @@ function getPostUrl(post) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
module.exports = {
|
|
26
|
-
/** @type {import('./
|
|
26
|
+
/** @type {import('./mentions-api')} */
|
|
27
27
|
api: null,
|
|
28
|
-
/** @type {import('./
|
|
28
|
+
/** @type {import('./bookshelf-mention-repository')} */
|
|
29
29
|
repository: null,
|
|
30
30
|
controller: new MentionController(),
|
|
31
31
|
metadata: new WebmentionMetadata(),
|
|
32
|
-
/** @type {import('./
|
|
32
|
+
/** @type {import('./mention-sending-service')} */
|
|
33
33
|
sendingService: null,
|
|
34
34
|
didInit: false,
|
|
35
35
|
async init() {
|
|
@@ -30,7 +30,7 @@ module.exports = class WebmentionMetadata {
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* @param {URL} url
|
|
33
|
-
* @returns {Promise<import('./
|
|
33
|
+
* @returns {Promise<import('./mentions-api').WebmentionMetadata>}
|
|
34
34
|
*/
|
|
35
35
|
async fetch(url) {
|
|
36
36
|
const mappedUrl = this.#getMappedUrl(url);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const MentionEmailReportJob = require('./
|
|
1
|
+
const MentionEmailReportJob = require('./mention-email-report-job');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @typedef {MentionEmailReportJob.MentionReport} MentionReport
|
|
@@ -140,7 +140,7 @@ module.exports = {
|
|
|
140
140
|
const mentionsJobs = require('../mentions-jobs');
|
|
141
141
|
|
|
142
142
|
const DomainEvents = require('@tryghost/domain-events');
|
|
143
|
-
const StartMentionEmailReportJob = require('./
|
|
143
|
+
const StartMentionEmailReportJob = require('./start-mention-email-report-job');
|
|
144
144
|
|
|
145
145
|
const labs = require('../../../shared/labs');
|
|
146
146
|
DomainEvents.subscribe(StartMentionEmailReportJob, () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const Milestone = require('./
|
|
1
|
+
const Milestone = require('./milestone');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef {import('./
|
|
4
|
+
* @typedef {import('./milestones-service').IMilestoneRepository} IMilestoneRepository
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @typedef {import('./
|
|
3
|
-
* @typedef {import('./
|
|
2
|
+
* @typedef {import('./milestone')} Milestone
|
|
3
|
+
* @typedef {import('./milestones-service').IMilestoneRepository} IMilestoneRepository
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const ObjectID = require('bson-objectid').default;
|
|
2
2
|
const {ValidationError} = require('@tryghost/errors');
|
|
3
|
-
const MilestoneCreatedEvent = require('./
|
|
3
|
+
const MilestoneCreatedEvent = require('./milestone-created-event');
|
|
4
4
|
|
|
5
5
|
module.exports = class Milestone {
|
|
6
6
|
/** @type {Array} */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const DomainEvents = require('@tryghost/domain-events');
|
|
2
2
|
const logging = require('@tryghost/logging');
|
|
3
3
|
const models = require('../../models');
|
|
4
|
-
const BookshelfMilestoneRepository = require('./
|
|
4
|
+
const BookshelfMilestoneRepository = require('./bookshelf-milestone-repository');
|
|
5
5
|
|
|
6
6
|
const JOB_TIMEOUT = 1000 * 60 * 60 * 24 * (Math.floor(Math.random() * 4)); // 0 - 4 days;
|
|
7
7
|
|
|
@@ -23,7 +23,7 @@ const getStripeLiveEnabled = () => {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
module.exports = {
|
|
26
|
-
/** @type {import('./
|
|
26
|
+
/** @type {import('./milestones-service')} */
|
|
27
27
|
api: null,
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -32,9 +32,9 @@ module.exports = {
|
|
|
32
32
|
async init() {
|
|
33
33
|
if (!this.api) {
|
|
34
34
|
const db = require('../../data/db');
|
|
35
|
-
const MilestoneQueries = require('./
|
|
35
|
+
const MilestoneQueries = require('./milestone-queries');
|
|
36
36
|
|
|
37
|
-
const MilestonesService = require('./
|
|
37
|
+
const MilestonesService = require('./milestones-service');
|
|
38
38
|
const config = require('../../../shared/config');
|
|
39
39
|
const milestonesConfig = config.get('milestones');
|
|
40
40
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const NewslettersService = require('./
|
|
2
|
-
const SingleUseTokenProvider = require('../members/
|
|
1
|
+
const NewslettersService = require('./newsletters-service.js');
|
|
2
|
+
const SingleUseTokenProvider = require('../members/single-use-token-provider');
|
|
3
3
|
const mail = require('../mail');
|
|
4
4
|
const models = require('../../models');
|
|
5
5
|
const urlUtils = require('../../../shared/url-utils');
|
|
@@ -6,7 +6,7 @@ const tpl = require('@tryghost/tpl');
|
|
|
6
6
|
const errors = require('@tryghost/errors');
|
|
7
7
|
|
|
8
8
|
const sentry = require('../../../shared/sentry');
|
|
9
|
-
const MagicLink = require('../lib/magic-link/
|
|
9
|
+
const MagicLink = require('../lib/magic-link/magic-link');
|
|
10
10
|
|
|
11
11
|
const messages = {
|
|
12
12
|
nameAlreadyExists: 'A newsletter with the same name already exists',
|
|
@@ -2,17 +2,17 @@ const config = require('../../../shared/config');
|
|
|
2
2
|
const storage = require('../../adapters/storage');
|
|
3
3
|
const externalRequest = require('../../lib/request-external');
|
|
4
4
|
|
|
5
|
-
const OEmbedService = require('./
|
|
5
|
+
const OEmbedService = require('./oembed-service');
|
|
6
6
|
const oembed = new OEmbedService({config, externalRequest, storage});
|
|
7
7
|
|
|
8
|
-
const NFT = require('./
|
|
8
|
+
const NFT = require('./nft-oembed-provider');
|
|
9
9
|
const nft = new NFT({
|
|
10
10
|
config: {
|
|
11
11
|
apiKey: config.get('opensea').privateReadOnlyApiKey
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
const Twitter = require('./
|
|
15
|
+
const Twitter = require('./twitter-oembed-provider');
|
|
16
16
|
const twitter = new Twitter({
|
|
17
17
|
config: {
|
|
18
18
|
bearerToken: config.get('twitter').privateReadOnlyToken
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const Offer = require('../domain/models/
|
|
2
|
-
const OfferName = require('../domain/models/
|
|
3
|
-
const OfferCode = require('../domain/models/
|
|
4
|
-
const OfferTitle = require('../domain/models/
|
|
5
|
-
const OfferDescription = require('../domain/models/
|
|
6
|
-
const OfferStatus = require('../domain/models/
|
|
7
|
-
const OfferMapper = require('./
|
|
8
|
-
const UniqueChecker = require('./
|
|
1
|
+
const Offer = require('../domain/models/offer');
|
|
2
|
+
const OfferName = require('../domain/models/offer-name');
|
|
3
|
+
const OfferCode = require('../domain/models/offer-code');
|
|
4
|
+
const OfferTitle = require('../domain/models/offer-title');
|
|
5
|
+
const OfferDescription = require('../domain/models/offer-description');
|
|
6
|
+
const OfferStatus = require('../domain/models/offer-status');
|
|
7
|
+
const OfferMapper = require('./offer-mapper');
|
|
8
|
+
const UniqueChecker = require('./unique-checker');
|
|
9
9
|
const errors = require('@tryghost/errors');
|
|
10
10
|
const logging = require('@tryghost/logging');
|
|
11
11
|
const tpl = require('@tryghost/tpl');
|
|
@@ -16,7 +16,7 @@ const messages = {
|
|
|
16
16
|
|
|
17
17
|
class OffersAPI {
|
|
18
18
|
/**
|
|
19
|
-
* @param {import('../
|
|
19
|
+
* @param {import('../offer-bookshelf-repository')} repository
|
|
20
20
|
*/
|
|
21
21
|
constructor(repository) {
|
|
22
22
|
this.repository = repository;
|
|
@@ -11,7 +11,7 @@ class UniqueChecker {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @param {import('../domain/models/
|
|
14
|
+
* @param {import('../domain/models/offer-code')} code
|
|
15
15
|
* @returns {Promise<boolean>}
|
|
16
16
|
*/
|
|
17
17
|
async isUniqueCode(code) {
|
|
@@ -20,7 +20,7 @@ class UniqueChecker {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* @param {import('../domain/models/
|
|
23
|
+
* @param {import('../domain/models/offer-name')} name
|
|
24
24
|
* @returns {Promise<boolean>}
|
|
25
25
|
*/
|
|
26
26
|
async isUniqueName(name) {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
const errors = require('../errors');
|
|
2
2
|
const ObjectID = require('bson-objectid').default;
|
|
3
3
|
|
|
4
|
-
const OfferName = require('./
|
|
5
|
-
const OfferCode = require('./
|
|
6
|
-
const OfferAmount = require('./
|
|
7
|
-
const OfferTitle = require('./
|
|
8
|
-
const OfferDescription = require('./
|
|
9
|
-
const OfferCadence = require('./
|
|
10
|
-
const OfferType = require('./
|
|
11
|
-
const OfferDuration = require('./
|
|
12
|
-
const OfferCurrency = require('./
|
|
13
|
-
const OfferStatus = require('./
|
|
14
|
-
const OfferCreatedEvent = require('../events/
|
|
15
|
-
const OfferCodeChangeEvent = require('../events/
|
|
16
|
-
const OfferCreatedAt = require('./
|
|
17
|
-
const StripeCoupon = require('./
|
|
4
|
+
const OfferName = require('./offer-name');
|
|
5
|
+
const OfferCode = require('./offer-code');
|
|
6
|
+
const OfferAmount = require('./offer-amount');
|
|
7
|
+
const OfferTitle = require('./offer-title');
|
|
8
|
+
const OfferDescription = require('./offer-description');
|
|
9
|
+
const OfferCadence = require('./offer-cadence');
|
|
10
|
+
const OfferType = require('./offer-type');
|
|
11
|
+
const OfferDuration = require('./offer-duration');
|
|
12
|
+
const OfferCurrency = require('./offer-currency');
|
|
13
|
+
const OfferStatus = require('./offer-status');
|
|
14
|
+
const OfferCreatedEvent = require('../events/offer-created-event');
|
|
15
|
+
const OfferCodeChangeEvent = require('../events/offer-code-change-event');
|
|
16
|
+
const OfferCreatedAt = require('./offer-created-at');
|
|
17
|
+
const StripeCoupon = require('./stripe-coupon');
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @typedef {object} OfferProps
|
package/core/server/services/offers/{OfferBookshelfRepository.js → offer-bookshelf-repository.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {flowRight} = require('lodash');
|
|
2
2
|
const {mapKeyValues, mapQuery} = require('@tryghost/mongo-utils');
|
|
3
3
|
const DomainEvents = require('@tryghost/domain-events');
|
|
4
|
-
const Offer = require('./domain/models/
|
|
4
|
+
const Offer = require('./domain/models/offer');
|
|
5
5
|
const sentry = require('../../../shared/sentry');
|
|
6
6
|
const logger = require('@tryghost/logging');
|
|
7
7
|
|
|
@@ -93,7 +93,7 @@ class OfferBookshelfRepository {
|
|
|
93
93
|
* @private
|
|
94
94
|
* @param {import('bookshelf').Model<any>} model
|
|
95
95
|
* @param {BaseOptions} options
|
|
96
|
-
* @returns {Promise<import('./domain/models/
|
|
96
|
+
* @returns {Promise<import('./domain/models/offer')>}
|
|
97
97
|
*/
|
|
98
98
|
async mapToOffer(model, options) {
|
|
99
99
|
const json = model.toJSON();
|
|
@@ -141,7 +141,7 @@ class OfferBookshelfRepository {
|
|
|
141
141
|
/**
|
|
142
142
|
* @param {string} id
|
|
143
143
|
* @param {BaseOptions} [options]
|
|
144
|
-
* @returns {Promise<import('./domain/models/
|
|
144
|
+
* @returns {Promise<import('./domain/models/offer')>}
|
|
145
145
|
*/
|
|
146
146
|
async getById(id, options) {
|
|
147
147
|
const model = await this.OfferModel.findOne({id}, {
|
|
@@ -159,7 +159,7 @@ class OfferBookshelfRepository {
|
|
|
159
159
|
/**
|
|
160
160
|
* @param {string} id stripe_coupon_id
|
|
161
161
|
* @param {BaseOptions} [options]
|
|
162
|
-
* @returns {Promise<import('./domain/models/
|
|
162
|
+
* @returns {Promise<import('./domain/models/offer')>}
|
|
163
163
|
*/
|
|
164
164
|
async getByStripeCouponId(id, options) {
|
|
165
165
|
const model = await this.OfferModel.findOne({stripe_coupon_id: id}, {
|
|
@@ -176,7 +176,7 @@ class OfferBookshelfRepository {
|
|
|
176
176
|
|
|
177
177
|
/**
|
|
178
178
|
* @param {ListOptions} options
|
|
179
|
-
* @returns {Promise<import('./domain/models/
|
|
179
|
+
* @returns {Promise<import('./domain/models/offer')[]>}
|
|
180
180
|
*/
|
|
181
181
|
async getAll(options) {
|
|
182
182
|
const models = await this.OfferModel.findAll({
|
|
@@ -195,7 +195,7 @@ class OfferBookshelfRepository {
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
/**
|
|
198
|
-
* @param {import('./domain/models/
|
|
198
|
+
* @param {import('./domain/models/offer')} offer
|
|
199
199
|
* @param {BaseOptions} [options]
|
|
200
200
|
* @returns {Promise<void>}
|
|
201
201
|
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// @TODO: Reduce file length and remove the line above
|
|
3
3
|
|
|
4
4
|
const DomainEvents = require('@tryghost/domain-events');
|
|
5
|
-
const OfferCodeChangeEvent = require('./domain/events/
|
|
6
|
-
const OfferCreatedEvent = require('./domain/events/
|
|
7
|
-
const Offer = require('./domain/models/
|
|
8
|
-
const OffersAPI = require('./application/
|
|
5
|
+
const OfferCodeChangeEvent = require('./domain/events/offer-code-change-event');
|
|
6
|
+
const OfferCreatedEvent = require('./domain/events/offer-created-event');
|
|
7
|
+
const Offer = require('./domain/models/offer');
|
|
8
|
+
const OffersAPI = require('./application/offers-api');
|
|
9
9
|
|
|
10
10
|
class OffersModule {
|
|
11
11
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const DynamicRedirectManager = require('../lib/
|
|
1
|
+
const DynamicRedirectManager = require('../lib/dynamic-redirect-manager');
|
|
2
2
|
const config = require('../../../shared/config');
|
|
3
3
|
const urlUtils = require('../../../shared/url-utils');
|
|
4
4
|
const models = require('../../models');
|
|
5
|
-
const OfferBookshelfRepository = require('./
|
|
6
|
-
const OffersModule = require('./
|
|
5
|
+
const OfferBookshelfRepository = require('./offer-bookshelf-repository');
|
|
6
|
+
const OffersModule = require('./offers-module');
|
|
7
7
|
|
|
8
8
|
let redirectManager;
|
|
9
9
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const logging = require('@tryghost/logging');
|
|
2
2
|
const jobs = require('./jobs');
|
|
3
|
-
const StartOutboxProcessingEvent = require('./events/
|
|
3
|
+
const StartOutboxProcessingEvent = require('./events/start-outbox-processing-event');
|
|
4
4
|
const domainEvents = require('@tryghost/domain-events');
|
|
5
5
|
const processOutbox = require('./jobs/lib/process-outbox');
|
|
6
6
|
const {OUTBOX_LOG_KEY} = require('./jobs/lib/constants');
|
|
@@ -40,4 +40,4 @@ class OutboxServiceWrapper {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
module.exports = new OutboxServiceWrapper();
|
|
43
|
+
module.exports = new OutboxServiceWrapper();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const {parentPort} = require('worker_threads');
|
|
2
|
-
const StartOutboxProcessingEvent = require('../events/
|
|
2
|
+
const StartOutboxProcessingEvent = require('../events/start-outbox-processing-event');
|
|
3
3
|
|
|
4
4
|
function cancel() {
|
|
5
5
|
if (parentPort) {
|
|
@@ -33,4 +33,4 @@ if (parentPort) {
|
|
|
33
33
|
process.exit(0);
|
|
34
34
|
}, 1000);
|
|
35
35
|
}
|
|
36
|
-
})();
|
|
36
|
+
})();
|