components

package
v0.0.0-...-5d30c27 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2019 License: MIT Imports: 5 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Calendar

type Calendar struct {

	// specifies the identifier corresponding to the highest version number or the minimum and maximum
	// range of the iCalendar specification that is required in order to interpret the iCalendar object.
	Version string `ical:",2.0"`

	// specifies the identifier for the product that created the iCalendar object
	ProductId string `ical:"prodid,-//taviti/caldav-go//NONSGML v1.0.0//EN"`

	// specifies the text value that uniquely identifies the "VTIMEZONE" calendar component.
	TimeZoneId string `ical:"tzid,omitempty"`

	// defines the iCalendar object method associated with the calendar object.
	Method values.Method `ical:",omitempty"`

	// defines the calendar scale used for the calendar information specified in the iCalendar object.
	values.CalScale `ical:",omitempty"`

	// defines the different timezones used by the various components nested within
	TimeZones []*TimeZone `ical:",omitempty"`

	// unique events to be stored together in the icalendar file
	Events []*Event `ical:",omitempty"`
}

func NewCalendar

func NewCalendar(events ...*Event) *Calendar

func (*Calendar) UseTimeZone

func (c *Calendar) UseTimeZone(location *time.Location) *TimeZone

func (*Calendar) UsingGlobalTimeZone

func (c *Calendar) UsingGlobalTimeZone() bool

func (*Calendar) UsingTimeZone

func (c *Calendar) UsingTimeZone() bool

func (*Calendar) ValidateICalValue

func (c *Calendar) ValidateICalValue() error

type Event

type Event struct {

	// defines the persistent, globally unique identifier for the calendar component.
	UID string `ical:",required"`

	// indicates the date/time that the instance of the iCalendar object was created.
	DateStamp *values.DateTime `ical:"dtstamp,required"`

	// specifies when the calendar component begins.
	DateStart *values.DateTime `ical:"dtstart,required"`

	// specifies the date and time that a calendar component ends.
	DateEnd *values.DateTime `ical:"dtend,omitempty"`

	// specifies a positive duration of time.
	Duration *values.Duration `ical:",omitempty"`

	// defines the access classification for a calendar component.
	AccessClassification values.EventAccessClassification `ical:"class,omitempty"`

	// specifies the date and time that the calendar information was created by the calendar user agent in the
	// calendar store.
	// Note: This is analogous to the creation date and time for a file in the file system.
	Created *values.DateTime `ical:",omitempty"`

	// provides a more complete description of the calendar component, than that provided by the Summary property.
	Description string `ical:",omitempty"`

	// specifies information related to the global position for the activity specified by a calendar component.
	Geo *values.Geo `ical:",omitempty"`

	// specifies the date and time that the information associated with the calendar component was last revised in the
	// calendar store.
	// Note: This is analogous to the modification date and time for a file in the file system.
	LastModified *values.DateTime `ical:"last-modified,omitempty"`

	// defines the intended venue for the activity defined by a calendar component.
	Location *values.Location `ical:",omitempty"`

	// defines the organizer for a calendar component.
	Organizer *values.OrganizerContact `ical:",omitempty"`

	// defines the relative priority for a calendar component.
	Priority int `ical:",omitempty"`

	// defines the revision sequence number of the calendar component within a sequence of revisions.
	Sequence int `ical:",omitempty"`

	// efines the overall status or confirmation for the calendar component.
	Status values.EventStatus `ical:",omitempty"`

	// defines a short summary or subject for the calendar component.
	Summary string `ical:",omitempty"`

	// defines whether an event is transparent or not to busy time searches.
	values.TimeTransparency `ical:"transp,omitempty"`

	// defines a Uniform Resource Locator (URL) associated with the iCalendar object.
	Url *values.Url `ical:",omitempty"`

	// used in conjunction with the "UID" and "SEQUENCE" property to identify a specific instance of a recurring
	// event calendar component. The property value is the effective value of the DateStart property of the
	// recurrence instance.
	RecurrenceId *values.DateTime `ical:"recurrence_id,omitempty"`

	// defines a rule or repeating pattern for recurring events, to-dos, or time zone definitions.
	RecurrenceRules []*values.RecurrenceRule `ical:"rrule,omitempty"`

	// property provides the capability to associate a document object with a calendar component.
	Attachment *values.Url `ical:"attach,omitempty"`

	// defines an "Attendee" within a calendar component.
	Attendees []*values.AttendeeContact `ical:"attendee,omitempty"`

	// defines the categories for a calendar component.
	Categories *values.CSV `ical:",omitempty"`

	// specifies non-processing information intended to provide a comment to the calendar user.
	Comments []values.Comment `ical:",omitempty"`

	// used to represent contact information or alternately a reference to contact information associated with the calendar component.
	ContactInfo *values.CSV `ical:"contact,omitempty"`

	// defines the list of date/time exceptions for a recurring calendar component.
	*values.ExceptionDateTimes `ical:",omitempty"`

	// defines the list of date/times for a recurrence set.
	*values.RecurrenceDateTimes `ical:",omitempty"`

	// used to represent a relationship or reference between one calendar component and another.
	RelatedTo *values.Url `ical:"related-to,omitempty"`

	// defines the equipment or resources anticipated for an activity specified by a calendar entity.
	Resources *values.CSV `ical:",omitempty"`
}

func NewEvent

func NewEvent(uid string, start time.Time) *Event

creates a new iCalendar event with no end time

func NewEventWithDuration

func NewEventWithDuration(uid string, start time.Time, duration time.Duration) *Event

creates a new iCalendar event that lasts a certain duration

func NewEventWithEnd

func NewEventWithEnd(uid string, start time.Time, end time.Time) *Event

creates a new iCalendar event that has an explicit start and end time

func (*Event) AddAttendees

func (e *Event) AddAttendees(a ...*values.AttendeeContact)

func (*Event) AddRecurrenceExceptions

func (e *Event) AddRecurrenceExceptions(d ...*values.DateTime)

adds one or more recurrence rule exception to the event

func (*Event) AddRecurrenceRules

func (e *Event) AddRecurrenceRules(r ...*values.RecurrenceRule)

adds one or more recurrence rule to the event

func (*Event) IsOverride

func (e *Event) IsOverride() bool

checks to see if the event is a recurrence override

func (*Event) IsRecurrence

func (e *Event) IsRecurrence() bool

checks to see if the event is a recurrence

func (*Event) ValidateICalValue

func (e *Event) ValidateICalValue() error

validates the event internals

type TimeZone

type TimeZone struct {

	// defines the persistent, globally unique identifier for the calendar component.
	Id string `ical:"tzid,required"`

	// the location name, as defined by the standards body
	ExtLocationName string `ical:"x-lic-location,omitempty"`

	// defines a Uniform Resource Locator (URL) associated with the iCalendar object.
	Url *values.Url `ical:"tzurl,omitempty"`

	// specifies the date and time that the information associated with the calendar component was last revised in the
	// calendar store.
	// Note: This is analogous to the modification date and time for a file in the file system.
	LastModified *values.DateTime `ical:"last-modified,omitempty"`
}

func NewDynamicTimeZone

func NewDynamicTimeZone(location *time.Location) *TimeZone

Jump to

Keyboard shortcuts

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