model

package
v0.1.5-dev Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: CC0-1.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminEvent added in v0.1.1

type AdminEvent struct {
	Uuid                 string           `json:"uuid"`
	ExternalId           *string          `json:"external_id,omitempty"`
	SourceLink           *string          `json:"source_link,omitempty"`
	ReleaseStatus        string           `json:"release_status"`
	ReleaseDate          *string          `json:"release_date,omitempty"`
	Categories           []int            `json:"categories,omitempty"`
	ContentLanguage      *string          `json:"content_language,omitempty"`
	OrgUuid              string           `json:"org_uuid"`
	OrgName              string           `json:"org_name"`
	Title                string           `json:"title"`
	Subtitle             *string          `json:"subtitle,omitempty"`
	Description          *string          `json:"description,omitempty"`
	Summary              *string          `json:"summary,omitempty"`
	EventTypes           []EventType      `json:"event_types,omitempty"`
	EventLinks           []WebLink        `json:"event_links,omitempty"`
	Tags                 []string         `json:"tags,omitempty"`
	OccasionType         *int             `json:"occasion_type,omitempty"`
	VenueUuid            *string          `json:"venue_uuid,omitempty"`
	VenueName            *string          `json:"venue_name,omitempty"`
	VenueStreet          *string          `json:"venue_street,omitempty"`
	VenueHouseNumber     *string          `json:"venue_house_number,omitempty"`
	VenuePostalCode      *string          `json:"venue_postal_code,omitempty"`
	VenueCity            *string          `json:"venue_city,omitempty"`
	VenueCountry         *string          `json:"venue_country,omitempty"`
	VenueState           *string          `json:"venue_state,omitempty"`
	VenueLon             *float64         `json:"venue_lon,omitempty"`
	VenueLat             *float64         `json:"venue_lat,omitempty"`
	SpaceUuid            *string          `json:"space_uuid,omitempty"`
	SpaceName            *string          `json:"space_name,omitempty"`
	SpaceTotalCapacity   *int             `json:"space_total_capacity,omitempty"`
	SpaceSeatingCapacity *int             `json:"space_seating_capacity,omitempty"`
	SpaceBuildingLevel   *int             `json:"space_building_level,omitempty"`
	OnlineLink           *string          `json:"online_link,omitempty"`
	MeetingPoint         *string          `json:"meeting_point,omitempty"`
	Languages            []string         `json:"languages,omitempty"`
	ParticipationInfo    *string          `json:"participation_info,omitempty"`
	MinAge               *int             `json:"min_age,omitempty"`
	MaxAge               *int             `json:"max_age,omitempty"`
	MaxAttendees         *int             `json:"max_attendees,omitempty"`
	PriceType            PriceType        `json:"price_type,omitempty"`
	MinPrice             *float64         `json:"min_price,omitempty"`
	MaxPrice             *float64         `json:"max_price,omitempty"`
	TicketFlags          []string         `json:"ticket_flags,omitempty"`
	TicketLink           *string          `json:"ticket_link,omitempty"`
	Currency             *string          `json:"currency,omitempty"`
	CurrencyName         *string          `json:"currency_name,omitempty"`
	VisitorInfoFlags     *string          `json:"visitor_info_flags,omitempty"`
	Images               []Image          `json:"images,omitempty"`
	Custom               *string          `json:"custom,omitempty"`
	Style                *string          `json:"style,omitempty"`
	EventDates           []AdminEventDate `json:"dates,omitempty"`
}

type AdminEventDate added in v0.1.1

