@yimingliao/cms 0.0.12 → 0.0.14

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.
@@ -460,22 +460,38 @@ declare function createPostCommandRepository(prisma: any): {
460
460
 
461
461
  interface FindListCardsParams {
462
462
  locale: string;
463
- type: PostType | null;
464
- page?: number;
465
- pageSize?: number;
466
463
  searchString?: string;
467
- topicId?: string;
468
- postIds?: string[];
464
+ type: PostType | null;
469
465
  isActive?: boolean;
470
466
  isIndexActive?: boolean;
471
467
  isSlugActive?: boolean;
472
468
  isFeatured?: boolean;
473
469
  isShownOnHome?: boolean;
470
+ state1?: boolean;
471
+ state2?: boolean;
472
+ state3?: boolean;
473
+ state4?: boolean;
474
+ state5?: boolean;
475
+ state6?: boolean;
476
+ state7?: boolean;
477
+ state8?: boolean;
478
+ state9?: boolean;
479
+ state10?: boolean;
480
+ topicId?: string;
481
+ topicSlug?: string;
482
+ categoryId?: string;
483
+ categorySlug?: string;
484
+ postIds?: string[];
485
+ excludeIds?: string[];
486
+ page?: number;
487
+ pageSize?: number;
474
488
  }
475
489
  interface FindParams {
476
490
  id?: string;
477
491
  type?: PostType;
478
492
  slug?: string;
493
+ isActive?: boolean;
494
+ topicSlug?: string;
479
495
  }
480
496
  interface FindManyParams {
481
497
  type: PostType;
@@ -483,18 +499,18 @@ interface FindManyParams {
483
499
  }
484
500
 
485
501
  declare function createPostQueryRepository(prisma: any): {
486
- findListCards: ({ locale, searchString, type, topicId, postIds, isActive, isIndexActive, isSlugActive, isFeatured, isShownOnHome, page, pageSize, }: FindListCardsParams) => Promise<{
502
+ findListCards: ({ locale, searchString, type, isActive, isIndexActive, isSlugActive, isFeatured, isShownOnHome, state1, state2, state3, state4, state5, state6, state7, state8, state9, state10, topicId, topicSlug, categoryId, categorySlug, postIds, excludeIds, page, pageSize, }: FindListCardsParams) => Promise<{
487
503
  items: PostListCard[];
488
504
  total: number;
489
505
  }>;
490
506
  findMany: ({ type, topicId, }: FindManyParams) => Promise<(Post & {
491
507
  translations: PostTranslation[];
492
508
  })[]>;
493
- find: (params: FindParams) => Promise<(Post & {
509
+ find: ({ isActive, ...rest }: FindParams) => Promise<(Post & {
494
510
  translations: PostTranslation[];
495
511
  }) | null>;
496
- findFull: (params: FindParams) => Promise<PostFull | null>;
497
- findWithSeoMetadata: (params: FindParams) => Promise<(Post & {
512
+ findFull: ({ isActive, topicSlug, ...rest }: FindParams) => Promise<PostFull | null>;
513
+ findWithSeoMetadata: ({ isActive, ...rest }: FindParams) => Promise<(Post & {
498
514
  translations: PostTranslation[];
499
515
  seoMetadatas: SeoMetadata[];
500
516
  author: AdminSafe & {
@@ -1121,14 +1121,32 @@ function createPostQueryRepository(prisma) {
1121
1121
  locale,
1122
1122
  // search
1123
1123
  searchString,
1124
+ // type
1124
1125
  type,
1125
- topicId,
1126
- postIds,
1126
+ // states
1127
1127
  isActive,
1128
1128
  isIndexActive,
1129
1129
  isSlugActive,
1130
1130
  isFeatured,
1131
1131
  isShownOnHome,
1132
+ state1,
1133
+ state2,
1134
+ state3,
1135
+ state4,
1136
+ state5,
1137
+ state6,
1138
+ state7,
1139
+ state8,
1140
+ state9,
1141
+ state10,
1142
+ // relations
1143
+ topicId,
1144
+ topicSlug,
1145
+ categoryId,
1146
+ categorySlug,
1147
+ // specified ids
1148
+ postIds,
1149
+ excludeIds,
1132
1150
  // pagination
1133
1151
  page,
1134
1152
  pageSize
@@ -1139,7 +1157,13 @@ function createPostQueryRepository(prisma) {
1139
1157
  ...searchString ? { searchString } : {},
1140
1158
  locale,
1141
1159
  rootFields: ["slug"],
1142
- translationFields: ["title", "summary", "description", "content"]
1160
+ translationFields: [
1161
+ "title",
1162
+ "subtitle",
1163
+ "summary",
1164
+ "description",
1165
+ "content"
1166
+ ]
1143
1167
  }),
1144
1168
  // type
1145
1169
  ...type ? { type } : {},
@@ -1149,10 +1173,28 @@ function createPostQueryRepository(prisma) {
1149
1173
  ...isSlugActive ? { isSlugActive: true } : {},
1150
1174
  ...isFeatured ? { isFeatured: true } : {},
1151
1175
  ...isShownOnHome ? { isShownOnHome: true } : {},
1152
- // relations: Post
1176
+ ...state1 ? { state1: true } : {},
1177
+ ...state2 ? { state2: true } : {},
1178
+ ...state3 ? { state3: true } : {},
1179
+ ...state4 ? { state4: true } : {},
1180
+ ...state5 ? { state5: true } : {},
1181
+ ...state6 ? { state6: true } : {},
1182
+ ...state7 ? { state7: true } : {},
1183
+ ...state8 ? { state8: true } : {},
1184
+ ...state9 ? { state9: true } : {},
1185
+ ...state10 ? { state10: true } : {},
1186
+ // relations
1153
1187
  ...topicId ? { topicId } : {},
1188
+ ...topicSlug ? { topic: { slug: topicSlug } } : {},
1189
+ ...categoryId ? { parents: { some: { id: categoryId } } } : {},
1190
+ ...categorySlug ? { parents: { some: { slug: categorySlug } } } : {},
1154
1191
  // Specified ids
1155
- ...postIds ? { id: { in: postIds } } : {}
1192
+ ...postIds?.length || excludeIds?.length ? {
1193
+ id: {
1194
+ ...postIds ? { in: postIds } : {},
1195
+ ...excludeIds ? { notIn: excludeIds } : {}
1196
+ }
1197
+ } : {}
1156
1198
  };
1157
1199
  const [items, total] = await prisma.$transaction([
1158
1200
  prisma.post.findMany({
@@ -1165,11 +1207,14 @@ function createPostQueryRepository(prisma) {
1165
1207
  ]);
1166
1208
  return { items, total };
1167
1209
  }
1168
- async function find(params) {
1169
- const where = buildWhere3(params);
1210
+ async function find({
1211
+ isActive,
1212
+ ...rest
1213
+ }) {
1214
+ const where = buildWhere3(rest);
1170
1215
  if (!where) return null;
1171
1216
  return prisma.post.findFirst({
1172
- where,
1217
+ where: { ...where, ...isActive ? { isActive } : {} },
1173
1218
  include: { translations: true }
1174
1219
  });
1175
1220
  }
@@ -1183,19 +1228,34 @@ function createPostQueryRepository(prisma) {
1183
1228
  include: { translations: true }
1184
1229
  });
1185
1230
  }
1186
- async function findFull(params) {
1187
- const where = buildWhere3(params);
1231
+ async function findFull({
1232
+ // states
1233
+ isActive,
1234
+ // relations
1235
+ topicSlug,
1236
+ ...rest
1237
+ }) {
1238
+ const where = buildWhere3(rest);
1188
1239
  if (!where) return null;
1189
1240
  return prisma.post.findFirst({
1190
- where,
1241
+ where: {
1242
+ ...where,
1243
+ // states
1244
+ ...isActive ? { isActive } : {},
1245
+ // relations
1246
+ ...topicSlug ? { topic: { slug: topicSlug } } : {}
1247
+ },
1191
1248
  include: POST_FULL_INCLUDE
1192
1249
  });
1193
1250
  }
1194
- async function findWithSeoMetadata(params) {
1195
- const where = buildWhere3(params);
1251
+ async function findWithSeoMetadata({
1252
+ isActive,
1253
+ ...rest
1254
+ }) {
1255
+ const where = buildWhere3(rest);
1196
1256
  if (!where) return null;
1197
1257
  return prisma.post.findFirst({
1198
- where,
1258
+ where: { ...where, ...isActive ? { isActive } : {} },
1199
1259
  include: {
1200
1260
  translations: true,
1201
1261
  seoMetadatas: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yimingliao/cms",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "author": "Yiming Liao",
5
5
  "license": "MIT",
6
6
  "type": "module",