1.3.3 • Published 4 years ago

@vohoaian/datn-models v1.3.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Gói datn-models: Các Mongoose models dựng sẵn cho đồ án cuối kỳ

Các Models đang có sẵn:

Lưu ý

  • Trước khi sử dụng được các Models trong gói này, cần gọi hàm connect(connectionType, uri?). Hàm này nhận 1 hoặc 2 đối số:

    • connectionType nếu là "PRODUCTION" thì không cần đối số 2
    • connectionType nếu là "MYSELF" thì truyền vào đối số 2 là connection string (ví dụ: mongodb+srv://admin:123456@yourdomain/xxxx)
  • Tất cả các models đều có sẵn 2 trường:

    • CreatedAt
    • UpdatedAt

AbstractUser (abstract model - can't be used)

  • *FullName: string
  • Phone: string - default = ""
  • Email: string
  • Gender: 0: UNKNOWN, 1 = MALE, 2 = FEMALE, 3 = OTHER - default = 0
  • DOB: Date
  • Password: string - default = ""
  • Status: number - default = 0
  • Address: Object
    • *Street: string
    • *Ward: string;
    • *District: string;
    • *City: string;
  • Avatar: string

User (mở rộng AbstractUser)

  • GoogleID: string
  • FacebookID: string
  • Point: number - default = 0

Manager (mở rộng AbstractUser)

  • Roles: Array
    • PermissionLevel: number - default: 0
    • AuthorizedTime: Date - default: now
    • AuthorizedBy: ObjectId - ref Manager - must populate
    • *Restaurant: ObjectId - ref Restaurant - must populate

Shipper (mở rộng AbstractUser)

  • Point: number - default = 0
  • Rating: number - min = 0 - max = 5
  • Wallet: number - default = 0
  • History: Object - default
    • Skip: number - default = 0
    • Cancel: number - default = 0
    • Delivery: number - default = 0
  • Setting: Object - default
    • MaxOrder: number - default = 1
    • MaxDistance: number - default = 3
    • MaxAmount: number - default = 1000000
    • MinAmount: number - default = 0

Admin (mở rộng AbstractUser)

Restaurant

  • *Name: string
  • *ContractID: string
  • *Address: Object
    • *Street: string
    • *Ward: string;
    • *District: string;
    • *City: string;
  • Location: Object
  • *OpenAt: Date
  • *CloseAt: Date
  • *Type: number - default = 0
  • Description: string
  • Avatar: string
  • Anouncement: string
  • ParkingFee: number - default = 0
  • Status: number - default = 0
  • FoodCategories: Array - ref FoodCategory - must populate
  • Reviews: Array - ref RestaurantReview - must populate
  • Phone: string
  • IsPartner: boolean - default = false
  • *Categories: Array 0: Đồ ăn, 1: Đồ uống, 2: Ăn vặt, 3: Món chay, 4: Món lẩu, 5: Burger/Pizza, 6: Món gà
  • *City: number
  • *District: number
  • Rating: number - min = 0 - max = 5
  • Wallet: number - default = 0

RestaurantReview

  • *User: ObjectId - ref User - must populate
  • *Order: ObjectId - ref Order - must populate
  • *Restaurant: ObjectId - ref Restaurant - must populate
  • *Content: string
  • Images: Array;
  • Status: number - default = 0
  • *Point: number - min = 1 - max = 5

FoodCategory

  • *Name: string
  • *Restaurant: ObjectId - ref Restaurant
  • Status: number - default = 0
  • Foods: Array - ref Food - must populate
  • Order: number - default = 0

Food

  • *Name: string
  • *FoodCategory: FoodCategory - ref FoodCategory - must populate
  • *OriginalPrice: number
  • Avatar: string
  • Type: number - default = 0
  • Status: number - default = 0
  • Order: number - default = 0
  • TotalOrder: number - default = 0
  • Options: Objecy
    • *id: number
    • IsMandatory: boolean - default = false
    • *Name: string
    • MaxSelect: number - default = 1
    • Items:
      • *id: number
      • IsDefault: boolean - default = false
      • MaxQuantity: number - default = 1 - min = 1
      • *Name: string
      • OriginalPrice: string - default = 0

City

  • *Id: number
  • *Name: string
  • *Districts: Array
    • *Id: number
    • *Name: string
    • *Ward: Array
      • *Id: number
      • *Name: string

Phương thức tĩnh

  • City.findAddress(cityId: number, districtId: number, wardId: number) => Promise<{ City: string, District: string, Ward: string, } | null>
  • City.findCities() => Promise<Array<{ Id: number, Name: number }>>;
  • City.findDistricts(cityId: number) => Promise<Array<{ Id: number, Name: number }>>;
  • City.findWards(cityId: number, districtId: number) => Promise<Array<{ Id: number, Name: number }>>;

DeliveryAddress

  • *Street: string
  • *Ward: string;
  • *District: string;
  • *City: string;
  • *Phone: string
  • *User: Object - ref User - must populate
  • *Location: Object

Order

  • *ShippingFee: number
  • *Subtotal: number
  • *Total: number
  • *Distance: number
  • *Address: string
  • *Coor: Object
    • *longitude: number
    • *latitude: number
  • *PaymentMethod: number
  • Note: string;
  • NoteCancel: string;
  • *Tool: boolean;
  • Foods: Array

    • *Food: ObjectId - ref Food - must populate
    • *Quantity: number
    • *Price: number
    • Options: Object
      • *id: number
      • *Items: Object
        • *id: number
        • *Quantity: number
        • *Price: number

ZaloTransaction

Phương thức trên đối tượng

  • getSender(): Promise (trả về Object mà Sender.Id trỏ đến, nằm trong các collection: User, Shipper, Manager, Admin)
  • getReceiver(): Promise (trả về Object mà Receiver.Id trỏ đến, nằm trong các collection: User, Shipper, Manager, Admin)

ChatRoom

  • TotalChat: number - default = 0
  • *Shipper: ObjectId - ref Shipper - must populate
  • *User: ObjectId - ref User - must populate
  • LastMessage: ObjectId - ref ChatMessage - must populate

ChatMessage

Receipt

Phương thức trên đối tượng

  • getPayer(): Promise (trả về Object mà Payer.Id trỏ đến, nằm trong các collection: User, Shipper, Manager, Admin)

Notification

Phương thức trên đối tượng

  • getReceiver(): Promise (trả về Object mà Receiver.Id trỏ đến, nằm trong các collection: User, Shipper, Manager, Admin)

Image

ShipperReview

  • *User: Types.ObjectId - ref User - must populate
  • *Order: Types.ObjectId - ref Order - must populate
  • *Shipper: Types.ObjectId - ref Shipper - must populate
  • Content: string
  • Images: Array
  • Status: number - default = 0
  • *Point: number - min = 1 - max = 5

Complaint

  • *Email: string
  • *FullName: string
  • *PhoneNumber: string
  • *Reason: string
  • *OrderID: Types.ObjectId - ref Order - must populate
  • Images: Array
  • Status: number - default = 0

Withdraw

Phương thức trên đối tượng

  • getUser(): Promise (trả về Object mà Receiver.Id trỏ đến, nằm trong các collection: User, Shipper, Manager, Admin)

Setting

  • PercentFeeShipper: number - default = 0 - min = 0
  • PercentFeeMerchant: number - default = 0 - min = 0
  • ShippingFee: Array
    • *MaxDistance: number
    • *Fee: number
  • CustomerFee: number - default = 0 - min = 0
  • MAX_DAY_DELAY_PAY_RECEIPT: number - default = 14

Phương thức tĩnh

  • getSetting(): Promise
  • getShippingFee(distanceInKm: number): Promise

PromoCode (đang xây dựng)

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.3.3

4 years ago

1.2.4

4 years ago

1.3.2

4 years ago

1.2.3

4 years ago

1.3.1

4 years ago

1.2.2

4 years ago

1.3.0

4 years ago

1.2.1

4 years ago

1.2.9

4 years ago

1.2.10

4 years ago

1.2.11

4 years ago

1.2.0

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago