structs

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Int

func Int(i int) *int

Int .

func String

func String(v string) *string

String .

Types

type ClientDay

type ClientDay struct {
	Date                  time.Time     `json:"date"`
	HasPunchException     *bool         `json:"has-punch-exception,omitempty"`
	HasWorkOrderException *bool         `json:"has-work-order-exception,omitempty"`
	Punches               []ClientPunch `json:"punches"`
	PunchedHours          string        `json:"punched-hours"`

	ReportedHours           string                 `json:"reported-hours"`
	PhysicalFacilitiesHours string                 `json:"physical-facilities-hours"`
	WorkOrderEntries        []ClientWorkOrderEntry `json:"work-order-entries"`

	SickHoursYTD     string             `json:"sick-hours-ytd"`
	VacationHoursYTD string             `json:"vacation-hours-ytd"`
	OtherHours       []ClientOtherHours `json:"other-hours"`
}

ClientDay is the day structure sent to the client

type ClientDeleteWorkOrderEntry

type ClientDeleteWorkOrderEntry struct {
	JobID          int    `json:"employee-job-id"`
	Date           string `json:"date"`
	SequenceNumber int    `json:"sequence-number"`
}

ClientDeleteWorkOrderEntry .

type ClientOtherHours

type ClientOtherHours struct {
	Editable               bool      `json:"editable"`
	SequenceNumber         int       `json:"sequence-number"`
	TimeReportingCodeHours string    `json:"time-reporting-code-hours"`
	TRC                    ClientTRC `json:"trc"`
}

ClientOtherHours .

type ClientOtherHoursRequest

type ClientOtherHoursRequest struct {
	EmployeeJobID          int       `json:"employee-job-id"`
	SequenceNumber         int       `json:"sequence-number"`
	TimeReportingCodeHours string    `json:"time-reporting-code-hours"`
	TRCID                  string    `json:"trc-id"`
	PunchDate              time.Time `json:"punch-date"`
}

ClientOtherHoursRequest is used to post and put the vacation and sick hours

type ClientPunch

type ClientPunch struct {
	ID            int       `json:"id"`
	EmployeeJobID int       `json:"employee-job-id"`
	Time          time.Time `json:"time"`
	PunchType     string    `json:"type"`
	DeletablePair *int      `json:"deletable-pair,omitempty"`
}

ClientPunch is the punch structure sent to the client

type ClientPunchRequest

type ClientPunchRequest struct {
	BYUID          string    `json:"byu-id"`
	EmployeeJobID  *int      `json:"employee-job-id"`
	Time           time.Time `json:"time"`
	PunchType      string    `json:"type"`
	WorkOrderID    *string   `json:"work-order-id,omitempty"`
	TRCID          *string   `json:"trc-id,omitempty"`
	SequenceNumber *int      `json:"sequence-number"`
}

ClientPunchRequest is the punch structure from the client on a punch in or out

type ClientTRC

type ClientTRC struct {
	ID          string `json:"id"`
	Description string `json:"description"`
}

ClientTRC is a TRC sent to the client side

type ClientWorkOrder

type ClientWorkOrder struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

ClientWorkOrder is the work order structure sent to the client

type ClientWorkOrderEntry

type ClientWorkOrderEntry struct {
	ID                     int             `json:"id"`
	WorkOrder              ClientWorkOrder `json:"work-order"`
	TimeReportingCodeHours string          `json:"time-reporting-code-hours"`
	TRC                    ClientTRC       `json:"trc"`
	Editable               bool            `json:"editable"`
}

ClientWorkOrderEntry is a work order entry sent to the client

type DeletePunch

type DeletePunch struct {
	EmployeeJobID  *int      `json:"employee-record"`
	SequenceNumber *int      `json:"sequence-number"`
	PunchTime      time.Time `json:"punch-time"`
}

DeletePunch .

type DeleteWorkOrderEntry

type DeleteWorkOrderEntry struct {
	JobID          int    `json:"employee-job-id"`
	Date           string `json:"date"`
	SequenceNumber int    `json:"sequence-number"`
}

DeleteWorkOrderEntry .

type ElapsedTimeDay

type ElapsedTimeDay struct {
	PunchDate          string             `json:"punch_date"`
	ElapsedTimeEntries []ElapsedTimeEntry `json:"punches"`
}

ElapsedTimeDay is the parent structure for sick and vacation hours for a day

type ElapsedTimeEntry

type ElapsedTimeEntry struct {
	//these only come back when GETTING
	Editable *bool `json:"editable,omitempty"`
	TRC      TRC   `json:"trc"`

	//these come back for GET and are used on POST
	TimeReportingCodeHours string `json:"time_reporting_code_hours"`
	SequenceNumber         int    `json:"sequence_number"`
	EmployeeRecord         int    `json:"employee_record"`

	//POST only
	PunchDate            string `json:"punch_date"`
	TRCID                string `json:"trc_id"`
	TimeCollectionSource string `json:"time_collection_source"`
}

