employer

package
v0.0.0-...-556fe45 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2025 License: AGPL-3.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddCostCenterRequest

type AddCostCenterRequest struct {
	Name  CostCenterName `json:"name"            validate:"required,min=3,max=64"`
	Notes string         `json:"notes,omitempty" validate:"max=1024"`
}

type AddEmployerCandidacyCommentRequest

type AddEmployerCandidacyCommentRequest struct {
	CandidacyID string `json:"candidacy_id" validate:"required"`
	Comment     string `json:"comment"      validate:"required,max=2048"`
}

type AddInterviewRequest

type AddInterviewRequest struct {
	CandidacyID       string               `json:"candidacy_id"       validate:"required"`
	StartTime         time.Time            `json:"start_time"         validate:"required"`
	EndTime           time.Time            `json:"end_time"           validate:"required"`
	InterviewType     common.InterviewType `json:"interview_type"     validate:"required,validate_interview_type"`
	Description       string               `json:"description"        validate:"omitempty,max=2048"`
	InterviewerEmails []string             `json:"interviewer_emails" validate:"omitempty,dive,email"`
}

type AddInterviewResponse

type AddInterviewResponse struct {
	InterviewID string `json:"interview_id"`
}

type AddInterviewerRequest

type AddInterviewerRequest struct {
	InterviewID  string `json:"interview_id"   validate:"required"`
	OrgUserEmail string `json:"org_user_email" validate:"required,email"`
}

type AddLocationRequest

type AddLocationRequest struct {
	Title            string   `json:"title"             validate:"required,min=3,max=32"`
	CountryCode      string   `json:"country_code"      validate:"required,len=3,validate_country_code"`
	PostalAddress    string   `json:"postal_address"    validate:"required,min=3,max=1024"`
	PostalCode       string   `json:"postal_code"       validate:"required,min=3,max=16"`
	OpenStreetMapURL string   `json:"openstreetmap_url" validate:"omitempty,url,max=255"`
	CityAka          []string `json:"city_aka"          validate:"omitempty,validate_city_aka"`
}

type AddOpeningWatchersRequest

type AddOpeningWatchersRequest struct {
	OpeningID string                `json:"opening_id" validate:"required"`
	Emails    []common.EmailAddress `json:"emails"     validate:"required"`
}

type AddOrgUserRequest

type AddOrgUserRequest struct {
	Name  string              `json:"name"  validate:"required,min=3,max=255"`
	Email string              `json:"email" validate:"required,email,min=3,max=255"`
	Roles common.OrgUserRoles `json:"roles" validate:"required,validate_org_user_roles"`
}

type Application

type Application struct {
	ID                         string                  `json:"id"`
	CoverLetter                *string                 `json:"cover_letter,omitempty"`
	CreatedAt                  time.Time               `json:"created_at"`
	HubUserHandle              string                  `json:"hub_user_handle"`
	HubUserName                string                  `json:"hub_user_name"`
	HubUserShortBio            string                  `json:"hub_user_short_bio"`
	HubUserLastEmployerDomains []string                `json:"hub_user_last_employer_domains,omitempty"`
	State                      common.ApplicationState `json:"state"`
	ColorTag                   *ApplicationColorTag    `json:"color_tag,omitempty"`
	Endorsers                  []Endorser              `json:"endorsers"`
}

type ApplicationColorTag

type ApplicationColorTag string
const (
	// Any change here should reflect in the IsValid() method too
	GreenApplicationColorTag  ApplicationColorTag = "GREEN"
	YellowApplicationColorTag ApplicationColorTag = "YELLOW"
	RedApplicationColorTag    ApplicationColorTag = "RED"
)

func (ApplicationColorTag) IsValid

func (c ApplicationColorTag) IsValid() bool

type Assessment

type Assessment struct {
	InterviewID         string                      `json:"interview_id"          validate:"required"`
	Decision            common.InterviewersDecision `json:"decision"              validate:"required"`
	Positives           string                      `json:"positives"             validate:"omitempty,max=4096"`
	Negatives           string                      `json:"negatives"             validate:"omitempty,max=4096"`
	OverallAssessment   string                      `json:"overall_assessment"    validate:"omitempty,max=4096"`
	FeedbackToCandidate string                      `json:"feedback_to_candidate" validate:"omitempty,max=4096"`
	FeedbackSubmittedBy string                      `json:"feedback_submitted_by" validate:"omitempty,email"`
	FeedbackSubmittedAt time.Time                   `json:"feedback_submitted_at" validate:"omitempty"`
}

type Candidacy

type Candidacy struct {
	CandidacyID        string                `json:"candidacy_id"`
	OpeningID          string                `json:"opening_id"`
	OpeningTitle       string                `json:"opening_title"`
	OpeningDescription string                `json:"opening_description"`
	CandidacyState     common.CandidacyState `json:"candidacy_state"`
	ApplicantName      string                `json:"applicant_name"`
	ApplicantHandle    string                `json:"applicant_handle"`
}

type ChangeOpeningStateRequest

type ChangeOpeningStateRequest struct {
	OpeningID string              `json:"opening_id" validate:"required"`
	FromState common.OpeningState `json:"from_state" validate:"required"`
	ToState   common.OpeningState `json:"to_state"   validate:"required"`
}

type CostCenter

type CostCenter struct {
	Name  CostCenterName  `json:"name"            validate:"required,min=3,max=64" db:"cost_center_name"`
	Notes string          `json:"notes,omitempty" validate:"max=1024"              db:"notes"`
	State CostCenterState `json:"state"                                            db:"cost_center_state"`
}

type CostCenterName

type CostCenterName string

type CostCenterState

type CostCenterState string
const (
	ActiveCC  CostCenterState = "ACTIVE_CC"
	DefunctCC CostCenterState = "DEFUNCT_CC"
)

type CreateOpeningRequest

type CreateOpeningRequest struct {
	Title          string                `json:"title"                     validate:"required,min=3,max=32"`
	Positions      int                   `json:"positions"                 validate:"required,min=1,max=20"`
	JD             string                `json:"jd"                        validate:"required,min=10,max=1024"`
	Recruiter      common.EmailAddress   `json:"recruiter"                 validate:"required"`
	HiringManager  common.EmailAddress   `json:"hiring_manager"            validate:"required"`
	HiringTeam     []common.EmailAddress `json:"hiring_team,omitempty"     validate:"omitempty,max=10"`
	CostCenterName CostCenterName        `json:"cost_center_name"          validate:"required"`
	LocationTitles []string              `json:"location_titles,omitempty" validate:"omitempty,max=10"`

	// TODO: Add validation for remote_country_codes and remote_timezones
	RemoteCountryCodes []common.CountryCode `json:"remote_country_codes,omitempty" validate:"omitempty,dive,validate_country_code,max=100"`
	RemoteTimezones    []common.TimeZone    `json:"remote_timezones,omitempty"     validate:"omitempty,max=200"`

	OpeningType common.OpeningType `json:"opening_type" validate:"required,validate_opening_type"`
	YoeMin      int                `json:"yoe_min"      validate:"min=0,max=100"`
	YoeMax      int                `json:"yoe_max"      validate:"min=1,max=100"`

	// Optional fields
	EmployerNotes     *string               `json:"employer_notes,omitempty" validate:"omitempty,max=1024"`
	MinEducationLevel common.EducationLevel `json:"min_education_level"      validate:"required,validate_education_level"`
	Salary            *common.Salary        `json:"salary,omitempty"         validate:"omitempty"`

	// Optional fields
	Tags    []common.OpeningTagID `json:"tags,omitempty"     validate:"omitempty,max=3"`
	NewTags []string              `json:"new_tags,omitempty" validate:"omitempty,max=3"`
}

type CreateOpeningResponse

type CreateOpeningResponse struct {
	OpeningID string `json:"opening_id"`
}

type DefunctCostCenterRequest

type DefunctCostCenterRequest struct {
	Name CostCenterName `json:"name" validate:"required,min=3,max=64"`
}

type DefunctLocationRequest

type DefunctLocationRequest struct {
	Title string `json:"title" validate:"required,min=3,max=32"`
}

type DisableOrgUserRequest

type DisableOrgUserRequest struct {
	Email string `json:"email" validate:"required,email"`
}

type EmployerInterview

