Skip to content

Commit

Permalink
Merge branch 'feature/be-home' of https://github.com/boostcampwm2023/…
Browse files Browse the repository at this point in the history
…and06-nibobnebob into feature/be-home
  • Loading branch information
LeeTH916 committed Nov 23, 2023
2 parents 1bcf4cf + 05fe3ae commit fb8f696
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 17 deletions.
10 changes: 10 additions & 0 deletions be/src/restaurant/entities/restaurant.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ import {
CreateDateColumn,
UpdateDateColumn,
Unique,
OneToMany,
} from "typeorm";
import { Point } from "geojson";
import { ReviewInfoEntity } from "src/review/entities/review.entity";
import { User } from "src/user/entities/user.entity";
import { UserRestaurantListEntity } from "src/user/entities/user.restaurantlist.entity";

@Unique("unique_name_location", ["name", "location"])
@Entity("restaurant")
Expand Down Expand Up @@ -45,4 +49,10 @@ export class RestaurantInfoEntity {

@UpdateDateColumn({ name: "updated_at" })
updatedAt: Date;

@OneToMany(() => UserRestaurantListEntity, userRestaurant => userRestaurant.restaurant)
userRestaurant: UserRestaurantListEntity

@OneToMany(() => ReviewInfoEntity, review => review.restaurant)
review: ReviewInfoEntity
}
21 changes: 13 additions & 8 deletions be/src/review/entities/review.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,17 @@ import {
CreateDateColumn,
ManyToOne,
JoinColumn,
OneToOne,
} from "typeorm";
import { User } from "src/user/entities/user.entity";
import { RestaurantInfoEntity } from "src/restaurant/entities/restaurant.entity";
import { UserRestaurantListEntity } from "src/user/entities/user.restaurantlist.entity";

@Entity("review")
export class ReviewInfoEntity {
@PrimaryGeneratedColumn("increment")
id: number;

@ManyToOne(() => User)
@JoinColumn({ name: "user_id" })
user: User;

@ManyToOne(() => RestaurantInfoEntity)
@JoinColumn({ name: "restaurant_id" })
restaurant: RestaurantInfoEntity;

@Column({ type: "boolean" })
visitMethod: boolean;

Expand All @@ -45,4 +39,15 @@ export class ReviewInfoEntity {

@CreateDateColumn({ name: "created_at" })
createdAt: Date;

@ManyToOne(() => User)
@JoinColumn({ name: "user_id" })
user: User;

@ManyToOne(() => RestaurantInfoEntity)
@JoinColumn({ name: "restaurant_id" })
restaurant: RestaurantInfoEntity;

@OneToOne(() => UserRestaurantListEntity)
userRestaurant: UserRestaurantListEntity
}
18 changes: 17 additions & 1 deletion be/src/user/entities/user.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ import {
CreateDateColumn,
UpdateDateColumn,
DeleteDateColumn,
OneToMany,
} from "typeorm";
import { FollowEntity } from "./user.followList.entity";
import { UserRestaurantListEntity } from "./user.restaurantlist.entity";
import { ReviewInfoEntity } from "src/review/entities/review.entity";

@Entity()
export class User {
Expand Down Expand Up @@ -41,4 +45,16 @@ export class User {

@UpdateDateColumn({ type: "timestamp" })
updated_at: Date;
}

@OneToMany(() => FollowEntity, follow => follow.followingUserId)
following: FollowEntity[]

@OneToMany(() => FollowEntity, follow => follow.followedUserId)
follower: FollowEntity[]

@OneToMany(() => UserRestaurantListEntity, list => list.userId)
restaurant: UserRestaurantListEntity[]

@OneToMany(() => ReviewInfoEntity, review => review.user)
review: UserRestaurantListEntity[]
}
10 changes: 8 additions & 2 deletions be/src/user/entities/user.followList.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,9 @@ import { User } from "./user.entity";

@Entity("follow")
export class FollowEntity {
@ManyToOne(() => User)
@PrimaryColumn({ name: "following_user_id" })
followingUserId: number;

@ManyToOne(() => User)
@PrimaryColumn({ name: "followed_user_id" })
followedUserId: number;

Expand All @@ -23,4 +21,12 @@ export class FollowEntity {

@DeleteDateColumn({ name: "deleted_at", nullable: true, type: "timestamp" })
deletedAt: Date | null;

@ManyToOne(() => User)
@JoinColumn({ name: "following_user_id" })
followingUser: User;

@ManyToOne(() => User)
@JoinColumn({ name: "followed_user_id" })
followedUser: User;
}
20 changes: 14 additions & 6 deletions be/src/user/entities/user.restaurantlist.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,29 @@ import { ReviewInfoEntity } from "src/review/entities/review.entity";

@Entity("user_restaurant_lists")
export class UserRestaurantListEntity {
@ManyToOne(() => User)
@PrimaryColumn({ name: "user_id" })
userId: number;

@ManyToOne(() => RestaurantInfoEntity)
@PrimaryColumn({ name: "restaurant_id" })
restaurantId: number;

@ManyToOne(() => ReviewInfoEntity)
@JoinColumn({ name: "review_id" })
reviewId: ReviewInfoEntity;

@CreateDateColumn({ name: "created_at", type: "timestamp" })
createdAt: Date;

@Column({ name: "deleted_at", type: "timestamp", nullable: true })
deletedAt: Date | null;

@ManyToOne(() => User)
@JoinColumn({ name: "user_id" })
user: User;

@ManyToOne(() => RestaurantInfoEntity)
@JoinColumn({ name: "restaurant_id" })
restaurant: RestaurantInfoEntity;

@ManyToOne(() => ReviewInfoEntity)
@JoinColumn({ name: "review_id" })
review: ReviewInfoEntity;
}


0 comments on commit fb8f696

Please sign in to comment.