// Code generated by go-swagger; DO NOT EDIT.

// (c) 2012-2023 by Vernon Keenan
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed

package members_models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"context"

	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// Track track
//
// swagger:model track
type Track struct {

	// The channels associated with the track (Multiselect Picklist).
	Channels *string `json:"Channels,omitempty"`

	// The identifier of the user who created the track.
	CreatedByID *string `json:"CreatedByID,omitempty"`

	// The date and time when the track was created.
	CreatedDate *string `json:"CreatedDate,omitempty"`

	// A brief description of the track.
	Description *string `json:"Description,omitempty"`

	// The order in which the track should be displayed.
	DisplayOrder *float64 `json:"DisplayOrder,omitempty"`

	// A full description of the track.
	FullDescription *string `json:"FullDescription,omitempty"`

	// A unique identifier for the track.
	ID string `json:"ID,omitempty"`

	// A small icon representing the track.
	Icon *string `json:"Icon,omitempty"`

	// Alternative text for the track's image for accessibility.
	ImageAltText *string `json:"ImageAltText,omitempty"`

	// The URL of the image representing the track.
	ImageURL *string `json:"ImageURL,omitempty"`

	// The identifier of the user who last modified the track.
	LastModifiedByID *string `json:"LastModifiedByID,omitempty"`

	// The date and time when the track was last modified.
	LastModifiedDate *string `json:"LastModifiedDate,omitempty"`

	// The logo associated with the track.
	Logo *string `json:"Logo,omitempty"`

	// The name of the track.
	Name *string `json:"Name,omitempty"`

	// A URL-friendly version of the track name used for routing.
	Slug *string `json:"Slug,omitempty"`

	// The title of the track.
	Title *string `json:"Title,omitempty"`
}

// Validate validates this track
func (m *Track) Validate(formats strfmt.Registry) error {
	return nil
}

// ContextValidate validates this track based on context it is used
func (m *Track) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *Track) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *Track) UnmarshalBinary(b []byte) error {
	var res Track
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