type EmployerInterview struct {
	InterviewID          string                       `json:"interview_id"`
	InterviewState       common.InterviewState        `json:"interview_state"`
	StartTime            time.Time                    `json:"start_time"`
	EndTime              time.Time                    `json:"end_time"`
	InterviewType        common.InterviewType         `json:"interview_type"`
	Description          *string                      `json:"description"`
	CandidateName        string                       `json:"candidate_name"`
	CandidateHandle      string                       `json:"candidate_handle"`
	CandidateRSVPStatus  common.RSVPStatus            `json:"candidate_rsvp_status"`
	Interviewers         []Interviewer                `json:"interviewers"`
	InterviewersDecision *common.InterviewersDecision `json:"interviewers_decision"`
	Positives            *string                      `json:"positives"             validate:"omitempty,max=4096"`
	Negatives            *string                      `json:"negatives"             validate:"omitempty,max=4096"`
	OverallAssessment    *string                      `json:"overall_assessment"    validate:"omitempty,max=4096"`
	FeedbackToCandidate  *string                      `json:"feedback_to_candidate" validate:"omitempty,max=4096"`
	FeedbackSubmittedBy  *OrgUserTiny                 `json:"feedback_submitted_by"`
	FeedbackSubmittedAt  *time.Time                   `json:"feedback_submitted_at"`
	CreatedAt            time.Time                    `json:"created_at"`
}

type EmployerSignInRequest

type EmployerSignInRequest struct {
	ClientID string              `json:"client_id" validate:"required,client_id"`
	Email    common.EmailAddress `json:"email"     validate:"required,email"`
	Password common.Password     `json:"password"  validate:"required,password"`
}

type EmployerSignInResponse

type EmployerSignInResponse struct {
	Token string `json:"token"`
}

type EmployerTFARequest

type EmployerTFARequest struct {
	TFACode    string `json:"tfa_code"              validate:"required"`
	TFAToken   string `json:"tfa_token"             validate:"required"`
	RememberMe bool   `json:"remember_me,omitempty"`
}

type EmployerTFAResponse

type EmployerTFAResponse struct {
	SessionToken string `json:"session_token"`
}

type EmployerViewBio

type EmployerViewBio struct {
	Handle              string                `json:"handle"`
	FullName            string                `json:"full_name"`
	ShortBio            string                `json:"short_bio"`
	LongBio             string                `json:"long_bio"`
	VerifiedMailDomains []string              `json:"verified_mail_domains,omitempty"`
	WorkHistory         []EmployerWorkHistory `json:"work_history"`
}

type EmployerWorkHistory

type EmployerWorkHistory struct {
	ID             string  `json:"id"`
	EmployerDomain string  `json:"employer_domain"`
	EmployerName   *string `json:"employer_name"`
	Title          string  `json:"title"`
	StartDate      string  `json:"start_date"`
	EndDate        *string `json:"end_date"`
	Description    *string `json:"description"`
}

type EnableOrgUserRequest

type EnableOrgUserRequest struct {
	Email string `json:"email" validate:"required,email"`
}

type Endorser

type Endorser struct {
	FullName              string   `json:"full_name"`
	ShortBio              string   `json:"short_bio"`
	Handle                string   `json:"handle"`
	CurrentCompanyDomains []string `json:"current_company_domains"`
}

type FilterCandidacyInfosRequest

type FilterCandidacyInfosRequest struct {
	OpeningID      *string `json:"opening_id"      validate:"omitempty"`
	RecruiterEmail *string `json:"recruiter_email" validate:"omitempty"`
	State          *string `json:"state"           validate:"omitempty"`

	PaginationKey *string `json:"pagination_key" validate:"omitempty"`
	Limit         int64   `json:"limit"          validate:"required,min=0,max=40"`
}

type FilterOpeningsRequest

type FilterOpeningsRequest struct {
	State []common.OpeningState `json:"state,omitempty" validate:"omitempty,validate_opening_states"`

	FromDate *time.Time `json:"from_date,omitempty" validate:"omitempty,validate_opening_filter_start_date"`
	ToDate   *time.Time `json:"to_date,omitempty"   validate:"omitempty,validate_opening_filter_end_date"`

	PaginationKey string `json:"pagination_key,omitempty"`
	Limit         int    `json:"limit"                    validate:"max=40"`
}

func (FilterOpeningsRequest) StatesAsStrings

func (filterOpeningsReq FilterOpeningsRequest) StatesAsStrings() []string

type FilterOrgUsersRequest

type FilterOrgUsersRequest struct {
	Prefix string         `json:"prefix" validate:"omitempty,min=1,max=255"`
	State  []OrgUserState `json:"state"  validate:"omitempty,validate_org_user_state"`

	PaginationKey string `json:"pagination_key" validate:"omitempty,email"`
	Limit         int    `json:"limit"          validate:"omitempty,min=0,max=40"`
}

Should we graphqlize this for auto-completion ?

func (*FilterOrgUsersRequest) StatesAsStrings

func (filterOrgUsersReq *FilterOrgUsersRequest) StatesAsStrings() []string

type GetApplicationsRequest

