Documentation
¶
Index ¶
- func CaptchaProtected(r *Resolver) ...
- func GenerateGqlCode()
- func IsAuthenticated(r *Resolver) ...
- func IsSiteOwner(r *Resolver) ...
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- func NewLoadersMiddleware(identityRepo identity.IdentityRepo, storageDefRepo storage.StorageDefRepo, ...) func(next http.Handler) http.Handler
- type ComplexityRoot
- type Config
- type DirectiveRoot
- type ImageResolver
- type Loaders
- type MutationResolver
- type QueryResolver
- type Resolver
- type ResolverRoot
- type StorageDefinitionResolver
- type ViewerResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CaptchaProtected ¶
func GenerateGqlCode ¶
func GenerateGqlCode()
func IsAuthenticated ¶
func IsSiteOwner ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
func NewLoadersMiddleware ¶
func NewLoadersMiddleware( identityRepo identity.IdentityRepo, storageDefRepo storage.StorageDefRepo, storedImageRepo storage.StoredImageRepo, ) func(next http.Handler) http.Handler
Types ¶
type ComplexityRoot ¶
type ComplexityRoot struct {
DeleteImageResult struct {
ID func(childComplexity int) int
}
FSStorageConfig struct {
MediaRoot func(childComplexity int) int
}
Image struct {
CreatedAt func(childComplexity int) int
ID func(childComplexity int) int
Identifier func(childComplexity int) int
MIMEType func(childComplexity int) int
Name func(childComplexity int) int
NominalByteSize func(childComplexity int) int
NominalHeight func(childComplexity int) int
NominalWidth func(childComplexity int) int
Revisions func(childComplexity int) int
Root func(childComplexity int) int
StoredImages func(childComplexity int) int
URL func(childComplexity int) int
}
ImageEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
ImagePageInfo struct {
CurrentCount func(childComplexity int) int
EndCursor func(childComplexity int) int
HasNextPage func(childComplexity int) int
HasPreviousPage func(childComplexity int) int
StartCursor func(childComplexity int) int
TotalCount func(childComplexity int) int
}
ImagesResult struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
}
Mutation struct {
Authenticate func(childComplexity int, email string, password string, organizationID *string) int
CheckStorageDefinitionConnectivity func(childComplexity int, input model.CheckStorageDefinitionConnectivityInput) int
CreateStorageDefinition func(childComplexity int, input model.CreateStorageDefinitionInput) int
CreateUserWithOrganization func(childComplexity int, input model.CreateUserWithOrganizationInput) int
DeleteImage func(childComplexity int, input model.DeleteImageInput) int
Logout func(childComplexity int) int
ResetPassword func(childComplexity int, input model.ResetPasswordInput) int
SendResetPasswordEmail func(childComplexity int, input model.SendResetPasswordEmailInput) int
UpdateStorageDefinition func(childComplexity int, input model.UpdateStorageDefinitionInput) int
}
Organization struct {
ID func(childComplexity int) int
Name func(childComplexity int) int
Slug func(childComplexity int) int
}
OrganizationUser struct {
ID func(childComplexity int) int
Organization func(childComplexity int) int
Roles func(childComplexity int) int
User func(childComplexity int) int
}
OtherStorageConfig struct {
Empty func(childComplexity int) int
}
PageInfo struct {
HasNextPage func(childComplexity int) int
HasPreviousPage func(childComplexity int) int
TotalCount func(childComplexity int) int
}
PaginatedUsers struct {
Nodes func(childComplexity int) int
PageInfo func(childComplexity int) int
}
Query struct {
Viewer func(childComplexity int) int
}
ResetPasswordResult struct {
Success func(childComplexity int) int
}
Role struct {
Key func(childComplexity int) int
Name func(childComplexity int) int
}
S3StorageConfig struct {
Access func(childComplexity int) int
Bucket func(childComplexity int) int
Endpoint func(childComplexity int) int
Secret func(childComplexity int) int
}
SendResetPasswordEmailResult struct {
Success func(childComplexity int) int
}
StorageDefinition struct {
Config func(childComplexity int) int
Connectivity func(childComplexity int) int
Id func(childComplexity int) int
Identifier func(childComplexity int) int
IsEnabled func(childComplexity int) int
Priority func(childComplexity int) int
}
StorageDefinitionConnectivityResult struct {
Error func(childComplexity int) int
Ok func(childComplexity int) int
}
StoredImage struct {
FileIdentifier func(childComplexity int) int
ID func(childComplexity int) int
StorageDefinition func(childComplexity int) int
}
User struct {
Email func(childComplexity int) int
ID func(childComplexity int) int
Name func(childComplexity int) int
}
UserWithOrganizationUsers struct {
Email func(childComplexity int) int
ID func(childComplexity int) int
OrganizationUsers func(childComplexity int) int
}
Viewer struct {
AllUsers func(childComplexity int, limit *int, offset *int, search *string) int
GetStorageDefinition func(childComplexity int, id string) int
HasPermission func(childComplexity int, permission model.PermissionNameEnum) int
ID func(childComplexity int) int
Images func(childComplexity int, orderBy *model.ImageOrderByInput, filters *model.ImageFilterInput, after *string, before *string) int
OrganizationUser func(childComplexity int) int
PaginatedAllUsers func(childComplexity int, limit *int, offset *int, search *string) int
StorageDefinitions func(childComplexity int) int
}
ViewerResult struct {
Viewer func(childComplexity int) int
}
WebDAVStorageConfig struct {
Password func(childComplexity int) int
PathPrefix func(childComplexity int) int
URL func(childComplexity int) int
Username func(childComplexity int) int
}
}
type Config ¶
type Config struct {
Schema *ast.Schema
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type DirectiveRoot ¶
type DirectiveRoot struct {
CaptchaProtected func(ctx context.Context, obj any, next graphql.Resolver, action string) (res any, err error)
IsAuthenticated func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error)
IsSiteOwner func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error)
}
type ImageResolver ¶
type ImageResolver interface {
URL(ctx context.Context, obj *model.Image) (string, error)
Root(ctx context.Context, obj *model.Image) (*model.Image, error)
Revisions(ctx context.Context, obj *model.Image) ([]*model.Image, error)
StoredImages(ctx context.Context, obj *model.Image) ([]*model.StoredImage, error)
}
type Loaders ¶
type Loaders struct {
UserLoader *dataloadgen.Loader[string, *model.User]
OrganizationUserLoader *dataloadgen.Loader[string, *model.OrganizationUser]
StoredImagesLoader *dataloadgen.Loader[string, *model.StoredImage]
StoredImagesByImageIdsLoader *dataloadgen.Loader[string, []*model.StoredImage]
StorageDefinitionsLoader *dataloadgen.Loader[string, *model.StorageDefinition]
}
func LoadersFor ¶
func NewLoaders ¶
func NewLoaders(identityRepo identity.IdentityRepo, storageDefRepo storage.StorageDefRepo, storedImageRepo storage.StoredImageRepo) *Loaders
type MutationResolver ¶
type MutationResolver interface {
Authenticate(ctx context.Context, email string, password string, organizationID *string) (*model.ViewerResult, error)
Logout(ctx context.Context) (*model.ViewerResult, error)
CreateUserWithOrganization(ctx context.Context, input model.CreateUserWithOrganizationInput) (*model.ViewerResult, error)
SendResetPasswordEmail(ctx context.Context, input model.SendResetPasswordEmailInput) (*model.SendResetPasswordEmailResult, error)
ResetPassword(ctx context.Context, input model.ResetPasswordInput) (*model.ResetPasswordResult, error)
DeleteImage(ctx context.Context, input model.DeleteImageInput) (*model.DeleteImageResult, error)
CreateStorageDefinition(ctx context.Context, input model.CreateStorageDefinitionInput) (*model.StorageDefinition, error)
UpdateStorageDefinition(ctx context.Context, input model.UpdateStorageDefinitionInput) (*model.StorageDefinition, error)
CheckStorageDefinitionConnectivity(ctx context.Context, input model.CheckStorageDefinitionConnectivityInput) (*model.StorageDefinitionConnectivityResult, error)
}
type QueryResolver ¶
type Resolver ¶
type Resolver struct {
IdentityRepo identity.IdentityRepo
StorageDefRepo storage.StorageDefRepo
ImageRepo image.ImageRepo
ContextUserManager identity.ContextUserManager
LoginFn func(c context.Context, userId string, organizationUserId string)
LogoutFn func(c context.Context)
ImageDomain string
DefaultURLFormat domainmodels.ImageURLFormat
IsHttps func(c context.Context) bool
GetBaseURL func(c context.Context) *url.URL
GetEmailBackend func(c context.Context) email.EmailBackend
SecretKey string
CaptchaClient captcha.CaptchaClient
AllowNewUser bool
}
func (*Resolver) Image ¶
func (r *Resolver) Image() ImageResolver
Image returns ImageResolver implementation.
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
Mutation returns MutationResolver implementation.
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
Query returns QueryResolver implementation.
func (*Resolver) StorageDefinition ¶
func (r *Resolver) StorageDefinition() StorageDefinitionResolver
StorageDefinition returns StorageDefinitionResolver implementation.
func (*Resolver) Viewer ¶
func (r *Resolver) Viewer() ViewerResolver
Viewer returns ViewerResolver implementation.
type ResolverRoot ¶
type ResolverRoot interface {
Image() ImageResolver
Mutation() MutationResolver
Query() QueryResolver
StorageDefinition() StorageDefinitionResolver
Viewer() ViewerResolver
}
type ViewerResolver ¶
type ViewerResolver interface {
ID(ctx context.Context, obj *model.Viewer) (string, error)
OrganizationUser(ctx context.Context, obj *model.Viewer) (*model.OrganizationUser, error)
Images(ctx context.Context, obj *model.Viewer, orderBy *model.ImageOrderByInput, filters *model.ImageFilterInput, after *string, before *string) (*model.ImagesResult, error)
HasPermission(ctx context.Context, obj *model.Viewer, permission model.PermissionNameEnum) (bool, error)
StorageDefinitions(ctx context.Context, obj *model.Viewer) ([]*model.StorageDefinition, error)
GetStorageDefinition(ctx context.Context, obj *model.Viewer, id string) (*model.StorageDefinition, error)
AllUsers(ctx context.Context, obj *model.Viewer, limit *int, offset *int, search *string) ([]*model.User, error)
PaginatedAllUsers(ctx context.Context, obj *model.Viewer, limit *int, offset *int, search *string) (*model.PaginatedUsers, error)
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.