chore: restore files unintentionally deleted in 6c61a4e

This commit is contained in:
yeuimu
2026-08-26 17:54:35 +08:00
parent 6c61a4e871
commit 005ab5b585
486 changed files with 114058 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
{
"name": "@inkreach/shared-types",
"version": "0.0.0",
"private": true,
"main": "./src/index.ts",
"types": "./src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
"import": "./src/index.ts"
}
}
}
+119
View File
@@ -0,0 +1,119 @@
// ============================================================
// @inkreach/shared-types — 跨子项目共享类型定义
// ============================================================
// 纯类型 exports,无运行时依赖。子项目通过 import type { ... } from '@inkreach/shared-types' 引入。
// ----------------------------------------------------------
// Generic Response Wrappers
// ----------------------------------------------------------
/** 分页响应包装 */
export interface PaginatedResult<T> {
items: T[];
total: number;
page: number;
pageSize: number;
}
/** NestJS 后端 API 响应包络 */
export interface BackendEnvelope<T> {
data: T;
success: boolean;
}
// ----------------------------------------------------------
// Core Entity Data Interfaces (flat, no decorators)
// ----------------------------------------------------------
export interface CountryData {
id: string;
countryName: string;
countryIcon: string | null;
countryCode: string | null;
createdAt?: string;
updatedAt?: string;
}
export interface CategoryData {
id: string;
categoryName: string;
categoryIcon: string | null;
sdsCategoryId: string | null;
parentCategoryId: string | null;
children?: CategoryData[];
_count?: { goods: number };
}
export interface TagData {
id: string;
tagName: string;
tagColor: string | null;
tagFontColor: string | null;
tagGroupId: string | null;
sortOrder: number;
timing: string | null;
createdAt?: string;
updatedAt?: string;
}
export interface TagGroupData {
id: string;
groupName: string;
groupColor: string | null;
groupIcon: string | null;
sortOrder: number;
_count?: { tags: number };
createdAt?: string;
updatedAt?: string;
}
export interface PositionData {
id: string;
positionName: string;
countryId: string;
categoryId: string;
createdAt?: string;
updatedAt?: string;
}
export interface OriginGoodData {
id: string;
sdsGoodId: string;
goodName: string;
sku: string | null;
mainImage: string | null;
createdAt?: string;
}
export interface TagInline {
id: string;
tagName: string;
tagColor: string | null;
tagFontColor: string | null;
}
export interface GoodData {
id: string;
goodName: string;
goodImage: string | null;
goodPriority: number;
originGoodId: string;
originGood?: OriginGoodData;
countryId: string;
country?: CountryData;
categoryId: string;
category?: CategoryData;
tagId?: string;
tag?: TagInline;
tags: TagInline[];
positionId?: string;
position?: PositionData;
createdAt: string;
updatedAt: string;
}
export interface UserData {
id: string;
username: string;
email?: string;
}
+14
View File
@@ -0,0 +1,14 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"declaration": true,
"declarationMap": true,
"outDir": "./dist",
"rootDir": "./src",
"skipLibCheck": true
},
"include": ["src"]
}