@yimingliao/cms 0.0.56 → 0.0.58

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.
@@ -414,8 +414,8 @@ interface UpdateParams$1 {
414
414
  }
415
415
 
416
416
  declare function createFolderCommandRepository(prisma: any): {
417
- create: ({ parentFolder, ...params }: CreateParams$1) => Promise<Folder>;
418
- update: ({ id, parentFolder, ...params }: UpdateParams$1) => Promise<Folder>;
417
+ create: ({ key, name, parentFolder, }: CreateParams$1) => Promise<Folder>;
418
+ update: ({ id, key, name, parentFolder, }: UpdateParams$1) => Promise<Folder>;
419
419
  delete: ({ id }: {
420
420
  id: string;
421
421
  }) => Promise<Folder>;
@@ -1153,13 +1153,54 @@ declare const fileCreateValidator: (schemas: ReturnType<typeof createSchemas>) =
1153
1153
  }[]>>;
1154
1154
  }, zod_v4_core.$strip>;
1155
1155
 
1156
- type FileCreateFormData = zod__default.infer<ReturnType<typeof fileCreateValidator>>;
1156
+ type FileCreateFormData = Omit<zod__default.infer<ReturnType<typeof fileCreateValidator>>, "folder"> & {
1157
+ folder: Folder | null;
1158
+ };
1157
1159
  declare function createFileCreateAction(ctx: ActionContext): ({ formData, }: {
1158
1160
  formData: FileCreateFormData;
1159
1161
  }) => Promise<Result<{
1160
1162
  file: FileFull;
1161
1163
  }>>;
1162
1164
 
