- 新增 Follow 表和 User.bio 字段 (Prisma schema)
- 创建 follow 模块 (action-service-repository)
- 新增 FollowButton/FollowStats/UserList 组件
- 用户页面显示 bio、粉丝/关注数、关注按钮
- 新增 /users/[username]/followers 和 following 页面
- 添加 en-US/zh-CN i18n 翻译
⚠️ 需要运行: prisma migrate dev --name add_follow_and_bio
52 lines
976 B
TypeScript
52 lines
976 B
TypeScript
export type RepoInputCreateFollow = {
|
|
followerId: string;
|
|
followingId: string;
|
|
};
|
|
|
|
export type RepoInputDeleteFollow = {
|
|
followerId: string;
|
|
followingId: string;
|
|
};
|
|
|
|
export type RepoInputCheckFollow = {
|
|
followerId: string;
|
|
followingId: string;
|
|
};
|
|
|
|
export type RepoInputGetFollowers = {
|
|
userId: string;
|
|
page?: number;
|
|
limit?: number;
|
|
};
|
|
|
|
export type RepoInputGetFollowing = {
|
|
userId: string;
|
|
page?: number;
|
|
limit?: number;
|
|
};
|
|
|
|
export type RepoOutputFollowUser = {
|
|
id: string;
|
|
followerId: string;
|
|
followingId: string;
|
|
createdAt: Date;
|
|
};
|
|
|
|
export type RepoOutputFollowWithUser = {
|
|
id: string;
|
|
followerId: string;
|
|
followingId: string;
|
|
createdAt: Date;
|
|
user: {
|
|
id: string;
|
|
username: string | null;
|
|
displayUsername: string | null;
|
|
image: string | null;
|
|
bio: string | null;
|
|
};
|
|
};
|
|
|
|
export type RepoOutputFollowerCount = number;
|
|
export type RepoOutputFollowingCount = number;
|
|
export type RepoOutputIsFollowing = boolean;
|