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 UserResolver
- 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, imageRepo image.ImageRepo, imageRelRepo image.ImageRelationshipRepo, ) func(next http.Handler) http.Handler
Types ¶
type ComplexityRoot ¶
type ComplexityRoot struct {
ApplyBlurResult struct {
Image func(childComplexity int) int
}
ApplyWatermarkResult struct {
Image func(childComplexity int) int
}
DeleteImageResult struct {
ID func(childComplexity int) int
}
FSStorageConfig struct {
MediaRoot func(childComplexity int) int
}
IPFSMFSStorageConfig struct {
ApiUrl func(childComplexity int) int
PathPrefix func(childComplexity int) int
Pin func(childComplexity int) int
}
Image struct {
Changes func(childComplexity int) int
CreatedAt func(childComplexity int) int
CreatedBy func(childComplexity int) int
ID func(childComplexity int) int
Identifier func(childComplexity int) int
Lineage 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
Parent 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 {
ApplyBlur func(childComplexity int, input model.ApplyBlurInput) int
ApplyWatermark func(childComplexity int, input model.ApplyWatermarkInput) int
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 {
PublicImage func(childComplexity int, id string) int
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 {
AvatarURL func(childComplexity int) int
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
Image func(childComplexity int, id string) int
Images func(childComplexity int, orderBy *model.ImageOrderByInput, filters *model.ImageFilterInput, after *string, before *string) int
OrganizationUser func(childComplexity int) int
OrganizationUserByID func(childComplexity int, id string) int
PaginatedAllUsers func(childComplexity int, limit *int, offset *int, search *string) int
StorageDefinitions func(childComplexity int) int
UploadLimitBytes 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 = graphql.Config[ResolverRoot, DirectiveRoot, 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)
Parent(ctx context.Context, obj *model.Image) (*model.Image, error)
Changes(ctx context.Context, obj *model.Image) (*string, error)
Lineage(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)
CreatedBy(ctx context.Context, obj *model.Image) (*model.OrganizationUser, 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]
BaseParentByImageIdLoader *dataloadgen.Loader[string, *model.Image]
}
func LoadersFor ¶
func NewLoaders ¶
func NewLoaders(identityRepo identity.IdentityRepo, storageDefRepo storage.StorageDefRepo, storedImageRepo storage.StoredImageRepo, imageRepo image.ImageRepo, imageRelRepo image.ImageRelationshipRepo) *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)
ApplyWatermark(ctx context.Context, input model.ApplyWatermarkInput) (*model.ApplyWatermarkResult, error)
ApplyBlur(ctx context.Context, input model.ApplyBlurInput) (*model.ApplyBlurResult, 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 {
DBConn *sql.DB
IdentityRepo identity.IdentityRepo
StorageDefRepo storage.StorageDefRepo
StoredImageRepo storage.StoredImageRepo
ImageRepo image.ImageRepo
ImageRelRepo image.ImageRelationshipRepo
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
ImageMaxUploadBytes int64
GuestImageMaxUploadBytes int64
}
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) User ¶
func (r *Resolver) User() UserResolver
User returns UserResolver 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
User() UserResolver
Viewer() ViewerResolver
}
type UserResolver ¶
type ViewerResolver ¶
type ViewerResolver interface {
ID(ctx context.Context, obj *model.Viewer) (string, error)
OrganizationUser(ctx context.Context, obj *model.Viewer) (*model.OrganizationUser, error)
OrganizationUserByID(ctx context.Context, obj *model.Viewer, id string) (*model.OrganizationUser, error)
UploadLimitBytes(ctx context.Context, obj *model.Viewer) (int, error)
Image(ctx context.Context, obj *model.Viewer, id string) (*model.Image, 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.