type GetApplicationsRequest struct {
	State          common.ApplicationState `json:"state"            validate:"validate_application_state"`
	SearchQuery    *string                 `json:"search_query"     validate:"omitempty,max=25"`
	ColorTagFilter *ApplicationColorTag    `json:"color_tag_filter" validate:"omitempty"`
	OpeningID      string                  `json:"opening_id"       validate:"required"`
	PaginationKey  *string                 `json:"pagination_key"   validate:"omitempty"`
	Limit          int64                   `json:"limit"            validate:"required,min=0,max=40"`
}

type GetAssessmentRequest

type GetAssessmentRequest struct {
	InterviewID string `json:"interview_id" validate:"required"`
}

type GetCostCenterRequest

type GetCostCenterRequest struct {
	Name CostCenterName `json:"name" validate:"required,min=3,max=64"`
}

type GetCostCentersRequest

type GetCostCentersRequest struct {
	Limit         int               `json:"limit,omitempty"          validate:"max=100"`
	PaginationKey CostCenterName    `json:"pagination_key,omitempty"`
	States        []CostCenterState `json:"states,omitempty"         validate:"validate_cc_states"`
}

func (*GetCostCentersRequest) StatesAsStrings

func (g *GetCostCentersRequest) StatesAsStrings() []string

type GetEmployerInterviewsByCandidacyRequest

type GetEmployerInterviewsByCandidacyRequest struct {
	CandidacyID string                  `json:"candidacy_id" validate:"required"`
	States      []common.InterviewState `json:"states"       validate:"omitempty"`
}

type GetEmployerInterviewsByOpeningRequest

type GetEmployerInterviewsByOpeningRequest struct {
	OpeningID     string                  `json:"opening_id"     validate:"required"`
	States        []common.InterviewState `json:"states"         validate:"omitempty"`
	PaginationKey string                  `json:"pagination_key" validate:"omitempty"`
	Limit         int64                   `json:"limit"          validate:"required,min=0,max=100"`
}

type GetHubUserBioRequest

type GetHubUserBioRequest struct {
	Handle string `json:"handle" validate:"required"`
}

type GetInterviewDetailsRequest

type GetInterviewDetailsRequest struct {
	InterviewID string `json:"interview_id" validate:"required"`
}

type GetLocationRequest

type GetLocationRequest struct {
	Title string `json:"title" validate:"required,min=3,max=32"`
}

type GetLocationsRequest

type GetLocationsRequest struct {
	States        []LocationState `json:"states"          validate:"omitempty,validate_location_state"`
	PaginationKey string          `json:"pagination_key"`
	Limit         int             `json:"limit,omitempty" validate:"omitempty,min=0,max=100"`
}

func (*GetLocationsRequest) StatesAsStrings

func (r *GetLocationsRequest) StatesAsStrings() []string

type GetOnboardStatusRequest

type GetOnboardStatusRequest struct {
	ClientID string `json:"client_id" validate:"required,client_id"`
}

type GetOnboardStatusResponse

type GetOnboardStatusResponse struct {
	Status OnboardStatus `json:"status"`
}

type GetOpeningRequest

type GetOpeningRequest struct {
	ID string `json:"id" validate:"required"`
}

type GetOpeningWatchersRequest

type GetOpeningWatchersRequest struct {
	OpeningID string `json:"opening_id" validate:"required"`
}

type GetResumeRequest

type GetResumeRequest struct {
	ApplicationID string `json:"application_id" validate:"required"`
}

type Interviewer

type Interviewer struct {
	Name       string            `json:"name"`
	Email      string            `json:"email"`
	RSVPStatus common.RSVPStatus `json:"rsvp_status"`
}

type Location

type Location struct {
	Title            string   `json:"title"             db:"title"`
	CountryCode      string   `json:"country_code"      db:"country_code"`
	PostalAddress    string   `json:"postal_address"    db:"postal_address"`
	PostalCode       string   `json:"postal_code"       db:"postal_code"`
	OpenStreetMapURL string   `json:"openstreetmap_url" db:"openstreetmap_url"`
	CityAka          []string `json:"city_aka"          db:"city_aka"`

	State LocationState `json:"state" db:"location_state"`
}

type LocationState

type LocationState string
const (
	ActiveLocation  LocationState = "ACTIVE_LOCATION"
	DefunctLocation LocationState = "DEFUNCT_LOCATION"
)

type OfferToCandidateRequest

