@yimingliao/cms 0.0.23 → 0.0.25
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 +19 -10
- package/dist/server/index.js +47 -3
- package/package.json +1 -1
package/dist/server/index.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import Keyv from 'keyv';
|
|
|
5
5
|
import { Logger } from 'logry';
|
|
6
6
|
import { e as AdminRole, v as SingleItem, B as BaseTranslation, a as Admin, c as AdminFull, f as AdminSafe, D as DeviceInfo, d as AdminRefreshToken, k as File, m as FileFull, o as FileType, p as Folder, F as FolderFull, u as PostType, M as MultiItems, E as ExternalLink, j as Faq, T as TocItem, q as Post, s as PostListCard, t as PostTranslation, r as PostFull, S as SeoMetadata, g as AdminTranslation, n as FileTranslation, h as Alternate } from '../base-DbGnfZr6.js';
|
|
7
7
|
import { BaseTranslator, LocaleMessages } from 'intor';
|
|
8
|
-
import { S as SuccessResult, R as Result
|
|
8
|
+
import { S as SuccessResult, R as Result } from '../types-DHlRoJwv.js';
|
|
9
|
+
import { NextResponse } from 'next/server';
|
|
9
10
|
|
|
10
11
|
interface CreateJwtServiceOptions {
|
|
11
12
|
defaultSecret: string;
|
|
@@ -601,7 +602,7 @@ declare const POST_ORDER_BY: ({
|
|
|
601
602
|
type Action<D> = (translator: BaseTranslator<LocaleMessages>) => Promise<Omit<SuccessResult<D>, "success"> & {
|
|
602
603
|
i18nKey?: string;
|
|
603
604
|
}>;
|
|
604
|
-
interface
|
|
605
|
+
interface CreateExecuteActionOptions {
|
|
605
606
|
initI18n: () => Promise<BaseTranslator<LocaleMessages>>;
|
|
606
607
|
cacheResult: <T>({ key, ttl, load }: CacheResultOptions<T>) => Promise<T>;
|
|
607
608
|
cache: Keyv<unknown>;
|
|
@@ -612,14 +613,14 @@ interface ServerActionOptions {
|
|
|
612
613
|
key?: RawCacheKey;
|
|
613
614
|
ttl?: number;
|
|
614
615
|
}
|
|
615
|
-
declare function createExecuteAction({ initI18n, cacheResult, cache, logger, }:
|
|
616
|
+
declare function createExecuteAction({ initI18n, cacheResult, cache, logger, }: CreateExecuteActionOptions): <D = void>(fn: Action<D>, options?: ServerActionOptions) => Promise<Result<D>>;
|
|
616
617
|
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
}
|
|
618
|
+
type Api = (translator: BaseTranslator<LocaleMessages>) => Promise<NextResponse<unknown>>;
|
|
619
|
+
interface CreateExecuteApiOptions {
|
|
620
|
+
initI18n: () => Promise<BaseTranslator<LocaleMessages>>;
|
|
621
|
+
logger: Logger;
|
|
622
|
+
}
|
|
623
|
+
declare function createExecuteApi({ initI18n, logger, }: CreateExecuteApiOptions): (fn: Api) => Promise<NextResponse<unknown>>;
|
|
623
624
|
|
|
624
625
|
declare class ServerError extends Error {
|
|
625
626
|
readonly i18nKey?: string;
|
|
@@ -629,6 +630,14 @@ declare class ServerError extends Error {
|
|
|
629
630
|
i18nKey?: string;
|
|
630
631
|
statusCode?: number;
|
|
631
632
|
});
|
|
633
|
+
/** 401 Unauthorized */
|
|
634
|
+
static unauthorized(): ServerError;
|
|
635
|
+
/** 403 Forbidden */
|
|
636
|
+
static forbidden(): ServerError;
|
|
637
|
+
/** 404 Not found */
|
|
638
|
+
static notFound(): ServerError;
|
|
639
|
+
/** 500 Internal Server Error */
|
|
640
|
+
static internalServerError(): ServerError;
|
|
632
641
|
}
|
|
633
642
|
|
|
634
|
-
export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, type RawCacheKey, ServerError, createAdminCommandRepository, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenQueryRepository, createArgon2Service, createCache, createCacheResult, createCookieService, createCryptoService, createExecuteAction, createFileCommandRepository, createFileQueryRepository, createFolderCommandRepository, createFolderQueryRepository, createIpRateLimiter, createJwtService, createPostCommandRepository, createPostQueryRepository, createSeoMetadataCommandRepository, normalizeCacheKey
|
|
643
|
+
export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, type RawCacheKey, ServerError, createAdminCommandRepository, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenQueryRepository, createArgon2Service, createCache, createCacheResult, createCookieService, createCryptoService, createExecuteAction, createExecuteApi, createFileCommandRepository, createFileQueryRepository, createFolderCommandRepository, createFolderQueryRepository, createIpRateLimiter, createJwtService, createPostCommandRepository, createPostQueryRepository, createSeoMetadataCommandRepository, normalizeCacheKey };
|
package/dist/server/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import KeyvRedis from '@keyv/redis';
|
|
|
8
8
|
import Keyv from 'keyv';
|
|
9
9
|
import { ulid } from 'ulid';
|
|
10
10
|
import { ZodError } from 'zod';
|
|
11
|
+
import { NextResponse } from 'next/server';
|
|
11
12
|
|
|
12
13
|
function createJwtService({
|
|
13
14
|
defaultSecret,
|
|
@@ -1423,7 +1424,7 @@ function createSeoMetadataCommandRepository(prisma) {
|
|
|
1423
1424
|
}
|
|
1424
1425
|
|
|
1425
1426
|
// src/server/server-error.ts
|
|
1426
|
-
var ServerError = class extends Error {
|
|
1427
|
+
var ServerError = class _ServerError extends Error {
|
|
1427
1428
|
i18nKey;
|
|
1428
1429
|
statusCode;
|
|
1429
1430
|
constructor({
|
|
@@ -1436,9 +1437,28 @@ var ServerError = class extends Error {
|
|
|
1436
1437
|
if (i18nKey) this.i18nKey = i18nKey;
|
|
1437
1438
|
if (statusCode) this.statusCode = statusCode;
|
|
1438
1439
|
}
|
|
1440
|
+
/** 401 Unauthorized */
|
|
1441
|
+
static unauthorized() {
|
|
1442
|
+
return new _ServerError({ i18nKey: "error.unauthorized", statusCode: 401 });
|
|
1443
|
+
}
|
|
1444
|
+
/** 403 Forbidden */
|
|
1445
|
+
static forbidden() {
|
|
1446
|
+
return new _ServerError({ i18nKey: "error.forbidden", statusCode: 403 });
|
|
1447
|
+
}
|
|
1448
|
+
/** 404 Not found */
|
|
1449
|
+
static notFound() {
|
|
1450
|
+
return new _ServerError({ i18nKey: "error.not-found", statusCode: 404 });
|
|
1451
|
+
}
|
|
1452
|
+
/** 500 Internal Server Error */
|
|
1453
|
+
static internalServerError() {
|
|
1454
|
+
return new _ServerError({
|
|
1455
|
+
i18nKey: "error.internal-server-error",
|
|
1456
|
+
statusCode: 500
|
|
1457
|
+
});
|
|
1458
|
+
}
|
|
1439
1459
|
};
|
|
1440
1460
|
|
|
1441
|
-
// src/server/interfaces/
|
|
1461
|
+
// src/server/interfaces/normalize-error.ts
|
|
1442
1462
|
var normalizeError = (error, translator) => {
|
|
1443
1463
|
if (error instanceof ZodError) {
|
|
1444
1464
|
const errors = error.issues.map((issue) => {
|
|
@@ -1501,5 +1521,29 @@ function createExecuteAction({
|
|
|
1501
1521
|
}
|
|
1502
1522
|
};
|
|
1503
1523
|
}
|
|
1524
|
+
function createExecuteApi({
|
|
1525
|
+
initI18n,
|
|
1526
|
+
logger
|
|
1527
|
+
}) {
|
|
1528
|
+
return async function serverApi(fn) {
|
|
1529
|
+
const translator = await initI18n();
|
|
1530
|
+
try {
|
|
1531
|
+
return await fn(translator);
|
|
1532
|
+
} catch (error) {
|
|
1533
|
+
const { message, errors, statusCode, isInternal } = normalizeError(
|
|
1534
|
+
error,
|
|
1535
|
+
translator
|
|
1536
|
+
);
|
|
1537
|
+
logger.error({ message, errors });
|
|
1538
|
+
return NextResponse.json(
|
|
1539
|
+
result.error({
|
|
1540
|
+
message: isInternal ? "Internal server error" : message,
|
|
1541
|
+
...errors ? { errors } : {}
|
|
1542
|
+
}),
|
|
1543
|
+
{ status: statusCode }
|
|
1544
|
+
);
|
|
1545
|
+
}
|
|
1546
|
+
};
|
|
1547
|
+
}
|
|
1504
1548
|
|
|
1505
|
-
export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, ServerError, createAdminCommandRepository, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenQueryRepository, createArgon2Service, createCache, createCacheResult, createCookieService, createCryptoService, createExecuteAction, createFileCommandRepository, createFileQueryRepository, createFolderCommandRepository, createFolderQueryRepository, createIpRateLimiter, createJwtService, createPostCommandRepository, createPostQueryRepository, createSeoMetadataCommandRepository, normalizeCacheKey
|
|
1549
|
+
export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY, ServerError, createAdminCommandRepository, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenQueryRepository, createArgon2Service, createCache, createCacheResult, createCookieService, createCryptoService, createExecuteAction, createExecuteApi, createFileCommandRepository, createFileQueryRepository, createFolderCommandRepository, createFolderQueryRepository, createIpRateLimiter, createJwtService, createPostCommandRepository, createPostQueryRepository, createSeoMetadataCommandRepository, normalizeCacheKey };
|