From 2808df7f87741be6743cce4a8a72920de980db3a Mon Sep 17 00:00:00 2001 From: "Fabien \"egg\" O'Carroll" Date: Wed, 28 Jun 2023 23:25:08 +0100 Subject: [PATCH] Switched to bookshelf repository --- .../core/core/server/services/collections/service.js | 11 ++++++----- ghost/core/test/e2e-api/admin/posts.test.js | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ghost/core/core/server/services/collections/service.js b/ghost/core/core/server/services/collections/service.js index a7d2cdf68b..85be196429 100644 --- a/ghost/core/core/server/services/collections/service.js +++ b/ghost/core/core/server/services/collections/service.js @@ -1,7 +1,7 @@ const { - CollectionsService, - CollectionsRepositoryInMemory + CollectionsService } = require('@tryghost/collections'); +const BookshelfCollectionsRepository = require('./BookshelfCollectionsRepository'); const labs = require('../../../shared/labs'); class CollectionsServiceWrapper { @@ -9,9 +9,10 @@ class CollectionsServiceWrapper { api; constructor() { - const postsRepository = require('./PostsRepository').getInstance(); - const collectionsRepositoryInMemory = new CollectionsRepositoryInMemory(); const DomainEvents = require('@tryghost/domain-events'); + const postsRepository = require('./PostsRepository').getInstance(); + const models = require('../../models'); + const collectionsRepositoryInMemory = new BookshelfCollectionsRepository(models.Collection); const collectionsService = new CollectionsService({ collectionsRepository: collectionsRepositoryInMemory, @@ -19,7 +20,7 @@ class CollectionsServiceWrapper { DomainEvents: DomainEvents, slugService: { async generate(input) { - return input.toLowerCase().trim().replace(/^[^a-z0-9A-Z_]+/, '').replace(/[^a-z0-9A-Z_]+$/, '').replace(/[^a-z0-9A-Z_]+/g, '-'); + return models.Collection.generateSlug(models.Collection, input, {}); } } }); diff --git a/ghost/core/test/e2e-api/admin/posts.test.js b/ghost/core/test/e2e-api/admin/posts.test.js index 77968a34b9..220537c208 100644 --- a/ghost/core/test/e2e-api/admin/posts.test.js +++ b/ghost/core/test/e2e-api/admin/posts.test.js @@ -88,6 +88,7 @@ describe('Posts API', function () { let agent; before(async function () { + mockManager.mockLabsEnabled('collections', true); agent = await agentProvider.getAdminAPIAgent(); await fixtureManager.init('posts'); await agent.loginAsOwner();