type OfferToCandidateRequest struct {
	CandidacyID   string `json:"candidacy_id"   validate:"required"`
	OfferDocument string `json:"offer_document" validate:"omitempty"`
}

type OnboardStatus

type OnboardStatus string
const (
	DomainNotVerified            OnboardStatus = "DOMAIN_NOT_VERIFIED"
	DomainVerifiedOnboardPending OnboardStatus = "DOMAIN_VERIFIED_ONBOARD_PENDING"
	DomainOnboarded              OnboardStatus = "DOMAIN_ONBOARDED"
)

type Opening

type Opening struct {
	ID                 string               `json:"id"`
	Title              string               `json:"title"`
	Positions          int                  `json:"positions"`
	FilledPositions    int                  `json:"filled_positions"`
	JD                 string               `json:"jd"`
	Recruiter          OrgUserShort         `json:"recruiter"`
	HiringManager      OrgUserShort         `json:"hiring_manager"`
	HiringTeam         []OrgUserShort       `json:"hiring_team,omitempty"`
	CostCenterName     CostCenterName       `json:"cost_center_name"`
	LocationTitles     []string             `json:"location_titles,omitempty"`
	RemoteCountryCodes []common.CountryCode `json:"remote_country_codes,omitempty"`
	RemoteTimezones    []common.TimeZone    `json:"remote_timezones,omitempty"`
	OpeningType        common.OpeningType   `json:"opening_type"`
	YoeMin             int                  `json:"yoe_min"`
	YoeMax             int                  `json:"yoe_max"`
	State              common.OpeningState  `json:"state"`
	CreatedAt          time.Time            `json:"created_at"`
	LastUpdatedAt      time.Time            `json:"last_updated_at"`

	// Optional fields
	EmployerNotes     *string               `json:"employer_notes,omitempty"`
	MinEducationLevel common.EducationLevel `json:"min_education_level"`
	Salary            *common.Salary        `json:"salary,omitempty"`
	Tags              []common.OpeningTag   `json:"tags,omitempty"`
}

type OpeningID

type OpeningID string

type OpeningInfo

type OpeningInfo struct {
	ID              string              `json:"id"               db:"id"`
	Title           string              `json:"title"            db:"title"`
	Positions       int                 `json:"positions"        db:"positions"`
	FilledPositions int                 `json:"filled_positions" db:"filled_positions"`
	Recruiter       OrgUserShort        `json:"recruiter"        db:"recruiter"`
	HiringManager   OrgUserShort        `json:"hiring_manager"   db:"hiring_manager"`
	CostCenterName  CostCenterName      `json:"cost_center_name" db:"cost_center_name"`
	OpeningType     common.OpeningType  `json:"opening_type"     db:"opening_type"`
	State           common.OpeningState `json:"state"            db:"state"`
	CreatedAt       time.Time           `json:"created_at"       db:"created_at"`
	LastUpdatedAt   time.Time           `json:"last_updated_at"  db:"last_updated_at"`
}

type OrgUser

type OrgUser struct {
	Name  string              `json:"name"  db:"name"`
	Email string              `json:"email" db:"email"`
	Roles common.OrgUserRoles `json:"roles" db:"org_user_roles"`
	State OrgUserState        `json:"state" db:"org_user_state"`
}

type OrgUserShort

type OrgUserShort struct {
	Name  string `json:"name"  db:"name"`
	Email string `json:"email" db:"email"`

	// If there is a HubUser (hub_users table in the db) who has the above email
	// as one of the VERIFIED emails in hub_users_official_emails table,
	// then this field will contain the handle of that HubUser.
	VetchiHandle *string `json:"vetchi_handle,omitempty" db:"vetchi_handle"`
}

OrgUserShort is intended to be used in rendering of OrgUsers within the Employer UI, Autocompletion on Employer UI, etc. Not to be used on the Hub UI or even exposed on Hub APIs.

type OrgUserState

type OrgUserState string
const (
	// The user is active in the organization
	ActiveOrgUserState OrgUserState = "ACTIVE_ORG_USER"

	// The user has been added to the organization but not yet signed up
	AddedOrgUserState OrgUserState = "ADDED_ORG_USER"

	// The user is no longer active in the organization
	DisabledOrgUserState OrgUserState = "DISABLED_ORG_USER"

	// The user is replicated from a different directory service (e.g. LDAP, Google, Microsoft Active Directory, etc.)
	ReplicatedOrgUserState OrgUserState = "REPLICATED_ORG_USER"
)

type OrgUserTiny

