1.3.3 • Published 4 years ago
@vohoaian/datn-models v1.3.3
Gói datn-models
: Các Mongoose models dựng sẵn cho đồ án cuối kỳ
- 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 ý
- AbstractUser (abstract model - can't be used)
- User (mở rộng
AbstractUser
) - Manager (mở rộng
AbstractUser
) - Shipper (mở rộng
AbstractUser
) - Admin (mở rộng
AbstractUser
) - Restaurant
- RestaurantReview
- FoodCategory
- Food
- City
- DeliveryAddress
- Order
- ZaloTransaction
- ChatRoom
- ChatMessage
- Receipt
- Notification
- Image
- ShipperReview
- Complaint
- Withdraw
- Setting
- PromoCode (đang xây dựng)
- Các Models đang có sẵn:
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ố 2connectionType
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
- type: string - default: "Point"
- coordinates: tuplelongitude, latitude - default = 0, 0
- *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
- type: string - default: "Point"
- coordinates: tuplelongitude, latitude - default = 0, 0
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
- Description: string
- Sender: Object
- *Id: ObjectId
- *Role: number 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- Receiver: Object
- *Id: ObjectId
- *Role: Role 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- Order: ObjectId - ref Order - must populate
- *TransID: string
- *Amount: number
- *IsRefund: boolean
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
- *Content: string
- *Sender: number SHIPPER = 1, CUSTOMER = 0
- ChatRoom: ObjectId - ref ChatRoom - must populate
Receipt
- *PercentFee: number
- *FeeTotal: number
- *Payer: Object
- *Id: ObjectId
- *Role: number 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- Status: number - default = 0
- *DateStart: Date
- DateEnd: Date
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
- *Title: string
- *Subtitle: string
- *Receiver: Object
- *Id: ObjectId
- *Role: number 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- Thumbnail: string
- Status: number - default = -1
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
- *Sender: Object
- *Id: ObjectId
- *Role: number 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- *Url: string
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
- *User: Object
- *Id: ObjectId
- *Role: number 0: CUSTOMER, 1 = SHIPPER, 2 = MERCHANT, 3 = ADMIN
- *Amount: number - min = 0
- Status: number - default = 0
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