Stop tracking generated files

Run make generate in CI lint and test jobs since generated files are
now gitignored. Also include Relay codegen for frontend apps in the
generate target.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-03-16 15:17:01 +01:00
parent 3e3138f764
commit 807213d384
516 changed files with 134 additions and 263935 deletions

View File

@@ -0,0 +1,3 @@
*
!.gitignore
!doc.go

View File

@@ -0,0 +1,17 @@
// Copyright (c) 2025 Probo Inc <hello@getprobo.com>.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
// Package schema contains the generated GraphQL executable schema for the
// Connect API.
package schema

File diff suppressed because it is too large Load Diff

View File

@@ -1,666 +0,0 @@
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
package types
import (
"bytes"
"fmt"
"io"
"strconv"
"time"
"github.com/99designs/gqlgen/graphql"
"go.probo.inc/probo/pkg/coredata"
"go.probo.inc/probo/pkg/gid"
"go.probo.inc/probo/pkg/mail"
"go.probo.inc/probo/pkg/page"
)
type AssumeOrganizationSessionResult interface {
IsAssumeOrganizationSessionResult()
}
type Node interface {
IsNode()
GetID() gid.GID
}
type ActivateAccountInput struct {
Token string `json:"token"`
}
type ActivateAccountPayload struct {
CreatePasswordToken *string `json:"createPasswordToken,omitempty"`
SsoLoginURL *string `json:"ssoLoginUrl,omitempty"`
Profile *Profile `json:"profile,omitempty"`
}
type ActivateUserInput struct {
OrganizationID gid.GID `json:"organizationId"`
ProfileID gid.GID `json:"profileId"`
}
type AssumeOrganizationSessionInput struct {
OrganizationID gid.GID `json:"organizationId"`
Continue string `json:"continue"`
}
type AssumeOrganizationSessionPayload struct {
Result AssumeOrganizationSessionResult `json:"result"`
}
type ChangeEmailInput struct {
NewEmail mail.Addr `json:"newEmail"`
Password string `json:"password"`
}
type ChangeEmailPayload struct {
Success bool `json:"success"`
}
type ChangePasswordInput struct {
CurrentPassword string `json:"currentPassword"`
NewPassword string `json:"newPassword"`
}
type ChangePasswordPayload struct {
Success bool `json:"success"`
}
type Connector struct {
ID gid.GID `json:"id"`
Provider coredata.ConnectorProvider `json:"provider"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Permission bool `json:"permission"`
}
func (Connector) IsNode() {}
func (this Connector) GetID() gid.GID { return this.ID }
type CreateOrganizationInput struct {
Name string `json:"name"`
LogoFile *graphql.Upload `json:"logoFile,omitempty"`
HorizontalLogoFile *graphql.Upload `json:"horizontalLogoFile,omitempty"`
}
type CreateOrganizationPayload struct {
Organization *Organization `json:"organization,omitempty"`
Profile *Profile `json:"profile"`
}
type CreatePersonalAPIKeyInput struct {
Name string `json:"name"`
ExpiresAt time.Time `json:"expiresAt"`
}
type CreatePersonalAPIKeyPayload struct {
PersonalAPIKeyEdge *PersonalAPIKeyEdge `json:"personalAPIKeyEdge"`
Token string `json:"token"`
}
type CreateSAMLConfigurationInput struct {
OrganizationID gid.GID `json:"organizationId"`
EmailDomain string `json:"emailDomain"`
IdpEntityID string `json:"idpEntityId"`
IdpSsoURL string `json:"idpSsoUrl"`
IdpCertificate string `json:"idpCertificate"`
AutoSignupEnabled bool `json:"autoSignupEnabled"`
AttributeMappings *SAMLAttributeMappingsInput `json:"attributeMappings,omitempty"`
}
type CreateSAMLConfigurationPayload struct {
SamlConfigurationEdge *SAMLConfigurationEdge `json:"samlConfigurationEdge"`
}
type CreateSCIMConfigurationInput struct {
OrganizationID gid.GID `json:"organizationId"`
ConnectorID *gid.GID `json:"connectorId,omitempty"`
}
type CreateSCIMConfigurationPayload struct {
ScimConfiguration *SCIMConfiguration `json:"scimConfiguration"`
ScimBridge *SCIMBridge `json:"scimBridge,omitempty"`
Token string `json:"token"`
}
type CreateUserInput struct {
OrganizationID gid.GID `json:"organizationId"`
FullName string `json:"fullName"`
EmailAddress mail.Addr `json:"emailAddress"`
Role coredata.MembershipRole `json:"role"`
AdditionalEmailAddresses []mail.Addr `json:"additionalEmailAddresses,omitempty"`
Kind *string `json:"kind,omitempty"`
Position *string `json:"position,omitempty"`
ContractStartDate graphql.Omittable[*time.Time] `json:"contractStartDate,omitempty"`
ContractEndDate graphql.Omittable[*time.Time] `json:"contractEndDate,omitempty"`
}
type CreateUserPayload struct {
ProfileEdge *ProfileEdge `json:"profileEdge"`
}
type DeactivateUserInput struct {
OrganizationID gid.GID `json:"organizationId"`
ProfileID gid.GID `json:"profileId"`
}
type DeactivateUserPayload struct {
Success bool `json:"success"`
}
type DeleteOrganizationHorizontalLogoInput struct {
OrganizationID gid.GID `json:"organizationId"`
}
type DeleteOrganizationHorizontalLogoPayload struct {
Organization *Organization `json:"organization"`
}
type DeleteOrganizationInput struct {
OrganizationID gid.GID `json:"organizationId"`
}
type DeleteOrganizationPayload struct {
DeletedOrganizationID gid.GID `json:"deletedOrganizationId"`
}
type DeleteSAMLConfigurationInput struct {
OrganizationID gid.GID `json:"organizationId"`
SamlConfigurationID gid.GID `json:"samlConfigurationId"`
}
type DeleteSAMLConfigurationPayload struct {
DeletedSamlConfigurationID gid.GID `json:"deletedSamlConfigurationId"`
}
type DeleteSCIMConfigurationInput struct {
OrganizationID gid.GID `json:"organizationId"`
ScimConfigurationID gid.GID `json:"scimConfigurationId"`
}
type DeleteSCIMConfigurationPayload struct {
DeletedScimConfigurationID gid.GID `json:"deletedScimConfigurationId"`
}
type ForgotPasswordInput struct {
Email mail.Addr `json:"email"`
}
type ForgotPasswordPayload struct {
Success bool `json:"success"`
}
type Identity struct {
ID gid.GID `json:"id"`
Email mail.Addr `json:"email"`
FullName string `json:"fullName"`
EmailVerified bool `json:"emailVerified"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Profiles *ProfileConnection `json:"profiles,omitempty"`
Sessions *SessionConnection `json:"sessions,omitempty"`
PersonalAPIKeys *PersonalAPIKeyConnection `json:"personalAPIKeys,omitempty"`
SsoLoginURL *string `json:"ssoLoginURL,omitempty"`
Permission bool `json:"permission"`
}
func (Identity) IsNode() {}
func (this Identity) GetID() gid.GID { return this.ID }
type Invitation struct {
ID gid.GID `json:"id"`
ExpiresAt time.Time `json:"expiresAt"`
AcceptedAt *time.Time `json:"acceptedAt,omitempty"`
CreatedAt time.Time `json:"createdAt"`
Status coredata.InvitationStatus `json:"status"`
Permission bool `json:"permission"`
}
func (Invitation) IsNode() {}
func (this Invitation) GetID() gid.GID { return this.ID }
type InvitationEdge struct {
Node *Invitation `json:"node"`
Cursor page.CursorKey `json:"cursor"`
}
type InviteUserInput struct {
OrganizationID gid.GID `json:"organizationId"`
ProfileID gid.GID `json:"profileId"`
}
type InviteUserPayload struct {
InvitationEdge *InvitationEdge `json:"invitationEdge"`
}
type Membership struct {
ID gid.GID `json:"id"`
CreatedAt time.Time `json:"createdAt"`
Role coredata.MembershipRole `json:"role"`
LastSession *Session `json:"lastSession,omitempty"`
Permission bool `json:"permission"`
}
func (Membership) IsNode() {}
func (this Membership) GetID() gid.GID { return this.ID }
type Mutation struct {
}
type Organization struct {
ID gid.GID `json:"id"`
Name string `json:"name"`
LogoURL *string `json:"logoUrl,omitempty"`
HorizontalLogoURL *string `json:"horizontalLogoUrl,omitempty"`
Email *string `json:"email,omitempty"`
Description *string `json:"description,omitempty"`
WebsiteURL *string `json:"websiteUrl,omitempty"`
HeadquarterAddress *string `json:"headquarterAddress,omitempty"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Profiles *ProfileConnection `json:"profiles,omitempty"`
SamlConfigurations *SAMLConfigurationConnection `json:"samlConfigurations,omitempty"`
ScimConfiguration *SCIMConfiguration `json:"scimConfiguration,omitempty"`
Viewer *Profile `json:"viewer,omitempty"`
Permission bool `json:"permission"`
}
func (Organization) IsNode() {}
func (this Organization) GetID() gid.GID { return this.ID }
type OrganizationSessionCreated struct {
Session *Session `json:"session"`
Membership *Membership `json:"membership"`
}
func (OrganizationSessionCreated) IsAssumeOrganizationSessionResult() {}
type PageInfo struct {
HasNextPage bool `json:"hasNextPage"`
HasPreviousPage bool `json:"hasPreviousPage"`
StartCursor *page.CursorKey `json:"startCursor,omitempty"`
EndCursor *page.CursorKey `json:"endCursor,omitempty"`
}
type PasswordRequired struct {
Reason ReauthenticationReason `json:"reason"`
}
func (PasswordRequired) IsAssumeOrganizationSessionResult() {}
type PersonalAPIKey struct {
ID gid.GID `json:"id"`
Name string `json:"name"`
ExpiresAt time.Time `json:"expiresAt"`
LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`
CreatedAt time.Time `json:"createdAt"`
Token *string `json:"token,omitempty"`
Permission bool `json:"permission"`
}
func (PersonalAPIKey) IsNode() {}
func (this PersonalAPIKey) GetID() gid.GID { return this.ID }
type PersonalAPIKeyEdge struct {
Node *PersonalAPIKey `json:"node"`
Cursor page.CursorKey `json:"cursor"`
}
type Profile struct {
ID gid.GID `json:"id"`
FullName string `json:"fullName"`
EmailAddress mail.Addr `json:"emailAddress"`
Source string `json:"source"`
State coredata.ProfileState `json:"state"`
AdditionalEmailAddresses []mail.Addr `json:"additionalEmailAddresses"`
Kind *string `json:"kind,omitempty"`
Position *string `json:"position,omitempty"`
ContractStartDate *time.Time `json:"contractStartDate,omitempty"`
ContractEndDate *time.Time `json:"contractEndDate,omitempty"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Identity *Identity `json:"identity,omitempty"`
Organization *Organization `json:"organization,omitempty"`
Membership *Membership `json:"membership,omitempty"`
PendingInvitations *InvitationConnection `json:"pendingInvitations,omitempty"`
Permission bool `json:"permission"`
}
func (Profile) IsNode() {}
func (this Profile) GetID() gid.GID { return this.ID }
type ProfileEdge struct {
Cursor page.CursorKey `json:"cursor"`
Node *Profile `json:"node"`
}
type ProfileFilter struct {
ExcludeContractEnded *bool `json:"excludeContractEnded,omitempty"`
State *coredata.ProfileState `json:"state,omitempty"`
}
type Query struct {
}
type RegenerateSCIMTokenInput struct {
OrganizationID gid.GID `json:"organizationId"`
ScimConfigurationID gid.GID `json:"scimConfigurationId"`
}
type RegenerateSCIMTokenPayload struct {
ScimConfiguration *SCIMConfiguration `json:"scimConfiguration"`
Token string `json:"token"`
}
type RemoveUserInput struct {
OrganizationID gid.GID `json:"organizationId"`
ProfileID gid.GID `json:"profileId"`
}
type RemoveUserPayload struct {
DeletedProfileID gid.GID `json:"deletedProfileId"`
}
type ResetPasswordInput struct {
Token string `json:"token"`
Password string `json:"password"`
}
type ResetPasswordPayload struct {
Success bool `json:"success"`
}
type RevokeAllSessionsPayload struct {
RevokedCount int `json:"revokedCount"`
}
type RevokePersonalAPIKeyInput struct {
PersonalAPIKeyID gid.GID `json:"personalAPIKeyId"`
}
type RevokePersonalAPIKeyPayload struct {
PersonalAPIKeyID gid.GID `json:"personalAPIKeyId"`
}
type RevokeSessionInput struct {
SessionID gid.GID `json:"sessionId"`
}
type RevokeSessionPayload struct {
Success bool `json:"success"`
}
type SAMLAttributeMappings struct {
Email string `json:"email"`
FirstName string `json:"firstName"`
LastName string `json:"lastName"`
Role string `json:"role"`
}
type SAMLAttributeMappingsInput struct {
Email *string `json:"email,omitempty"`
FirstName *string `json:"firstName,omitempty"`
LastName *string `json:"lastName,omitempty"`
Role *string `json:"role,omitempty"`
}
type SAMLAuthenticationRequired struct {
Reason ReauthenticationReason `json:"reason"`
}
func (SAMLAuthenticationRequired) IsAssumeOrganizationSessionResult() {}
type SAMLConfiguration struct {
ID gid.GID `json:"id"`
EmailDomain string `json:"emailDomain"`
EnforcementPolicy coredata.SAMLEnforcementPolicy `json:"enforcementPolicy"`
DomainVerifiedAt *time.Time `json:"domainVerifiedAt,omitempty"`
DomainVerificationToken *string `json:"domainVerificationToken,omitempty"`
IdpEntityID string `json:"idpEntityId"`
IdpSsoURL string `json:"idpSsoUrl"`
IdpCertificate string `json:"idpCertificate"`
AutoSignupEnabled bool `json:"autoSignupEnabled"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
TestLoginURL string `json:"testLoginUrl"`
AttributeMappings *SAMLAttributeMappings `json:"attributeMappings"`
Permission bool `json:"permission"`
}
func (SAMLConfiguration) IsNode() {}
func (this SAMLConfiguration) GetID() gid.GID { return this.ID }
type SAMLConfigurationEdge struct {
Node *SAMLConfiguration `json:"node"`
Cursor page.CursorKey `json:"cursor"`
}
type SCIMBridge struct {
ID gid.GID `json:"id"`
State coredata.SCIMBridgeState `json:"state"`
ScimConfiguration *SCIMConfiguration `json:"scimConfiguration,omitempty"`
Connector *Connector `json:"connector,omitempty"`
Type coredata.SCIMBridgeType `json:"type"`
ExcludedUserNames []string `json:"excludedUserNames"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Permission bool `json:"permission"`
}
func (SCIMBridge) IsNode() {}
func (this SCIMBridge) GetID() gid.GID { return this.ID }
type SCIMConfiguration struct {
ID gid.GID `json:"id"`
EndpointURL string `json:"endpointUrl"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Organization *Organization `json:"organization,omitempty"`
Bridge *SCIMBridge `json:"bridge,omitempty"`
Events *SCIMEventConnection `json:"events,omitempty"`
Permission bool `json:"permission"`
}
func (SCIMConfiguration) IsNode() {}
func (this SCIMConfiguration) GetID() gid.GID { return this.ID }
type SCIMEvent struct {
ID gid.GID `json:"id"`
Method string `json:"method"`
Path string `json:"path"`
StatusCode int `json:"statusCode"`
RequestBody *string `json:"requestBody,omitempty"`
ResponseBody *string `json:"responseBody,omitempty"`
ErrorMessage *string `json:"errorMessage,omitempty"`
UserName string `json:"userName"`
IPAddress string `json:"ipAddress"`
CreatedAt time.Time `json:"createdAt"`
Permission bool `json:"permission"`
}
func (SCIMEvent) IsNode() {}
func (this SCIMEvent) GetID() gid.GID { return this.ID }
type SCIMEventEdge struct {
Node *SCIMEvent `json:"node"`
Cursor page.CursorKey `json:"cursor"`
}
type Session struct {
ID gid.GID `json:"id"`
Identity *Identity `json:"identity,omitempty"`
IPAddress string `json:"ipAddress"`
UserAgent string `json:"userAgent"`
UpdatedAt time.Time `json:"updatedAt"`
CreatedAt time.Time `json:"createdAt"`
ExpiresAt time.Time `json:"expiresAt"`
Permission bool `json:"permission"`
}
func (Session) IsNode() {}
func (this Session) GetID() gid.GID { return this.ID }
type SessionEdge struct {
Node *Session `json:"node"`
Cursor page.CursorKey `json:"cursor"`
}
type SessionOrder struct {
Direction page.OrderDirection `json:"direction"`
Field coredata.SessionOrderField `json:"field"`
}
type SignInInput struct {
OrganizationID *gid.GID `json:"organizationId,omitempty"`
Email mail.Addr `json:"email"`
Password string `json:"password"`
}
type SignInPayload struct {
Identity *Identity `json:"identity,omitempty"`
Session *Session `json:"session,omitempty"`
}
type SignOutPayload struct {
Success bool `json:"success"`
}
type SignUpInput struct {
Email mail.Addr `json:"email"`
Password string `json:"password"`
FullName string `json:"fullName"`
}
type SignUpPayload struct {
Identity *Identity `json:"identity,omitempty"`
}
type UpdateMembershipInput struct {
OrganizationID gid.GID `json:"organizationId"`
MembershipID gid.GID `json:"membershipId"`
Role coredata.MembershipRole `json:"role"`
}
type UpdateMembershipPayload struct {
Membership *Membership `json:"membership"`
}
type UpdateOrganizationInput struct {
OrganizationID gid.GID `json:"organizationId"`
Name *string `json:"name,omitempty"`
LogoFile *graphql.Upload `json:"logoFile,omitempty"`
HorizontalLogoFile *graphql.Upload `json:"horizontalLogoFile,omitempty"`
Description graphql.Omittable[*string] `json:"description,omitempty"`
WebsiteURL graphql.Omittable[*string] `json:"websiteUrl,omitempty"`
Email graphql.Omittable[*string] `json:"email,omitempty"`
HeadquarterAddress graphql.Omittable[*string] `json:"headquarterAddress,omitempty"`
}
type UpdateOrganizationPayload struct {
Organization *Organization `json:"organization,omitempty"`
}
type UpdateSAMLConfigurationInput struct {
OrganizationID gid.GID `json:"organizationId"`
SamlConfigurationID gid.GID `json:"samlConfigurationId"`
IdpEntityID *string `json:"idpEntityId,omitempty"`
IdpSsoURL *string `json:"idpSsoUrl,omitempty"`
IdpCertificate *string `json:"idpCertificate,omitempty"`
AutoSignupEnabled *bool `json:"autoSignupEnabled,omitempty"`
EnforcementPolicy coredata.SAMLEnforcementPolicy `json:"enforcementPolicy"`
AttributeMappings *SAMLAttributeMappingsInput `json:"attributeMappings,omitempty"`
}
type UpdateSAMLConfigurationPayload struct {
SamlConfiguration *SAMLConfiguration `json:"samlConfiguration,omitempty"`
}
type UpdateSCIMBridgeInput struct {
OrganizationID gid.GID `json:"organizationId"`
ScimBridgeID gid.GID `json:"scimBridgeId"`
ExcludedUserNames []string `json:"excludedUserNames"`
}
type UpdateSCIMBridgePayload struct {
ScimBridge *SCIMBridge `json:"scimBridge"`
}
type UpdateUserInput struct {
ID gid.GID `json:"id"`
FullName string `json:"fullName"`
AdditionalEmailAddresses []mail.Addr `json:"additionalEmailAddresses,omitempty"`
Kind *string `json:"kind,omitempty"`
Position *string `json:"position,omitempty"`
ContractStartDate graphql.Omittable[*time.Time] `json:"contractStartDate,omitempty"`
ContractEndDate graphql.Omittable[*time.Time] `json:"contractEndDate,omitempty"`
}
type UpdateUserPayload struct {
Profile *Profile `json:"profile"`
}
type VerifyEmailInput struct {
Token string `json:"token"`
}
type VerifyEmailPayload struct {
Success bool `json:"success"`
}
type ReauthenticationReason string
const (
ReauthenticationReasonSessionExpired ReauthenticationReason = "SESSION_EXPIRED"
ReauthenticationReasonSensitiveAction ReauthenticationReason = "SENSITIVE_ACTION"
ReauthenticationReasonPolicyRequirement ReauthenticationReason = "POLICY_REQUIREMENT"
)
var AllReauthenticationReason = []ReauthenticationReason{
ReauthenticationReasonSessionExpired,
ReauthenticationReasonSensitiveAction,
ReauthenticationReasonPolicyRequirement,
}
func (e ReauthenticationReason) IsValid() bool {
switch e {
case ReauthenticationReasonSessionExpired, ReauthenticationReasonSensitiveAction, ReauthenticationReasonPolicyRequirement:
return true
}
return false
}
func (e ReauthenticationReason) String() string {
return string(e)
}
func (e *ReauthenticationReason) UnmarshalGQL(v any) error {
str, ok := v.(string)
if !ok {
return fmt.Errorf("enums must be strings")
}
*e = ReauthenticationReason(str)
if !e.IsValid() {
return fmt.Errorf("%s is not a valid ReauthenticationReason", str)
}
return nil
}
func (e ReauthenticationReason) MarshalGQL(w io.Writer) {
fmt.Fprint(w, strconv.Quote(e.String()))
}
func (e *ReauthenticationReason) UnmarshalJSON(b []byte) error {
s, err := strconv.Unquote(string(b))
if err != nil {
return err
}
return e.UnmarshalGQL(s)
}
func (e ReauthenticationReason) MarshalJSON() ([]byte, error) {
var buf bytes.Buffer
e.MarshalGQL(&buf)
return buf.Bytes(), nil
}