type OrgUserTiny struct {
	Name  string `json:"name"  db:"name"`
	Email string `json:"email" db:"email"`
}

OrgUserTiny is intended to be used in any details page within the Employer UI This does not contain the VetchiHandle field and so may be a little faster

type PutAssessmentRequest

type PutAssessmentRequest struct {
	InterviewID            string                      `json:"interview_id"             validate:"required"`
	Decision               common.InterviewersDecision `json:"decision"                 validate:"omitempty,validate_interviewers_decision"`
	Positives              string                      `json:"positives"                validate:"omitempty,max=4096"`
	Negatives              string                      `json:"negatives"                validate:"omitempty,max=4096"`
	OverallAssessment      string                      `json:"overall_assessment"       validate:"omitempty,max=4096"`
	FeedbackToCandidate    string                      `json:"feedback_to_candidate"    validate:"omitempty,max=4096"`
	MarkInterviewCompleted bool                        `json:"mark_interview_completed" validate:"omitempty"`
}

type RejectApplicationRequest

type RejectApplicationRequest struct {
	ApplicationID string `json:"application_id" validate:"required"`
}

type RemoveApplicationColorTagRequest

type RemoveApplicationColorTagRequest struct {
	ApplicationID string `json:"application_id" validate:"required"`
}

type RemoveInterviewerRequest

type RemoveInterviewerRequest struct {
	InterviewID  string `json:"interview_id"   validate:"required"`
	OrgUserEmail string `json:"org_user_email" validate:"required,email"`
}

type RemoveOpeningWatcherRequest

type RemoveOpeningWatcherRequest struct {
	OpeningID string              `json:"opening_id" validate:"required"`
	Email     common.EmailAddress `json:"email"      validate:"required"`
}

type RenameCostCenterRequest

type RenameCostCenterRequest struct {
	OldName CostCenterName `json:"old_name" validate:"required,min=3,max=64"`
	NewName CostCenterName `json:"new_name" validate:"required,min=3,max=64"`
}

type RenameLocationRequest

type RenameLocationRequest struct {
	OldTitle string `json:"old_title" validate:"required,min=3,max=32"`
	NewTitle string `json:"new_title" validate:"required,min=3,max=32"`
}

type SetApplicationColorTagRequest

type SetApplicationColorTagRequest struct {
	ApplicationID string              `json:"application_id" validate:"required"`
	ColorTag      ApplicationColorTag `json:"color_tag"      validate:"required,validate_application_color_tag"`
}

type SetOnboardPasswordRequest

type SetOnboardPasswordRequest struct {
	ClientID string          `json:"client_id" validate:"required,client_id"`
	Password common.Password `json:"password"  validate:"required,password"`
	Token    string          `json:"token"     validate:"required"`
}

type ShortlistApplicationRequest

type ShortlistApplicationRequest struct {
	ApplicationID string `json:"application_id" validate:"required"`
}

type SignupOrgUserRequest

type SignupOrgUserRequest struct {
	Name        string `json:"name"         validate:"required,min=3,max=255"`
	Password    string `json:"password"     validate:"required,password"`
	InviteToken string `json:"invite_token" validate:"required,min=1,max=255"`
}

type UpdateCostCenterRequest

type UpdateCostCenterRequest struct {
	Name  CostCenterName `json:"name"  validate:"required,min=3,max=64"`
	Notes string         `json:"notes" validate:"required,max=1024"`
}

type UpdateLocationRequest

type UpdateLocationRequest struct {
	Title            string   `json:"title"             validate:"required,min=3,max=32"`
	CountryCode      string   `json:"country_code"      validate:"required,len=3,validate_country_code"`
	PostalAddress    string   `json:"postal_address"    validate:"required,min=3,max=1024"`
	PostalCode       string   `json:"postal_code"       validate:"required,min=3,max=16"`
	OpenStreetMapURL string   `json:"openstreetmap_url" validate:"omitempty,url,max=255"`
	CityAka          []string `json:"city_aka"          validate:"omitempty,validate_city_aka"`
}

type UpdateOpeningRequest

type UpdateOpeningRequest struct {
	OpeningID string `json:"opening_id" validate:"required"`
}

type UpdateOrgUserRequest

type UpdateOrgUserRequest struct {
	Email string              `json:"email" validate:"required,email,min=3,max=255"`
	Name  string              `json:"name"  validate:"required,min=3,max=255"`
	Roles common.OrgUserRoles `json:"roles" validate:"required,validate_org_user_roles"`
}

Jump to

Keyboard shortcuts

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