@yimingliao/cms 0.0.69 → 0.0.71
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/dist/server/index.d.ts +8 -2
- package/dist/server/index.js +37 -10
- package/package.json +1 -1
package/dist/server/index.d.ts
CHANGED
|
@@ -651,7 +651,11 @@ declare function createPostQueryRepository(prisma: PrismaClient): {
|
|
|
651
651
|
find: ({ isActive, ...rest }: FindParams) => Promise<(Post & {
|
|
652
652
|
translations: PostTranslation[];
|
|
653
653
|
}) | null>;
|
|
654
|
-
findFull: ({ isActive, topicSlug, ...rest }: FindParams) => Promise<
|
|
654
|
+
findFull: ({ isActive, topicSlug, ...rest }: FindParams) => Promise<{
|
|
655
|
+
post: PostFull | null;
|
|
656
|
+
prev: PostListCard | null;
|
|
657
|
+
next: PostListCard | null;
|
|
658
|
+
}>;
|
|
655
659
|
};
|
|
656
660
|
|
|
657
661
|
interface UpsertParams {
|
|
@@ -2258,7 +2262,9 @@ declare function createPostFindFullAction(ctx: ActionContext): (params: {
|
|
|
2258
2262
|
isActive?: boolean;
|
|
2259
2263
|
topicSlug?: string;
|
|
2260
2264
|
}) => Promise<Result<{
|
|
2261
|
-
post: PostFull;
|
|
2265
|
+
post: PostFull | null;
|
|
2266
|
+
prev: PostListCard | null;
|
|
2267
|
+
next: PostListCard | null;
|
|
2262
2268
|
}>>;
|
|
2263
2269
|
|
|
2264
2270
|
declare function createPostFindListCardsAction(ctx: ActionContext): (params: {
|
package/dist/server/index.js
CHANGED
|
@@ -1809,17 +1809,44 @@ function createPostQueryRepository(prisma) {
|
|
|
1809
1809
|
...rest
|
|
1810
1810
|
}) {
|
|
1811
1811
|
const where = buildWhere3(rest);
|
|
1812
|
-
if (!where) return null;
|
|
1813
|
-
|
|
1814
|
-
where
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1812
|
+
if (!where) return { post: null, prev: null, next: null };
|
|
1813
|
+
const baseWhere = {
|
|
1814
|
+
...where,
|
|
1815
|
+
// states
|
|
1816
|
+
...isActive ? { isActive } : {},
|
|
1817
|
+
// relations
|
|
1818
|
+
...topicSlug ? { topic: { slug: topicSlug } } : {}
|
|
1819
|
+
};
|
|
1820
|
+
const post = await prisma.post.findFirst({
|
|
1821
|
+
where: baseWhere,
|
|
1821
1822
|
include: POST_FULL_INCLUDE
|
|
1822
1823
|
});
|
|
1824
|
+
if (!post) return { post: null, prev: null, next: null };
|
|
1825
|
+
const next = await prisma.post.findFirst({
|
|
1826
|
+
where: baseWhere,
|
|
1827
|
+
orderBy: POST_ORDER_BY,
|
|
1828
|
+
cursor: { id: post.id },
|
|
1829
|
+
skip: 1,
|
|
1830
|
+
take: 1,
|
|
1831
|
+
include: POST_LIST_CARD_INCLUDE
|
|
1832
|
+
});
|
|
1833
|
+
const reversedOrder = POST_ORDER_BY.map((o) => {
|
|
1834
|
+
const key = Object.keys(o)[0];
|
|
1835
|
+
return { [key]: o[key] === "asc" ? "desc" : "asc" };
|
|
1836
|
+
});
|
|
1837
|
+
const prev = await prisma.post.findFirst({
|
|
1838
|
+
where: baseWhere,
|
|
1839
|
+
orderBy: reversedOrder,
|
|
1840
|
+
cursor: { id: post.id },
|
|
1841
|
+
skip: 1,
|
|
1842
|
+
take: 1,
|
|
1843
|
+
include: POST_LIST_CARD_INCLUDE
|
|
1844
|
+
});
|
|
1845
|
+
return {
|
|
1846
|
+
post,
|
|
1847
|
+
prev,
|
|
1848
|
+
next
|
|
1849
|
+
};
|
|
1823
1850
|
}
|
|
1824
1851
|
return {
|
|
1825
1852
|
findListCards,
|
|
@@ -3928,7 +3955,7 @@ function createPostFindFullAction(ctx) {
|
|
|
3928
3955
|
const found = await postQueryRepository.findFull(params);
|
|
3929
3956
|
if (!found) throw ServerError.notFound();
|
|
3930
3957
|
return {
|
|
3931
|
-
data:
|
|
3958
|
+
data: found
|
|
3932
3959
|
};
|
|
3933
3960
|
},
|
|
3934
3961
|
{
|