ElapsedTimeEntry is the structure for a single amount of sick or vacation time

type ElapsedTimeEntryWrapper

type ElapsedTimeEntryWrapper struct {
	ElapsedTimeEntry ElapsedTimeEntry `json:"elapsed_time_entry"`
}

ElapsedTimeEntryWrapper is th structure to use when POSTING sick or vacation

type ElapsedTimeSummary

type ElapsedTimeSummary struct {
	SickLeaveBalanceHours     string           `json:"sick_leave_balance_hours"`
	VacationLeaveBalanceHours string           `json:"vacation_leave_balance_hours"`
	Dates                     []ElapsedTimeDay `json:"elapsed_time_dates"`
}

ElapsedTimeSummary is the parent structure for sick and vacation hours

type Employee

type Employee struct {
	ID        string        `json:"id"`
	Name      string        `json:"name"`
	Jobs      []EmployeeJob `json:"jobs"`
	TotalTime TotalTime     `json:"total-time"`
	Message   string        `json:"international-message"`
}

Employee is all of the information about an employee for their timeclock session

type EmployeeCache

type EmployeeCache struct {
	Employees []EmployeeRecord `json:"employees"`
}

EmployeeCache is the cache list

type EmployeeJob

type EmployeeJob struct {
	EmployeeJobID         int               `json:"employee-job-id"`
	Description           string            `json:"description"`
	TimeSubtotals         TotalTime         `json:"time-subtotals"`
	ClockStatus           string            `json:"clock-status"`
	JobType               string            `json:"job-type"`
	IsPhysicalFacilities  *bool             `json:"is-physical-facilities,omitempty"`
	HasPunchException     *bool             `json:"has-punch-exception,omitempty"`
	HasWorkOrderException *bool             `json:"has-work-order-exception,omitempty"`
	OperatingUnit         string            `json:"operating_unit"`
	TRCs                  []ClientTRC       `json:"trcs"`
	CurrentTRC            ClientTRC         `json:"current-trc"`
	CurrentWorkOrder      ClientWorkOrder   `json:"current-work-order"`
	WorkOrders            []ClientWorkOrder `json:"work-orders"`
	Days                  []ClientDay       `json:"days"`
}

EmployeeJob is a job for an employee - sent to the client

type EmployeeRecord

type EmployeeRecord struct {
	BYUID string `json:"byu_id"`
	NETID string `json:"net_id"`
	Jobs  []Job  `json:"jobs"`
	Name  string `json:"sort_name"`
}

EmployeeRecord comes back in the cache list

type Job

type Job struct {
	JobCodeDesc           string    `json:"job_code_description"`
	PunchType             string    `json:"punch_type"`
	EmployeeRecord        int       `json:"employee_record"`
	WeeklySubtotal        string    `json:"weekly_subtotal"`
	PeriodSubtotal        string    `json:"period_subtotal"`
	PhysicalFacilities    *bool     `json:"physical_facilities,omitempty"`
	OperatingUnit         string    `json:"operating_unit"`
	TRCs                  []TRC     `json:"trcs"`
	CurrentWorkOrder      WorkOrder `json:"current_work_order"`
	CurrentTRC            TRC       `json:"current_trc"`
	FullPartTime          string    `json:"full_part_time"`
	HasPunchException     *bool     `json:"has_punch_exception,omitempty"`
	HasWorkOrderException *bool     `json:"has_work_order_exception,omitempty"`
}

Job represents the current state of an employee's job

func (*Job) UnmarshalJSON

func (j *Job) UnmarshalJSON(data []byte) error

type LunchPunch

type LunchPunch struct {
	// required from client
	EmployeeJobID *int      `json:"employee_record,omitempty"`
	StartTime     time.Time `json:"start_time"`
	Duration      *string   `json:"duration,omitempty"`

	// added by server
	PunchZone            *string `json:"punch_zone,omitempty"`
	TimeCollectionSource string  `json:"time_collection_source"`
	LocationDescription  string  `json:"location_description"`
}

LunchPunch send us for lunch punch

func (LunchPunch) MarshalJSON

func (p LunchPunch) MarshalJSON() ([]byte, error)

MarshalJSON .

type Punch

type Punch struct {
	PunchType            string  `json:"punch_type"`
	PunchTime            string  `json:"punch_time"`
	SequenceNumber       *int    `json:"sequence_number,omitempty"`
	DeletablePair        *int    `json:"deletable_pair,omitempty"`
	Latitude             *string `json:"latitude,omitempty"`
	Longitude            *string `json:"longitude,omitempty"`
	LocationDescription  *string `json:"location_description,omitempty"`
	TimeCollectionSource *string `json:"time_collection_source,omitempty"`
	WorkOrderID          *string `json:"work_order_id,omitempty"`
	TRCID                *string `json:"trc_id,omitempty"`
	PunchDate            *string `json:"punch_date,omitempty"`
	EmployeeRecord       *int    `json:"employee_record,omitempty"`
	PunchZone            *string `json:"punch_zone,omitempty"`
	InternetAddress      *string `json:"internet_address,omitempty"`
}

