PRD created: /reportburster/_apps/flowkraft/_ai-hub/agents-output-artifacts/athena/billing-portal-prd.org
Key highlights:
class Customer {
String name
String email
Date dateCreated
Date lastUpdated
static hasMany = [users: User, bills: Bill]
static constraints = {
name blank: false
email email: true, unique: true, blank: false
}
}
class User {
String email
String password
boolean enabled = false
static belongsTo = [customer: Customer]
static constraints = {
email email: true, unique: true, blank: false
password blank: false, password: true
enabled nullable: false
}
static mapping = {
password column: '`password`'
}
}
class Bill {
String billNumber
BigDecimal amount
Date dueDate
BillStatus status = BillStatus.UNPAID
String pdfPath
static belongsTo = [customer: Customer]
static constraints = {
billNumber blank: false, unique: true
amount min: 0.0
dueDate nullable: false
pdfPath nullable: true
}
enum BillStatus {
PAID, UNPAID, OVERDUE
}
}