package models

type StandardDocument struct {
	ID          int     `json:"id"`
	BodyID      int     `json:"body_id"`
	WG          string  `json:"wg"`
	ProjectName string  `json:"project_name"`
	Title       string  `json:"title"`
	DocRef      string  `json:"doc_ref"`
	Status      string  `json:"status"`
	PublishedAt *string `json:"published_at,omitempty"`
}

type StandardProjectGroup struct {
	WG        string             `json:"wg"`
	Name      string             `json:"name"`
	Documents []StandardDocument `json:"documents"`
}

type StandardsBody struct {
	ID           int     `json:"id"`
	Org          string  `json:"org"`
	FullName     string  `json:"full_name"`
	Scope        string  `json:"scope"`
	Period       string  `json:"period"`
	Role         *string `json:"role,omitempty"`
	DisplayOrder int     `json:"display_order"`
}

type StandardsBodyWithProjects struct {
	ID           int                    `json:"id"`
	Org          string                 `json:"org"`
	FullName     string                 `json:"full_name"`
	Scope        string                 `json:"scope"`
	Period       string                 `json:"period"`
	Role         *string                `json:"role,omitempty"`
	DisplayOrder int                    `json:"display_order"`
	Projects     []StandardProjectGroup `json:"projects"`
}
