metasrht

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2023 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessKind

type AccessKind string
const (
	AccessKindRo AccessKind = "RO"
	AccessKindRw AccessKind = "RW"
)

type AccessScope

type AccessScope string
const (
	AccessScopeAuditLog AccessScope = "AUDIT_LOG"
	AccessScopeBilling  AccessScope = "BILLING"
	AccessScopePgpKeys  AccessScope = "PGP_KEYS"
	AccessScopeSshKeys  AccessScope = "SSH_KEYS"
	AccessScopeProfile  AccessScope = "PROFILE"
)

type AuditLogCursor

type AuditLogCursor struct {
	Results []AuditLogEntry `json:"results"`
	Cursor  *Cursor         `json:"cursor,omitempty"`
}

A cursor for enumerating a list of audit log entries

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

func AuditLog

func AuditLog(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (auditLog *AuditLogCursor, err error)

type AuditLogEntry

type AuditLogEntry struct {
	Id        int32          `json:"id"`
	Created   gqlclient.Time `json:"created"`
	IpAddress string         `json:"ipAddress"`
	EventType string         `json:"eventType"`
	Details   *string        `json:"details,omitempty"`
}

type Cursor

type Cursor string

type Entity

type Entity struct {
	Id      int32          `json:"id"`
	Created gqlclient.Time `json:"created"`
	Updated gqlclient.Time `json:"updated"`
	// The canonical name of this entity. For users, this is their username
	// prefixed with '~'. Additional entity types will be supported in the future.
	CanonicalName string `json:"canonicalName"`

	// Underlying value of the GraphQL interface
	Value EntityValue `json:"-"`
}

func (*Entity) UnmarshalJSON added in v0.4.0

func (base *Entity) UnmarshalJSON(b []byte) error

type EntityValue added in v0.4.0

type EntityValue interface {
	// contains filtered or unexported methods
}

EntityValue is one of: User

type Invoice

type Invoice struct {
	Id        int32          `json:"id"`
	Created   gqlclient.Time `json:"created"`
	Cents     int32          `json:"cents"`
	ValidThru gqlclient.Time `json:"validThru"`
	Source    *string        `json:"source,omitempty"`
}

type InvoiceCursor

type InvoiceCursor struct {
	Results []Invoice `json:"results"`
	Cursor  *Cursor   `json:"cursor,omitempty"`
}

A cursor for enumerating a list of invoices

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

type OAuthClient

type OAuthClient struct {
	Id          int32   `json:"id"`
	Uuid        string  `json:"uuid"`
	RedirectUrl string  `json:"redirectUrl"`
	Name        string  `json:"name"`
	Description *string `json:"description,omitempty"`
	Url         *string `json:"url,omitempty"`
	Owner       *Entity `json:"owner"`
}

type OAuthClientRegistration

type OAuthClientRegistration struct {
	Client *OAuthClient `json:"client"`
	Secret string       `json:"secret"`
}

type OAuthGrant

type OAuthGrant struct {
	Id        int32          `json:"id"`
	Client    *OAuthClient   `json:"client"`
	Issued    gqlclient.Time `json:"issued"`
	Expires   gqlclient.Time `json:"expires"`
	TokenHash string         `json:"tokenHash"`
}

type OAuthGrantRegistration

type OAuthGrantRegistration struct {
	Grant  *OAuthGrant `json:"grant"`
	Grants string      `json:"grants"`
	Secret string      `json:"secret"`
}

type OAuthPersonalToken

type OAuthPersonalToken struct {
	Id      int32          `json:"id"`
	Issued  gqlclient.Time `json:"issued"`
	Expires gqlclient.Time `json:"expires"`
	Comment *string        `json:"comment,omitempty"`
}

type OAuthPersonalTokenRegistration

type OAuthPersonalTokenRegistration struct {
	Token  *OAuthPersonalToken `json:"token"`
	Secret string              `json:"secret"`
}

type PGPKey

type PGPKey struct {
	Id          int32          `json:"id"`
	Created     gqlclient.Time `json:"created"`
	User        *User          `json:"user"`
	Key         string         `json:"key"`
	Fingerprint string         `json:"fingerprint"`
}

func CreatePGPKey

func CreatePGPKey(client *gqlclient.Client, ctx context.Context, key string) (createPGPKey *PGPKey, err error)

func DeletePGPKey

func DeletePGPKey(client *gqlclient.Client, ctx context.Context, id int32) (deletePGPKey *PGPKey, err error)

type PGPKeyCursor

type PGPKeyCursor struct {
	Results []PGPKey `json:"results"`
	Cursor  *Cursor  `json:"cursor,omitempty"`
}

A cursor for enumerating a list of PGP keys

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

type PGPKeyEvent

type PGPKeyEvent struct {
	Uuid  string         `json:"uuid"`
	Event WebhookEvent   `json:"event"`
	Date  gqlclient.Time `json:"date"`
	Key   *PGPKey        `json:"key"`
}

type ProfileUpdateEvent

type ProfileUpdateEvent struct {
	Uuid    string         `json:"uuid"`
	Event   WebhookEvent   `json:"event"`
	Date    gqlclient.Time `json:"date"`
	Profile *User          `json:"profile"`
}

type ProfileWebhookInput

type ProfileWebhookInput struct {
	Url    string         `json:"url"`
	Events []WebhookEvent `json:"events"`
	Query  string         `json:"query"`
}

type ProfileWebhookSubscription

type ProfileWebhookSubscription struct {
	Id         int32                  `json:"id"`
	Events     []WebhookEvent         `json:"events"`
	Query      string                 `json:"query"`
	Url        string                 `json:"url"`
	Client     *OAuthClient           `json:"client,omitempty"`
	Deliveries *WebhookDeliveryCursor `json:"deliveries"`
	Sample     string                 `json:"sample"`
}

type SSHKey

type SSHKey struct {
	Id          int32          `json:"id"`
	Created     gqlclient.Time `json:"created"`
	LastUsed    gqlclient.Time `json:"lastUsed,omitempty"`
	User        *User          `json:"user"`
	Key         string         `json:"key"`
	Fingerprint string         `json:"fingerprint"`
	Comment     *string        `json:"comment,omitempty"`
}

func CreateSSHKey

func CreateSSHKey(client *gqlclient.Client, ctx context.Context, key string) (createSSHKey *SSHKey, err error)

func DeleteSSHKey

func DeleteSSHKey(client *gqlclient.Client, ctx context.Context, id int32) (deleteSSHKey *SSHKey, err error)

type SSHKeyCursor

type SSHKeyCursor struct {
	Results []SSHKey `json:"results"`
	Cursor  *Cursor  `json:"cursor,omitempty"`
}

A cursor for enumerating a list of SSH keys

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

type SSHKeyEvent

type SSHKeyEvent struct {
	Uuid  string         `json:"uuid"`
	Event WebhookEvent   `json:"event"`
	Date  gqlclient.Time `json:"date"`
	Key   *SSHKey        `json:"key"`
}

type User

type User struct {
	Id               int32          `json:"id"`
	Created          gqlclient.Time `json:"created"`
	Updated          gqlclient.Time `json:"updated"`
	CanonicalName    string         `json:"canonicalName"`
	Username         string         `json:"username"`
	Email            string         `json:"email"`
	Url              *string        `json:"url,omitempty"`
	Location         *string        `json:"location,omitempty"`
	Bio              *string        `json:"bio,omitempty"`
	UserType         UserType       `json:"userType"`
	SuspensionNotice *string        `json:"suspensionNotice,omitempty"`
	SshKeys          *SSHKeyCursor  `json:"sshKeys"`
	PgpKeys          *PGPKeyCursor  `json:"pgpKeys"`
}

func FetchMe

func FetchMe(client *gqlclient.Client, ctx context.Context) (me *User, err error)

func FetchUser

func FetchUser(client *gqlclient.Client, ctx context.Context, username string) (userByName *User, err error)

func ListPGPKeys

func ListPGPKeys(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (me *User, err error)

func ListPGPKeysByUser

func ListPGPKeysByUser(client *gqlclient.Client, ctx context.Context, username string, cursor *Cursor) (userByName *User, err error)

func ListRawPGPKeys

func ListRawPGPKeys(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (me *User, err error)

func ListRawPGPKeysByUser

func ListRawPGPKeysByUser(client *gqlclient.Client, ctx context.Context, username string, cursor *Cursor) (userByName *User, err error)

func ListRawSSHKeys

func ListRawSSHKeys(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (me *User, err error)

func ListRawSSHKeysByUser

func ListRawSSHKeysByUser(client *gqlclient.Client, ctx context.Context, username string, cursor *Cursor) (userByName *User, err error)

func ListSSHKeys

func ListSSHKeys(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (me *User, err error)

func ListSSHKeysByUser

func ListSSHKeysByUser(client *gqlclient.Client, ctx context.Context, username string, cursor *Cursor) (userByName *User, err error)

type UserInput

type UserInput struct {
	Url      *string `json:"url,omitempty"`
	Location *string `json:"location,omitempty"`
	Bio      *string `json:"bio,omitempty"`
	// Note: changing the user's email address will not take effect immediately;
	// the user is sent an email to confirm the change first.
	Email *string `json:"email,omitempty"`
}

Omit these fields to leave them unchanged, or set them to null to clear their value.

type UserType

type UserType string
const (
	UserTypeUnconfirmed      UserType = "UNCONFIRMED"
	UserTypeActiveNonPaying  UserType = "ACTIVE_NON_PAYING"
	UserTypeActiveFree       UserType = "ACTIVE_FREE"
	UserTypeActivePaying     UserType = "ACTIVE_PAYING"
	UserTypeActiveDelinquent UserType = "ACTIVE_DELINQUENT"
	UserTypeAdmin            UserType = "ADMIN"
	UserTypeSuspended        UserType = "SUSPENDED"
)

type Version

type Version struct {
	Major int32 `json:"major"`
	Minor int32 `json:"minor"`
	Patch int32 `json:"patch"`
	// If this API version is scheduled for deprecation, this is the date on which
	// it will stop working; or null if this API version is not scheduled for
	// deprecation.
	DeprecationDate gqlclient.Time `json:"deprecationDate,omitempty"`
}

type WebhookDelivery

type WebhookDelivery struct {
	Uuid         string               `json:"uuid"`
	Date         gqlclient.Time       `json:"date"`
	Event        WebhookEvent         `json:"event"`
	Subscription *WebhookSubscription `json:"subscription"`
	RequestBody  string               `json:"requestBody"`
	// These details are provided only after a response is received from the
	// remote server. If a response is sent whose Content-Type is not text/*, or
	// cannot be decoded as UTF-8, the response body will be null. It will be
	// truncated after 64 KiB.
	ResponseBody    *string `json:"responseBody,omitempty"`
	ResponseHeaders *string `json:"responseHeaders,omitempty"`
	ResponseStatus  *int32  `json:"responseStatus,omitempty"`
}

type WebhookDeliveryCursor

type WebhookDeliveryCursor struct {
	Results []WebhookDelivery `json:"results"`
	Cursor  *Cursor           `json:"cursor,omitempty"`
}

A cursor for enumerating a list of webhook deliveries

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

type WebhookEvent

type WebhookEvent string
const (
	// Used for user profile webhooks
	WebhookEventProfileUpdate WebhookEvent = "PROFILE_UPDATE"
	WebhookEventPgpKeyAdded   WebhookEvent = "PGP_KEY_ADDED"
	WebhookEventPgpKeyRemoved WebhookEvent = "PGP_KEY_REMOVED"
	WebhookEventSshKeyAdded   WebhookEvent = "SSH_KEY_ADDED"
	WebhookEventSshKeyRemoved WebhookEvent = "SSH_KEY_REMOVED"
)

func ParseUserEvents added in v0.2.0

func ParseUserEvents(events []string) ([]WebhookEvent, error)

type WebhookPayload

type WebhookPayload struct {
	Uuid  string         `json:"uuid"`
	Event WebhookEvent   `json:"event"`
	Date  gqlclient.Time `json:"date"`

	// Underlying value of the GraphQL interface
	Value WebhookPayloadValue `json:"-"`
}

func (*WebhookPayload) UnmarshalJSON added in v0.4.0

func (base *WebhookPayload) UnmarshalJSON(b []byte) error

type WebhookPayloadValue added in v0.4.0

type WebhookPayloadValue interface {
	// contains filtered or unexported methods
}

WebhookPayloadValue is one of: ProfileUpdateEvent | PGPKeyEvent | SSHKeyEvent

type WebhookSubscription

type WebhookSubscription struct {
	Id     int32          `json:"id"`
	Events []WebhookEvent `json:"events"`
	Query  string         `json:"query"`
	Url    string         `json:"url"`
	// If this webhook was registered by an authorized OAuth 2.0 client, this
	// field is non-null.
	Client *OAuthClient `json:"client,omitempty"`
	// All deliveries which have been sent to this webhook.
	Deliveries *WebhookDeliveryCursor `json:"deliveries"`
	// Returns a sample payload for this subscription, for testing purposes
	Sample string `json:"sample"`

	// Underlying value of the GraphQL interface
	Value WebhookSubscriptionValue `json:"-"`
}

func CreateUserWebhook added in v0.2.0

func CreateUserWebhook(client *gqlclient.Client, ctx context.Context, config ProfileWebhookInput) (createWebhook *WebhookSubscription, err error)

func DeleteUserWebhook added in v0.2.0

func DeleteUserWebhook(client *gqlclient.Client, ctx context.Context, id int32) (deleteWebhook *WebhookSubscription, err error)

func (*WebhookSubscription) UnmarshalJSON added in v0.4.0

func (base *WebhookSubscription) UnmarshalJSON(b []byte) error

type WebhookSubscriptionCursor

type WebhookSubscriptionCursor struct {
	Results []WebhookSubscription `json:"results"`
	Cursor  *Cursor               `json:"cursor,omitempty"`
}

A cursor for enumerating a list of webhook subscriptions

If there are additional results available, the cursor object may be passed back into the same endpoint to retrieve another page. If the cursor is null, there are no remaining results to return.

func UserWebhooks added in v0.2.0

func UserWebhooks(client *gqlclient.Client, ctx context.Context, cursor *Cursor) (profileWebhooks *WebhookSubscriptionCursor, err error)

type WebhookSubscriptionValue added in v0.4.0

type WebhookSubscriptionValue interface {
	// contains filtered or unexported methods
}

WebhookSubscriptionValue is one of: ProfileWebhookSubscription

Jump to

Keyboard shortcuts

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