1165
+ declare const fileUpdateValidator: (schemas: ReturnType<typeof createSchemas>) => zod.ZodObject<{
1166
+ key: zod.ZodOptional<zod.ZodString>;
1167
+ checksum: zod.ZodOptional<zod.ZodString>;
1168
+ fileMeta: zod.ZodObject<{
1169
+ type: zod.ZodString;
1170
+ size: zod.ZodPipe<zod.ZodTransform<number | undefined, unknown>, zod.ZodNumber>;
1171
+ name: zod.ZodString;
1172
+ }, zod_v4_core.$strip>;
1173
+ width: zod.ZodNullable<zod.ZodPipe<zod.ZodTransform<number | undefined, unknown>, zod.ZodNumber>>;
1174
+ height: zod.ZodNullable<zod.ZodPipe<zod.ZodTransform<number | undefined, unknown>, zod.ZodNumber>>;
1175
+ duration: zod.ZodNullable<zod.ZodPipe<zod.ZodTransform<number | undefined, unknown>, zod.ZodNumber>>;
1176
+ folder: zod.ZodOptional<zod.ZodNullable<zod.ZodObject<{
1177
+ id: zod.ZodString;
1178
+ }, zod_v4_core.$strip>>>;
1179
+ translations: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
1180
+ locale: zod.ZodString;
1181
+ name: zod.ZodNullable<zod.ZodString>;
1182
+ alt: zod.ZodNullable<zod.ZodString>;
1183
+ }, zod_v4_core.$strip>>, zod.ZodTransform<{
1184
+ locale: string;
1185
+ name: string | null;
1186
+ alt: string | null;
1187
+ }[], {
1188
+ locale: string;
1189
+ name: string | null;
1190
+ alt: string | null;
1191
+ }[]>>;
1192
+ }, zod_v4_core.$strip>;
1193
+
1194
+ type FileUpdateFormData = Omit<zod__default.infer<ReturnType<typeof fileUpdateValidator>>, "folder"> & {
1195
+ folder: Folder | null;
1196
+ };
1197
+ declare function createFileUpdateAction(ctx: ActionContext): ({ id, formData, }: {
1198
+ id: string;
1199
+ formData: FileUpdateFormData;
1200
+ }) => Promise<Result<{
1201
+ file: File$1;
1202
+ }>>;
1203
+
1163
1204
  declare const fileCreateManyValidator: (schemas: ReturnType<typeof createSchemas>) => zod.ZodObject<{
1164
1205
  uploadResults: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
1165
1206
  key: zod.ZodString;
@@ -1272,6 +1313,63 @@ declare function createFileFindListCardsAction(ctx: ActionContext): (params: {
1272
1313
  total: number;
1273
1314
  }>>;
1274
1315
 
1316
+ declare const folderCreateValidator: (schemas: ReturnType<typeof createSchemas>) => zod.ZodObject<{
1317
+ key: zod.ZodString;
1318
+ name: zod.ZodString;
1319
+ parentFolder: zod.ZodNullable<zod.ZodObject<{
1320
+ id: zod.ZodString;
1321
+ }, zod_v4_core.$strip>>;
1322
+ }, zod_v4_core.$strip>;
1323
+
1324
+ type FolderCreateFormData = Pick<zod__default.infer<ReturnType<typeof folderCreateValidator>>, "name"> & {
1325
+ parentFolder: Folder | null;
1326
+ };
1327
+ declare function createFolderCreateAction(ctx: ActionContext): ({ formData, }: {
1328
+ formData: FolderCreateFormData;
1329
+ }) => Promise<Result<{
1330
+ folder: Folder;
1331
+ }>>;
1332
+
1333
+ declare const folderUpdateValidator: (schemas: ReturnType<typeof createSchemas>, id: string) => zod.ZodObject<{
1334
+ key: zod.ZodString;
1335
+ name: zod.ZodString;
1336
+ parentFolder: zod.ZodNullable<zod.ZodObject<{
1337
+ id: zod.ZodString;
1338
+ }, zod_v4_core.$strip>>;
1339
+ }, zod_v4_core.$strip>;
1340
+
1341
+ type FolderUpdateFormData = Pick<zod__default.infer<ReturnType<typeof folderUpdateValidator>>, "name"> & {
1342
+ parentFolder: Folder | null;
1343
+ };
1344
+ declare function createFolderUpdateAction(ctx: ActionContext): ({ id, formData, }: {
1345
+ id: string;
1346
+ formData: FolderUpdateFormData;
1347
+ }) => Promise<Result<{
1348
+ folder: Folder;
1349
+ }>>;
1350
+
1351
+ declare function createFolderDeleteAction(ctx: ActionContext): ({ id }: {
1352
+ id: string;
1353
+ }) => Promise<Result<void>>;
1354
+
1355
+ declare function createFolderFindFullAction(ctx: ActionContext): (params: {
1356
+ id?: string;
1357
+ key?: string;
1358
+ }) => Promise<Result<{
1359
+ folder: FolderFull;
1360
+ }>>;
1361
+
1362
+ declare function createFolderFindListCardsAction(ctx: ActionContext): (params: {
1363
+ searchString?: string;
1364
+ parentFolderId?: string;
1365
+ folderIds?: string[];
1366
+ page: number;
1367
+ pageSize: number;
1368
+ }) => Promise<Result<{
1369
+ items: FolderFull[];
1370
+ total: number;
1371
+ }>>;
1372
+
1275
1373
  declare class ServerError extends Error {
1276
1374
  readonly i18nKey?: string;
1277
1375
  readonly statusCode?: number;
@@ -1290,4 +1388,4 @@ declare class ServerError extends Error {
1290
1388
  static internalServerError(): ServerError;
1291
1389
  }
1292
1390
 
1293
- export { ADMIN_ORDER_BY, type ActionContext, type AdminCreateFormData, type AdminUpdateFormData, type ChangePasswordFormData, type EmailUnverifiedFormData, type FileCreateFormData, type FileCreateManyFormData, type ForgotPasswordFormData, ORDER_BY, POST_ORDER_BY, type RawCacheKey, type ResetPasswordFormData, ServerError, type SignInFormData, type VerifyEmailFormData, createAdminCommandRepository, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminRefreshTokenQueryRepository, createAdminUpdateAction, createArgon2Service, createAuthMiddleware, createAuthUseCases, createCache, createCacheResult, createChangePasswordAction, createCookieService, createCryptoService, createEmailUnverifiedAction, createEmailVerificationEmail, createExecuteAction, createExecuteApi, createExist, createFileCommandRepository, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileQueryRepository, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFolderCommandRepository, createFolderQueryRepository, createForgotPasswordAction, createForgotPasswordEmail, createIpRateLimiter, createJwtService, createMultiFileSchema, createPostCommandRepository, createPostQueryRepository, createRenderEmailTemplate, createResetPasswordAction, createSchemas, createSendEmail, createSeoMetadataCommandRepository, createSignInAction, createSignOutAction, createTocItemSchema, createTransporter, createUnique, createVerifyAccessToken, createVerifyAction, createVerifyEmailAction, createVerifyRefreshToken, createZod, normalizeCacheKey };
1391
+ export { ADMIN_ORDER_BY, type ActionContext, type AdminCreateFormData, type AdminUpdateFormData, type ChangePasswordFormData, type EmailUnverifiedFormData, type FileCreateFormData, type FileCreateManyFormData, type FileUpdateFormData, type FolderCreateFormData, type FolderUpdateFormData, type ForgotPasswordFormData, ORDER_BY, POST_ORDER_BY, type RawCacheKey, type ResetPasswordFormData, ServerError, type SignInFormData, type VerifyEmailFormData, createAdminCommandRepository, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminRefreshTokenQueryRepository, createAdminUpdateAction, createArgon2Service, createAuthMiddleware, createAuthUseCases, createCache, createCacheResult, createChangePasswordAction, createCookieService, createCryptoService, createEmailUnverifiedAction, createEmailVerificationEmail, createExecuteAction, createExecuteApi, createExist, createFileCommandRepository, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileQueryRepository, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFileUpdateAction, createFolderCommandRepository, createFolderCreateAction, createFolderDeleteAction, createFolderFindFullAction, createFolderFindListCardsAction, createFolderQueryRepository, createFolderUpdateAction, createForgotPasswordAction, createForgotPasswordEmail, createIpRateLimiter, createJwtService, createMultiFileSchema, createPostCommandRepository, createPostQueryRepository, createRenderEmailTemplate, createResetPasswordAction, createSchemas, createSendEmail, createSeoMetadataCommandRepository, createSignInAction, createSignOutAction, createTocItemSchema, createTransporter, createUnique, createVerifyAccessToken, createVerifyAction, createVerifyEmailAction, createVerifyRefreshToken, createZod, normalizeCacheKey };
@@ -1,4 +1,4 @@
1
- import { ADMIN_ROLES, isFileLocked, ROOT_FOLDER_ID } from '../chunk-FUAJWL2N.js';
1
+ import { ADMIN_ROLES, isFileLocked, isFolderLocked, ROOT_FOLDER_ID, ROOT_FOLDER } from '../chunk-FUAJWL2N.js';
2
2
  import { SIZE, result, mimeToExtension, classifyFileType } from '../chunk-YAUBKQVA.js';
3
3
  import jwt from 'jsonwebtoken';
4
4
  import argon2 from 'argon2';
@@ -12,6 +12,7 @@ import { readFile } from 'fs/promises';
12
12
  import path from 'path';
13
13
  import { ulid } from 'ulid';
14
14
  import { NextResponse } from 'next/server';
15
+ import path2 from 'path/posix';
15
16
 
16
17
  function createJwtService({
17
18
  defaultSecret,
@@ -1303,17 +1304,20 @@ function createFileQueryRepository(prisma) {
1303
1304
  // src/server/infrastructure/database/folder/command/create-folder-command-repository.ts
1304
1305
  function createFolderCommandRepository(prisma) {
1305
1306
  async function create({
1307
+ // core
1308
+ key,
1309
+ name,
1306
1310
  // ------------------------------------
1307
1311
  // relations
1308
1312
  // ------------------------------------
1309
1313
  // Folder
1310
- parentFolder,
1311
- // rest
1312
- ...params
1314
+ parentFolder
1313
1315
  }) {
1314
1316
  const created = await prisma.folder.create({
1315
1317
  data: {
1316
- ...params,
1318
+ // core
1319
+ key,
1320
+ name,
1317
1321
  // ------------------------------------------------------------------------
1318
1322
  // relations
1319
1323
  // ------------------------------------------------------------------------
@@ -1325,18 +1329,21 @@ function createFolderCommandRepository(prisma) {
1325
1329
  }
1326
1330
  async function update({
1327
1331
  id,
1332
+ // core
1333
+ key,
1334
+ name,
1328
1335
  // ------------------------------------
1329
1336
  // relations
1330
1337
  // ------------------------------------
1331
1338
  // Folder
1332
- parentFolder,
1333
- // rest
1334
- ...params
1339
+ parentFolder
1335
1340
  }) {
1336
1341
  const updated = await prisma.folder.update({
1337
1342
  where: { id },
1338
1343
  data: {
1339
- ...params,
1344
+ // core
1345
+ key,
1346
+ name,
1340
1347
  // ------------------------------------------------------------------------
1341
1348
  // relations
1342
1349
  // ------------------------------------------------------------------------
@@ -2557,11 +2564,13 @@ function createAdminDeleteAction(ctx) {
2557
2564
  function createAdminFindFullAction(ctx) {
2558
2565
  const {
2559
2566
  repositories: { adminQueryRepository },
2567
+ middlewares: { authMiddleware },
2560
2568
  action: { executeAction }
2561
2569
  } = ctx;
2562
2570
  return async function adminFindFullAction(params) {
2563
2571
  return executeAction(
2564
2572
  async () => {
2573
+ await authMiddleware.authenticate();
2565
2574
  const admin = await adminQueryRepository.findFull(params);
2566
2575
  if (!admin) throw ServerError.notFound();
2567
2576
  return {
@@ -2772,6 +2781,94 @@ function createFileCreateAction(ctx) {
2772
2781
  };
2773
2782
  }
2774
2783
 
2784
+ // src/server/interfaces/actions/resources/file/commands/update/file-update-validator.ts
2785
+ var fileUpdateValidator = (schemas) => schemas.z.object({
2786
+ // core
2787
+ key: schemas.key().optional(),
2788
+ checksum: schemas.sha256Hash().optional(),
2789
+ // file meta
2790
+ fileMeta: schemas.z.object({
2791
+ type: schemas.text(),
2792
+ size: schemas.positiveNumber(),
2793
+ name: schemas.text()
2794
+ }),
2795
+ // media info
2796
+ width: schemas.positiveNumber().nullable(),
2797
+ height: schemas.positiveNumber().nullable(),
2798
+ duration: schemas.positiveNumber().nullable(),
2799
+ // ----------------------------------------------------------------------------
2800
+ // relations
2801
+ // ----------------------------------------------------------------------------
2802
+ folder: schemas.z.object({
2803
+ id: schemas.id().exist({ table: "folders", column: "id" })
2804
+ }).nullable().optional(),
2805
+ // ----------------------------------------------------------------------------
2806
+ // translation
2807
+ // ----------------------------------------------------------------------------
2808
+ translations: schemas.array(
2809
+ schemas.z.object({
2810
+ // core
2811
+ locale: schemas.locale(),
2812
+ // text
2813
+ name: schemas.text().nullable(),
2814
+ alt: schemas.text().nullable()
2815
+ })
2816
+ )
2817
+ });
2818
+ function createFileUpdateAction(ctx) {
2819
+ const {
2820
+ services: { storageService },
2821
+ repositories: { fileQueryRepository, fileCommandRepository },
2822
+ middlewares: { authMiddleware },
2823
+ action: { executeAction },
2824
+ schemas
2825
+ } = ctx;
2826
+ return async function fileUpdateAction({
2827
+ id,
2828
+ formData
2829
+ }) {
2830
+ return executeAction(
2831
+ async () => {
2832
+ await authMiddleware.authenticate();
2833
+ const { checksum, width, height, duration, translations } = await fileUpdateValidator(schemas).parseAsync(formData);
2834
+ const { folder, fileMeta, key: uploadedKey } = formData;
2835
+ const foundFile = await fileQueryRepository.findFull({ id });
2836
+ if (!foundFile) throw ServerError.notFound();
2837
+ const oldKey = foundFile.key;
2838
+ let newKey = oldKey;
2839
+ const folderChanged = folder?.key !== foundFile.folder?.key;
2840
+ if (uploadedKey) {
2841
+ newKey = uploadedKey;
2842
+ } else if (folderChanged) {
2843
+ const folderKey = folder?.key ?? "";
2844
+ newKey = path2.join(folderKey, path2.basename(oldKey));
2845
+ await storageService.move({ fromKey: oldKey, toKey: newKey });
2846
+ }
2847
+ const updatedFile = await fileCommandRepository.update({
2848
+ file: foundFile,
2849
+ id,
2850
+ key: newKey,
2851
+ checksum: checksum ?? foundFile.checksum,
2852
+ fileMeta,
2853
+ width,
2854
+ height,
2855
+ duration,
2856
+ folder,
2857
+ translations
2858
+ });
2859
+ if (uploadedKey) {
2860
+ await storageService.remove({ key: oldKey });
2861
+ }
2862
+ return {
2863
+ i18nKey: "ok.update-ok",
2864
+ data: { file: updatedFile }
2865
+ };
2866
+ },
2867
+ { type: "command" }
2868
+ );
2869
+ };
2870
+ }
2871
+
2775
2872
  // src/server/interfaces/actions/resources/file/commands/create-many/file-create-many-validator.ts
2776
2873
  var fileCreateManyValidator = (schemas) => schemas.z.object({
2777
2874
  uploadResults: schemas.array(
@@ -3191,6 +3288,204 @@ function createFileFindListCardsAction(ctx) {
3191
3288
  };
3192
3289
  }
3193
3290
 
3291
+ // src/server/interfaces/actions/resources/folder/commands/create/folder-create-validator.ts
3292
+ var folderCreateValidator = (schemas) => schemas.z.object({
3293
+ // core
3294
+ key: schemas.key().unique({ table: "folders", column: "key" }),
3295
+ name: schemas.pathSegment(),
3296
+ // ----------------------------------------------------------------------------
3297
+ // relations
3298
+ // ----------------------------------------------------------------------------
3299
+ // Folder
3300
+ parentFolder: schemas.z.object({ id: schemas.id().exist({ table: "folders", column: "id" }) }).nullable()
3301
+ });
3302
+ function createFolderCreateAction(ctx) {
3303
+ const {
3304
+ repositories: { folderCommandRepository },
3305
+ middlewares: { authMiddleware },
3306
+ action: { executeAction },
3307
+ schemas
3308
+ } = ctx;
3309
+ return async function folderCreateAction({
3310
+ formData
3311
+ }) {
3312
+ return executeAction(
3313
+ async () => {
3314
+ await authMiddleware.authenticate();
3315
+ const combinedKey = path2.join(
3316
+ formData.parentFolder?.key ?? "",
3317
+ formData.name
3318
+ );
3319
+ const { name } = await folderCreateValidator(schemas).parseAsync({
3320
+ ...formData,
3321
+ key: combinedKey
3322
+ });
3323
+ const createdFolder = await folderCommandRepository.create({
3324
+ key: combinedKey,
3325
+ name,
3326
+ parentFolder: formData.parentFolder
3327
+ });
3328
+ return {
3329
+ i18nKey: "ok.store-ok",
3330
+ data: { folder: createdFolder }
3331
+ };
3332
+ },
3333
+ { type: "command" }
3334
+ );
3335
+ };
3336
+ }
3337
+
3338
+ // src/server/interfaces/actions/resources/folder/commands/update/folder-update-validator.ts
3339
+ var folderUpdateValidator = (schemas, id) => schemas.z.object({
3340
+ // core
3341
+ key: schemas.key().unique({
3342
+ table: "folders",
3343
+ column: "key",
3344
+ excludeSelf: { name: "id", value: id }
3345
+ }),
3346
+ name: schemas.pathSegment(),
3347
+ // ----------------------------------------------------------------------------
3348
+ // relations
3349
+ // ----------------------------------------------------------------------------
3350
+ // Folder
3351
+ parentFolder: schemas.z.object({ id: schemas.id().exist({ table: "folders", column: "id" }) }).nullable()
3352
+ });
3353
+ function createFolderUpdateAction(ctx) {
3354
+ const {
3355
+ repositories: { folderCommandRepository },
3356
+ middlewares: { authMiddleware },
3357
+ action: { executeAction },
3358
+ schemas
3359
+ } = ctx;
3360
+ return async function folderUpdateAction({
3361
+ id,
3362
+ formData
3363
+ }) {
3364
+ return executeAction(
3365
+ async () => {
3366
+ await authMiddleware.authenticate();
3367
+ const combinedKey = path2.join(
3368
+ formData.parentFolder?.key ?? "",
3369
+ formData.name
3370
+ );
3371
+ const { name } = await folderUpdateValidator(schemas, id).parseAsync({
3372
+ ...formData,
3373
+ key: combinedKey
3374
+ });
3375
+ const updateddFolder = await folderCommandRepository.update({
3376
+ id,
3377
+ key: combinedKey,
3378
+ name,
3379
+ parentFolder: formData.parentFolder
3380
+ });
3381
+ return {
3382
+ i18nKey: "ok.update-ok",
3383
+ data: { folder: updateddFolder }
3384
+ };
3385
+ },
3386
+ { type: "command" }
3387
+ );
3388
+ };
3389
+ }
3390
+
3391
+ // src/server/interfaces/actions/resources/folder/commands/delete/create-folder-delete-action.ts
3392
+ function createFolderDeleteAction(ctx) {
3393
+ const {
3394
+ repositories: { folderQueryRepository, folderCommandRepository },
3395
+ middlewares: { authMiddleware },
3396
+ action: { executeAction }
3397
+ } = ctx;
3398
+ return async function folderDeleteAction({ id }) {
3399
+ return executeAction(
3400
+ async () => {
3401
+ await authMiddleware.authenticate();
3402
+ const foundFolder = await folderQueryRepository.findFull({ id });
3403
+ if (!foundFolder) throw ServerError.notFound();
3404
+ if (isFolderLocked(foundFolder)) {
3405
+ throw ServerError.forbidden();
3406
+ }
3407
+ await folderCommandRepository.delete({ id });
3408
+ return {
3409
+ i18nKey: "ok.destroy-ok"
3410
+ };
3411
+ },
3412
+ { type: "command" }
3413
+ );
3414
+ };
3415
+ }
3416
+
3417
+ // src/server/interfaces/actions/resources/folder/queries/create-folder-find-full-action.ts
3418
+ function createFolderFindFullAction(ctx) {
3419
+ const {
3420
+ repositories: { folderQueryRepository, fileQueryRepository },
3421
+ middlewares: { authMiddleware },
3422
+ action: { executeAction }
3423
+ } = ctx;
3424
+ return async function folderFindFullAction(params) {
3425
+ return executeAction(
3426
+ async (translator) => {
3427
+ await authMiddleware.authenticate();
3428
+ const resolvedKey = params.key || ROOT_FOLDER_ID;
3429
+ const identity = "id" in params ? params.id : resolvedKey;
3430
+ const isAtRoot = identity === ROOT_FOLDER_ID;
3431
+ let folder = ROOT_FOLDER;
3432
+ if (isAtRoot) {
3433
+ const { items: subFolders } = await folderQueryRepository.findListCards({
3434
+ parentFolderId: ROOT_FOLDER_ID
3435
+ });
3436
+ folder.subFolders = subFolders;
3437
+ const { items: files } = await fileQueryRepository.findListCards({
3438
+ locale: translator.locale,
3439
+ folderId: ROOT_FOLDER_ID
3440
+ });
3441
+ folder.files = files;
3442
+ } else {
3443
+ const found = await folderQueryRepository.findFull(params);
3444
+ if (!found) throw ServerError.notFound();
3445
+ folder = found;
3446
+ }
3447
+ return { data: { folder } };
3448
+ },
3449
+ {
3450
+ type: "query",
3451
+ key: ["file", "findFullAction", params.id, params.key]
3452
+ }
3453
+ );
3454
+ };
3455
+ }
3456
+
3457
+ // src/server/interfaces/actions/resources/folder/queries/create-folder-find-list-cards-action.ts
3458
+ function createFolderFindListCardsAction(ctx) {
3459
+ const {
3460
+ repositories: { folderQueryRepository },
3461
+ middlewares: { authMiddleware },
3462
+ action: { executeAction }
3463
+ } = ctx;
3464
+ return async function folderFindFullAction(params) {
3465
+ return executeAction(
3466
+ async () => {
3467
+ await authMiddleware.authenticate();
3468
+ const { items, total } = await folderQueryRepository.findListCards(params);
3469
+ return {
3470
+ data: { items, total }
3471
+ };
3472
+ },
3473
+ {
3474
+ type: "query",
3475
+ key: [
3476
+ "folder",
3477
+ "findListCardsAction",
3478
+ params.searchString,
3479
+ params.parentFolderId,
3480
+ ...params.folderIds ?? [],
3481
+ params.page,
3482
+ params.pageSize
3483
+ ]
3484
+ }
3485
+ );
3486
+ };
3487
+ }
3488
+
3194
3489
  // src/server/applications/auth/create-auth-use-cases.ts
3195
3490
  function createAuthUseCases({
3196
3491
  prisma,
@@ -3370,4 +3665,4 @@ function createForgotPasswordEmail({
3370
3665
  };
3371
3666
  }
3372
3667
 
3373
- export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, ServerError, createAdminCommandRepository, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminRefreshTokenQueryRepository, createAdminUpdateAction, createArgon2Service, createAuthMiddleware, createAuthUseCases, createCache, createCacheResult, createChangePasswordAction, createCookieService, createCryptoService, createEmailUnverifiedAction, createEmailVerificationEmail, createExecuteAction, createExecuteApi, createExist, createFileCommandRepository, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileQueryRepository, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFolderCommandRepository, createFolderQueryRepository, createForgotPasswordAction, createForgotPasswordEmail, createIpRateLimiter, createJwtService, createMultiFileSchema, createPostCommandRepository, createPostQueryRepository, createRenderEmailTemplate, createResetPasswordAction, createSchemas, createSendEmail, createSeoMetadataCommandRepository, createSignInAction, createSignOutAction, createTocItemSchema, createTransporter, createUnique, createVerifyAccessToken, createVerifyAction, createVerifyEmailAction, createVerifyRefreshToken, createZod, normalizeCacheKey };
3668
+ export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, ServerError, createAdminCommandRepository, createAdminCreateAction, createAdminDeleteAction, createAdminFindFullAction, createAdminFindListCardsAction, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenDeleteAction, createAdminRefreshTokenFindManyAction, createAdminRefreshTokenQueryRepository, createAdminUpdateAction, createArgon2Service, createAuthMiddleware, createAuthUseCases, createCache, createCacheResult, createChangePasswordAction, createCookieService, createCryptoService, createEmailUnverifiedAction, createEmailVerificationEmail, createExecuteAction, createExecuteApi, createExist, createFileCommandRepository, createFileCreateAction, createFileCreateManyAction, createFileFindFullAction, createFileFindListCardsAction, createFilePurgeManyAction, createFileQueryRepository, createFileRestoreManyAction, createFileSchema, createFileSoftDeleteAction, createFileSoftDeleteManyAction, createFileUpdateAction, createFolderCommandRepository, createFolderCreateAction, createFolderDeleteAction, createFolderFindFullAction, createFolderFindListCardsAction, createFolderQueryRepository, createFolderUpdateAction, createForgotPasswordAction, createForgotPasswordEmail, createIpRateLimiter, createJwtService, createMultiFileSchema, createPostCommandRepository, createPostQueryRepository, createRenderEmailTemplate, createResetPasswordAction, createSchemas, createSendEmail, createSeoMetadataCommandRepository, createSignInAction, createSignOutAction, createTocItemSchema, createTransporter, createUnique, createVerifyAccessToken, createVerifyAction, createVerifyEmailAction, createVerifyRefreshToken, createZod, normalizeCacheKey };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yimingliao/cms",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
4
4
  "author": "Yiming Liao",
5
5
  "license": "MIT",
6
6
  "type": "module",