58 lines
1.2 KiB
TypeScript
58 lines
1.2 KiB
TypeScript
// defined shared characteristics for DB entities
|
|
interface DBEntity {
|
|
id?: number
|
|
}
|
|
|
|
interface HasHistory extends DBEntity {
|
|
datecreated?: string
|
|
datemodified?: string
|
|
}
|
|
|
|
interface CanDeactivate extends DBEntity {
|
|
active?: boolean
|
|
}
|
|
|
|
// data models
|
|
export interface IUser extends HasHistory, CanDeactivate {
|
|
firstname: string
|
|
lastname: string
|
|
handle: string
|
|
email: string
|
|
isadmin: boolean
|
|
password?: string
|
|
}
|
|
|
|
export interface IUserAuth {
|
|
email: string
|
|
password: string
|
|
}
|
|
|
|
export interface IRecipe extends HasHistory, CanDeactivate {
|
|
name: string
|
|
description?: string
|
|
preptime: string
|
|
authoruserid: string | number
|
|
}
|
|
|
|
export interface IIngredient extends HasHistory {
|
|
name: string
|
|
description?: string
|
|
createdbyid: string | number
|
|
}
|
|
|
|
export interface ICollection extends HasHistory, CanDeactivate {
|
|
name: string
|
|
ismaincollection: boolean
|
|
ownerid: string | number
|
|
}
|
|
|
|
export interface IGroceryList extends HasHistory, CanDeactivate {
|
|
name: string
|
|
ownerid: string | number
|
|
}
|
|
|
|
export interface IFriendship extends HasHistory, CanDeactivate {
|
|
senderid: string | number
|
|
targetid: string | number
|
|
pending: boolean
|
|
} |