type AdminEventDate struct {
	Uuid                 string   `json:"uuid"`
	EventUuid            string   `json:"event_uuid"`
	StartDate            *string  `json:"start_date,omitempty"`
	StartTime            *string  `json:"start_time,omitempty"`
	EndDate              *string  `json:"end_date,omitempty"`
	EndTime              *string  `json:"end_time,omitempty"`
	EntryTime            *string  `json:"entry_time,omitempty"`
	Duration             *int64   `json:"duration,omitempty"`
	AllDay               *bool    `json:"all_day,omitempty"`
	AccessibilityInfo    *string  `json:"accessibility_info,omitempty"`
	VenueUuid            *string  `json:"venue_uuid,omitempty"`
	VenueName            *string  `json:"venue_name,omitempty"`
	VenueStreet          *string  `json:"venue_street,omitempty"`
	VenueHouseNumber     *string  `json:"venue_house_number,omitempty"`
	VenuePostalCode      *string  `json:"venue_postal_code,omitempty"`
	VenueCity            *string  `json:"venue_city,omitempty"`
	VenueState           *string  `json:"venue_state,omitempty"`
	VenueCountry         *string  `json:"venue_country,omitempty"`
	VenueLon             *float64 `json:"venue_lon,omitempty"`
	VenueLat             *float64 `json:"venue_lat,omitempty"`
	VenueLink            *string  `json:"venue_link,omitempty"`
	SpaceUuid            *string  `json:"space_uuid,omitempty"`
	SpaceName            *string  `json:"space_name,omitempty"`
	SpaceTotalCapacity   *int     `json:"space_total_capacity,omitempty"`
	SpaceSeatingCapacity *int     `json:"space_seating_capacity,omitempty"`
	SpaceBuildingLevel   *int     `json:"space_building_level,omitempty"`
	SpaceLink            *string  `json:"space_link,omitempty"`
}

type AdminListEvent added in v0.1.1

type AdminListEvent struct {
	Uuid                 string      `json:"uuid"`
	DateUuid             *string     `json:"date_uuid"`
	ReleaseStatus        *string     `json:"release_status"`
	ReleaseDate          *string     `json:"release_date,omitempty"`
	Categories           *[]int      `json:"categories,omitempty"`
	CanEditEvent         bool        `json:"can_edit_event"`
	CanDeleteEvent       bool        `json:"can_delete_event"`
	CanReleaseEvent      bool        `json:"can_release_event"`
	CanViewEventInsights bool        `json:"can_view_event_insights"`
	OrgUuid              string      `json:"org_uuid"`
	OrgName              *string     `json:"org_name"`
	VenueUuid            *string     `json:"venue_uuid,omitempty"`
	VenueName            *string     `json:"venue_name,omitempty"`
	SpaceUuid            *string     `json:"space_uuid,omitempty"`
	SpaceName            *string     `json:"space_name,omitempty"`
	ImageUuid            *string     `json:"image_uuid,omitempty"`
	ImageUrl             *string     `json:"image_url,omitempty"`
	SeriesIndex          int         `json:"series_index,omitempty"`
	SeriesTotal          int         `json:"series_total,omitempty"`
	StartDate            *string     `json:"start_date"`
	StartTime            *string     `json:"start_time"`
	EndDate              *string     `json:"end_date,omitempty"`
	EndTime              *string     `json:"end_time,omitempty"`
	Title                string      `json:"title"`
	Subtitle             *string     `json:"subtitle,omitempty"`
	EventTypes           []EventType `json:"event_types,omitempty"`
}

type EventDate added in v0.1.1

type EventDate struct {
	Uuid                         string   `json:"uuid"`
	EventUuid                    string   `json:"event_uuid"`
	EventReleaseStatus           string   `json:"release_status"`
	StartDate                    string   `json:"start_date"`
	StartTime                    string   `json:"start_time"`
	EndDate                      *string  `json:"end_date,omitempty"`
	EndTime                      *string  `json:"end_time,omitempty"`
	EntryTime                    *string  `json:"entry_time,omitempty"`
	Duration                     *int     `json:"duration,omitempty"`
	VenueUuid                    *string  `json:"venue_uuid"`
	VenueName                    *string  `json:"venue_name,omitempty"`
	VenueStreet                  *string  `json:"venue_street,omitempty"`
	VenueHouseNumber             *string  `json:"venue_house_number,omitempty"`
	VenuePostalCode              *string  `json:"venue_postal_code,omitempty"`
	VenueCity                    *string  `json:"venue_city,omitempty"`
	VenueCountry                 *string  `json:"venue_country,omitempty"`
	VenueState                   *string  `json:"venue_state,omitempty"`
	VenueLon                     *float32 `json:"venue_lon,omitempty"`
	VenueLat                     *float32 `json:"venue_lat,omitempty"`
	VenueWebLink                 *string  `json:"venue_web_link,omitempty"`
	VenueLogoImageUuid           *string  `json:"venue_logo_uuid,omitempty"`
	VenueLightThemeLogoImageUuid *string  `json:"venue_light_theme_logo_uuid,omitempty"`
	VenueDarkThemeLogoImageUuid  *string  `json:"venue_dark_theme_logo_uuid,omitempty"`
	VenueLogoUrl                 *string  `json:"venue_logo_url,omitempty"`
	VenueLightThemeLogoUrl       *string  `json:"venue_light_theme_logo_url,omitempty"`
	VenueDarkThemeLogoUrl        *string  `json:"venue_dark_theme_logo_url,omitempty"`
	SpaceUuid                    *string  `json:"space_uuid,omitempty"`
	SpaceName                    *string  `json:"space_name,omitempty"`
	SpaceWebLink                 *string  `json:"space_web_link,omitempty"`
	TotalCapacity                *int     `json:"total_capacity,omitempty"`
	SeatingCapacity              *int     `json:"seating_capacity,omitempty"`
	BuildingLevel                *int     `json:"building_level,omitempty"`
	AccessibilityFlags           *string  `json:"accessibility_flags,omitempty"`
	AccessibilitySummary         *string  `json:"accessibility_summary,omitempty"`
	AccessibilityInfo            *string  `json:"accessibility_info,omitempty"`
}