Punch represents a single punch in or out for an employee

type ServerErrorMessage

type ServerErrorMessage struct {
	Message string `json:"message"`
}

ServerErrorMessage .

type ServerLoginErrorMessage

type ServerLoginErrorMessage struct {
	Status struct {
		Code    string `json:"code"`
		Message string `json:"message"`
	}
}

ServerLoginErrorMessage .

type TRC

type TRC struct {
	TRCID          string `json:"trc_id"`
	TRCDescription string `json:"trc_description"`
}

TRC is a code for the type of hours that an employee can punch in under

type TimeClockDay

type TimeClockDay struct {
	Date                  string  `json:"date"`
	HasPunchException     *bool   `json:"has_punch_exception,omitempty"`
	HasWorkOrderException *bool   `json:"has_work_order_exception,omitempty"`
	Punches               []Punch `json:"punches"`
	PunchedHours          string  `json:"punched_hours"`
}

TimeClockDay represents a day with activity on the clock

type Timesheet

type Timesheet struct {
	//BYUID is the byu id
	BYUID string `json:"byu_id"`

	//PersonName is the person's name in Last, First format
	PersonName string `json:"person_name"`

	//WeeklyTotal is the total hours worked so far in the week in format h:mm (string)
	WeeklyTotal string `json:"weekly_total"`

	//PeriodTotal is the total hours worked so far in the pay period in format h:mm (string)
	PeriodTotal string `json:"period_total"`

	//Jobs is the array containing current clock intformation about each job
	Jobs []Job `json:"jobs"`

	//InternationalMessage is used to indicate that a warning should be shown to the user due to hour working limits
	InternationalMessage string `json:"international_message"`

	// International is going away in a new version of the api
	International bool `json:"international"`
}

Timesheet gives all data about the current clock state for an employee and his/her jobs

type TotalTime

type TotalTime struct {
	Week      string `json:"week"`
	PayPeriod string `json:"pay-period"`
}

TotalTime is a struct to hold pay period and total kinds of time

type WebSocketMessage

type WebSocketMessage struct {
	Key   string      `json:"key"`
	Value interface{} `json:"value"`
}

WebSocketMessage is a wrapper for whatever we're sending down the websocket

type WorkOrder

type WorkOrder struct {
	WorkOrderID          string `json:"work_order_id"`
	WorkOrderDescription string `json:"work_order_description"`
}

WorkOrder is ID and description for a work order

type WorkOrderDaySummary

type WorkOrderDaySummary struct {
	Date                    string           `json:"punch_date"`
	WorkOrderEntries        []WorkOrderEntry `json:"work_order_entries"`
	ReportedHours           string           `json:"reported_hours"`
	PhysicalFacilitiesHours string           `json:"physical_facilities_hours"`
	OtherHours              string           `json:"other_hours"`
	HasPunchException       *bool            `json:"has_punch_exception,omitempty"`
	HasWorkOrderException   *bool            `json:"has_work_order_exception,omitempty"`
}

WorkOrderDaySummary is returned when querying a date for work orders logged on that date

type WorkOrderEntry

type WorkOrderEntry struct {
	WorkOrder              WorkOrder `json:"work_order"`
	TRC                    TRC       `json:"trc"`
	TimeReportingCodeHours string    `json:"time_reporting_code_hours"`
	SequenceNumber         int       `json:"sequence_number"`
	Editable               bool      `json:"editable"`

	//these only used when posting
	EmployeeRecord int `json:"employee_record"`
}

WorkOrderEntry represents a single work order logged for part of a day

type WorkOrderUpsert

type WorkOrderUpsert struct {
	EmployeeJobID          *int      `json:"employee_record"`
	SequenceNumber         *int      `json:"sequence_number"`
	TimeReportingCodeHours string    `json:"time_reporting_code_hours"`
	PunchDate              time.Time `json:"punch_date"`
	TRCID                  string    `json:"trc_id"`
	WorkOrderID            *string   `json:"work_order_id"`

	// set on the backend
	TimeCollectionSource string `json:"time_collection_source"`
}

WorkOrderUpsert .

func (WorkOrderUpsert) MarshalJSON

func (w WorkOrderUpsert) MarshalJSON() ([]byte, error)

MarshalJSON .

type YTimeLocation

type YTimeLocation struct {
	YtimeLocation             string      `json:"ytime_location"`
	UpdatedByName             string      `json:"updated_by_name"`
	LocationSource            string      `json:"location_source"`
	YtimeLocationCode         string      `json:"ytime_location_code"`
	UpdatedDatetime           interface{} `json:"updated_datetime"`
	Latitude                  float64     `json:"latitude"`
	YtimeLocationAbbreviation string      `json:"ytime_location_abbreviation"`
	Status                    string      `json:"status"`
	Longitude                 float64     `json:"longitude"`
}

YTimeLocation .

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL