Merge branch 'dev' of git.phc.dm.unipi.it:phc/posti-dm into dev

dev
Francesco Minnocci 3 years ago
commit 7387307ad9
Signed by: BachoSeven
GPG Key ID: 2BE4AB7FDAD828A4

@ -0,0 +1,78 @@
//
// Prelude
//
type Natural = number
type Integer = number
type Rational = [number, number]
type Real = number
type Datetime = string
type Time = string
type Maybe<T> = { present: false } | { present: true; value: T }
//
// PostiDM
//
type UserPermission = 'basic' | 'helper' | 'moderator' | 'admin'
type PostiDM = {
users: Map<UserID, User>
rooms: Map<RoomID, Room>
seats: Map<SeatID, Seat>
slots: Map<SlotID, Slot>
}
type UserID = string
type User = {
id: UserID
permissions: Set<UserPermission>
bookings: Booking[]
}
type BookingID = string
type Booking = {
id: BookingID
timestamp: Datetime
slotID: SlotID
}
type SlotID = string
type Slot = {
id: SlotID
seatID: SeatID
range: {
from: Datetime
to: Datetime
}
}
type SeatID = string
type Seat = {
id: SeatID
roomID: RoomID
diagram: {
x: Natural
y: Natural
width: Natural
height: Natural
}
// non mi piace questo nome
getCurrentOccupant(): Maybe<UserID>
}
type RoomID = string
type Room = {
id: RoomID
seatIDs: SeatID[]
diagram: {
gridRows: Natural
gridCols: Natural
}
getTotalSeatCount(): Natural
getOccupiedSeatCount(): Natural
}
Loading…
Cancel
Save