type EventDatePayload added in v0.1.1

type EventDatePayload struct {
	StartDate            string  `json:"start_date" binding:"required"`
	StartTime            string  `json:"start_time" binding:"required"`
	EndDate              *string `json:"end_date,omitempty"`
	EndTime              *string `json:"end_time,omitempty"`
	EntryTime            *string `json:"entry_time,omitempty"`
	AllDay               *bool   `json:"all_day,omitempty"`
	Duration             *int    `json:"duration,omitempty"`
	VenueUuid            *string `json:"venue_uuid,omitempty"`
	SpaceUuid            *string `json:"space_uuid,omitempty"`
	TicketLink           *string `json:"ticket_link,omitempty"`
	AvailabilityStatusId *int    `json:"availability_status_id,omitempty"`
	AccessibilityInfo    *string `json:"accessibility_info,omitempty"`
	Custom               *string `json:"custom,omitempty"`
}

EventDatePayload is used for creating and updating event dates. StartDate and StartTime are required. All other fields are optional and represented as pointers to distinguish between "not provided" and zero values.

type EventDetails added in v0.1.1

type EventDetails struct {
	Uuid              string                  `json:"uuid"`
	ReleaseStatus     *string                 `json:"release_status,omitempty"`
	ContentLanguage   *string                 `json:"content_language,omitempty"`
	Title             string                  `json:"title"`
	Subtitle          *string                 `json:"subtitle,omitempty"`
	Description       *string                 `json:"description,omitempty"`
	Summary           *string                 `json:"summary,omitempty"`
	Languages         []string                `json:"languages,omitempty"`
	Tags              []string                `json:"tags,omitempty"`
	OrgUuid           string                  `json:"org_uuid"`
	OrgName           string                  `json:"org_name"`
	OrgWebLink        *string                 `json:"org_web_link,omitempty"`
	OrgLogos          map[string]EventOrgLogo `json:"org_logos"`
	Image             *Image                  `json:"image,omitempty"`       // nested struct for the JSON image
	EventTypes        []EventType             `json:"event_types,omitempty"` // typed slice
	EventLinks        []WebLink               `json:"event_links,omitempty"` // typed slice
	Date              *EventDate              `json:"date,omitempty"`
	FurtherDates      []EventDate             `json:"further_dates,omitempty"`
	MaxAttendees      *int                    `json:"max_attendees,omitempty"`
	MinAge            *int                    `json:"min_age,omitempty"`
	MaxAge            *int                    `json:"max_age,omitempty"`
	Currency          *string                 `json:"currency,omitempty"`
	PriceType         *string                 `json:"price_type,omitempty"`
	MinPrice          *float64                `json:"min_price,omitempty"`
	MaxPrice          *float64                `json:"max_price,omitempty"`
	TicketFlags       []string                `json:"ticket_flags,omitempty"`
	TicketLink        *string                 `json:"ticket_link,omitempty"`
	VisitorInfoFlags  *string                 `json:"visitor_info_flags,omitempty"`
	ParticipationInfo *string                 `json:"participation_info,omitempty"`
	MeetingPoint      *string                 `json:"meeting_point,omitempty"`
	OnlineLink        *string                 `json:"online_link,omitempty"`
}
type EventOrgLogo struct {
	UUID string `json:"uuid"`
	URL  string `json:"url"`
}

type EventType added in v0.1.1

