package models

type Result struct {
	Code    int    `json:"code"`
	Status  bool   `json:"status"`
	Message string `json:"message"`
}

type GroupNotifications struct {
	Notifications []NotificationData `json:"notifications"`
	Fcmmodel      *Notification      `json:"fcmmodel"`
}

type Notifications struct {
	Priority        string   `json:"priority"`
	Registrationids []string `json:"registration_ids"`
	Data            Data     `json:"data"`
	Notify          Notify   `json:"notification"`
}

type NotifyUser struct {
	Sender       string       `json:"sender"`
	Accessid     string       `json:"accessid"`
	Notification Notification `json:"notification"`
}

type Notification struct {
	Priority string `json:"priority"`
	To       string `json:"to"`
	Notify   Notify `json:"notification"`
}

type LoginNotification struct {
	Priority     string `json:"priority"`
	To           string `json:"to"`
	Notification Notify `json:"notification"`
}

type Notify struct {
	Title string `json:"title"`
	Body  string `json:"body"`
	Sound string `json:"sound"`
}

type FcmNotification struct {
	Title string `json:"title"`
	Body  string `json:"body"`
	// Type  string `json:"type"`
}

type NotificationResult struct {
	StatusCode int `json:"statuscode"`
	Success    int `json:"success"`
	Failure    int `json:"failure"`
}

type Data struct {
	Notificationid   int    `json:"notificationid" gorm:"Primary_Key"`
	Notificationdate string `json:"notificationdate"`
	Title            string `json:"title"`
	Message          string `json:"message"`
	Configid         int    `json:"configid"`
	Tenantid         int64  `json:"tenantid"`
	Orderheaderid    int    `json:"orderheaderid"`
	Orderid          string `json:"orderid"`
	Success          int    `json:"success"`
	Notifytype       int    `json:"notifytype"`
	Notifyreason     string `json:"notifyreason"`
	Accessid         string `json:"accessid" gorm:"<-:false"`
	Customerid       int64  `json:"customerid" gorm:"<-:false"`
	ClickAction      string `json:"clickaction" gorm:"<-:false"`
}

type NotificationData struct {
	Notificationid   int    `json:"notificationid" gorm:"Primary_Key"`
	Notificationdate string `json:"notificationdate"`
	Title            string `json:"title"`
	Message          string `json:"message"`
	Configid         int    `json:"configid"`
	Tenantid         int64  `json:"tenantid"`
	Orderheaderid    int    `json:"orderheaderid"`
	Orderprocessid   int    `json:"orderprocessid"`
	Orderstatus      string `json:"orderstatus" gorm:"<-:false"`
	Processing       string `json:"processing" gorm:"<-:false"`
	Shiftid          int64  `json:"shiftid"`
	Userid           int    `json:"userid"`
	Orderid          string `json:"orderid"`
	Notifytype       int    `json:"notifytype"`
	Notifyreason     string `json:"notifyreason"`
	Success          int    `json:"success"`
}