type EventType struct {
	Type      int     `json:"type_id"`
	TypeName  *string `json:"type_name,omitempty"`
	Genre     int     `json:"genre_id"`
	GenreName *string `json:"genre_name,omitempty"`
}

type EventTypeGenrePairPayload added in v0.1.1

type EventTypeGenrePairPayload struct {
	TypeId  int  `json:"type_id" binding:"required"`
	GenreId *int `json:"genre_id"`
}

type Image added in v0.1.1

type Image struct {
	Uuid               string   `json:"uuid"`
	Identifier         string   `json:"identifier"`
	Url                string   `json:"url"`
	Alt                *string  `json:"alt,omitempty"`
	Creator            *string  `json:"creator,omitempty"`
	Copyright          *string  `json:"copyright,omitempty"`
	Description        *string  `json:"description,omitempty"`
	License            *string  `json:"license,omitempty"`
	LicenseName        *string  `json:"license_name,omitempty"`
	LicenseDescription *string  `json:"license_descriptio,omitempty"`
	FocusX             *float64 `json:"focus_x,omitempty"`
	FocusY             *float64 `json:"focus_y,omitempty"`
}

type InvitedOrganizationMember added in v0.1.1

type InvitedOrganizationMember struct {
	UserUuid  string    `json:"user_uuid"`
	InvitedBy string    `json:"invited_by"`
	InvitedAt time.Time `json:"invited_at"`
	Email     string    `json:"email"`
}

type OrganizationListItem added in v0.1.1

type OrganizationListItem struct {
	Uuid                string  `json:"uuid"`
	Name                string  `json:"name"`
	City                *string `json:"city"`
	Country             *string `json:"country"`
	TotalUpcomingEvents int64   `json:"total_upcoming_events"`
	VenueCount          int64   `json:"venue_count"`
	SpaceCount          int64   `json:"space_count"`
	CanEditOrg          bool    `json:"can_edit_org"`
	CanDeleteOrg        bool    `json:"can_delete_org"`
	CanManageTeam       bool    `json:"can_manage_team"`
	LogoUrl             *string `json:"logo_url,omitempty"`
	LightThemeLogoUrl   *string `json:"light_theme_logo_url,omitempty"`
	DarkThemeLogoUrl    *string `json:"dark_theme_logo_url,omitempty"`
}

type OrganizationMember added in v0.1.1

type OrganizationMember struct {
	UserUuid     string     `json:"user_uuid"`
	Email        string     `json:"email"`
	Username     *string    `json:"username"`
	DisplayName  *string    `json:"display_name"`
	AvatarUrl    *string    `json:"avatar_url"`
	LastActiveAt *time.Time `json:"last_active_at"`
	JoinedAt     time.Time  `json:"joined_at"`
}
type OrganizationMemberLink struct {
	Uuid              string     `json:"uuid"`
	OrgUuid           string     `json:"org_uuid"`
	UserUuid          string     `json:"user_uuid"`
	HasJoined         *bool      `json:"has_joined"`
	InvitedByUserUuid *string    `json:"invited_by_user_uuid"`
	InvitedAt         *time.Time `json:"invited_at"`
	CreatedAt         *time.Time `json:"created_at"`
	ModifiedAt        *time.Time `json:"modified_at"`
}

type OrganizationMemberRole added in v0.1.1

type OrganizationMemberRole struct {
	Uuid        string `json:"uuid"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type PriceType added in v0.1.1

type PriceType string
const (
	NotSpecified PriceType = "not_specified"
	RegularPrice PriceType = "regular_price"
	Free         PriceType = "free"
	Donation     PriceType = "donation"
	TieredPrices PriceType = "tiered_prices"
)

type Space added in v0.1.1

type Space struct {
	Uuid                 string   `json:"uuid"`
	Name                 string   `json:"name"`
	Description          *string  `json:"description,omitempty"`
	SpaceType            *string  `json:"space_type,omitempty"`
	BuildingLevel        *int     `json:"building_level,omitempty"`
	AreaSqm              *float64 `json:"area_sqm,omitempty"`
	TotalCapacity        *int     `json:"total_capacity,omitempty"`
	SeatingCapacity      *int     `json:"seating_capacity,omitempty"`
	WebLink              *string  `json:"web_link,omitempty"`
	AccessibilityFlags   *string  `json:"accessibility_flags"`
	AccessibilitySummary *string  `json:"accessibility_summary"`
}

type Todo added in v0.1.1

type Todo struct {
	Id          int        `json:"id"`
	Title       string     `json:"title"`
	Description *string    `json:"description"`
	DueDate     *time.Time `json:"due_date"`
	Completed   bool       `json:"completed"`
	Importance  *string    `json:"importance"`
}

type UpsertImageResultData added in v0.1.1

type UpsertImageResultData struct {
	HttpStatus        int    `json:"http_status"`
	Message           string `json:"message"`
	FileReplaced      bool   `json:"file_replaced"`
	CacheFilesRemoved int    `json:"cache_files_removed"`
	ImageId           int    `json:"image_id"`
	ImageIdentifier   string `json:"image_identifier"`
}

type User

type User struct {
	Uuid         string  `json:"uuid"`
	Email        string  `json:"email"`
	PasswordHash *string `json:"password_hash"`
	Username     *string `json:"username"`
	DisplayName  *string `json:"display_name"`
	FirstName    *string `json:"first_name"`
	LastName     *string `json:"last_name"`
	Locale       *string `json:"locale"`
	Theme        *string `json:"theme"`
	IsActive     bool    `json:"is_active"`
	AvatarUrl    *string `json:"avatar_url"`
}

type UserCredentials added in v0.1.1

type UserCredentials struct {
	Email    string `json:"email" binding:"required"`
	Password string `json:"password" binding:"required"`
}

type UserEventNotification added in v0.1.1

type UserEventNotification struct {
	EventUuid         string     `json:"event_uuid"`
	EventTitle        string     `json:"event_title"`
	OrgUuid           string     `json:"org_uuid"`
	OrgName           *string    `json:"org_name,omitempty"`
	ReleaseDate       *time.Time `json:"release_date,omitempty"`
	ReleaseStatus     string     `json:"release_status"`
	EarliestEventDate *time.Time `json:"earliest_event_date,omitempty"`
	LatestEventDate   *time.Time `json:"latest_event_date,omitempty"`
	DaysUntilRelease  *int       `json:"days_until_release,omitempty"`
	DaysUntilEvent    *int       `json:"days_until_event,omitempty"`
}

UserEventNotification contains a single event notification

type UserProfileResponse added in v0.1.1

type UserProfileResponse struct {
	UserUUID    string  `json:"user_uuid"`
	Email       string  `json:"email"`
	Username    *string `json:"username"`
	DisplayName *string `json:"display_name"`
	FirstName   *string `json:"first_name"`
	LastName    *string `json:"last_name"`
	Locale      *string `json:"locale"`
	Theme       *string `json:"theme"`
	AvatarUrl   *string `json:"avatar_url"`
}

type Venue

type Venue struct {
	Uuid         string           `json:"uuid"`
	OrgUuid      string           `json:"org_uuid"`
	Name         string           `json:"name"`
	Description  *string          `json:"description,omitempty"`
	Type         *string          `json:"type,omitempty"`
	OpenedAt     *string          `json:"opened_at,omitempty"`
	ClosedAt     *string          `json:"closed_at,omitempty"`
	ContactEmail *string          `json:"contact_email,omitempty"`
	ContactPhone *string          `json:"contact_phone,omitempty"`
	WebLink      *string          `json:"web_link,omitempty"`
	Street       *string          `json:"street,omitempty"`
	HouseNumber  *string          `json:"house_number,omitempty"`
	PostalCode   *string          `json:"postal_code,omitempty"`
	City         *string          `json:"city,omitempty"`
	State        *string          `json:"state,omitempty"`
	Country      *string          `json:"country,omitempty"`
	Lon          *float64         `json:"lon,omitempty"`
	Lat          *float64         `json:"lat,omitempty"`
	Images       map[string]Image `json:"images,omitempty"`
}

type VenueInfo added in v0.1.1

type VenueInfo struct {
	VenueUuid string  `json:"venue_uuid"`
	VenueName *string `json:"venue_name"`
	SpaceUuid *string `json:"space_uuid"`
	SpaceName *string `json:"space_name"`
	City      *string `json:"city"`
	Country   *string `json:"country"`
}
type WebLink struct {
	Label *string `json:"label,omitempty"`
	Type  *string `json:"type,omitempty"`
	Url   string  `json:"url"`
}

Jump to

Keyboard shortcuts

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