up
This commit is contained in:
parent
8df0984b86
commit
1ff168a931
7 changed files with 57 additions and 61 deletions
server/src/delivery/graphql
|
@ -3,16 +3,27 @@ package fs
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model"
|
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Dir interface {
|
||||||
|
IsFsEntry()
|
||||||
|
IsDir()
|
||||||
|
GetName() string
|
||||||
|
GetEntries() []FsEntry
|
||||||
|
}
|
||||||
|
|
||||||
|
type FsEntry interface {
|
||||||
|
IsFsEntry()
|
||||||
|
GetName() string
|
||||||
|
}
|
||||||
|
|
||||||
type FsElem interface {
|
type FsElem interface {
|
||||||
Name() string
|
Name() string
|
||||||
IsDir() bool
|
IsDir() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func FillFsEntry(ctx context.Context, e FsElem, fs vfs.Filesystem, path string) (model.FsEntry, error) {
|
func FillFsEntry(ctx context.Context, e FsElem, fs vfs.Filesystem, path string) (FsEntry, error) {
|
||||||
switch e.(type) {
|
switch e.(type) {
|
||||||
case *vfs.ResolverFS:
|
case *vfs.ResolverFS:
|
||||||
e := e.(*vfs.ResolverFS)
|
e := e.(*vfs.ResolverFS)
|
||||||
|
@ -54,12 +65,12 @@ func FillFsEntry(ctx context.Context, e FsElem, fs vfs.Filesystem, path string)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ReadEntries(ctx context.Context, fs vfs.Filesystem, path string) ([]model.FsEntry, error) {
|
func ReadEntries(ctx context.Context, fs vfs.Filesystem, path string) ([]FsEntry, error) {
|
||||||
entries, err := fs.ReadDir(ctx, path)
|
entries, err := fs.ReadDir(ctx, path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
out := []model.FsEntry{}
|
out := []FsEntry{}
|
||||||
for _, e := range entries {
|
for _, e := range entries {
|
||||||
entry, err := FillFsEntry(ctx, e, fs, ".")
|
entry, err := FillFsEntry(ctx, e, fs, ".")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -70,12 +81,12 @@ func ReadEntries(ctx context.Context, fs vfs.Filesystem, path string) ([]model.F
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (obj *ResolverFs) ResolverEntries(ctx context.Context) ([]model.FsEntry, error) {
|
func (obj *ResolverFs) ResolverEntries(ctx context.Context) ([]FsEntry, error) {
|
||||||
entries, err := obj.FS.ReadDir(ctx, ".")
|
entries, err := obj.FS.ReadDir(ctx, ".")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
out := []model.FsEntry{}
|
out := []FsEntry{}
|
||||||
for _, e := range entries {
|
for _, e := range entries {
|
||||||
entry, err := FillFsEntry(ctx, e, obj.FS, ".")
|
entry, err := FillFsEntry(ctx, e, obj.FS, ".")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -86,12 +97,12 @@ func (obj *ResolverFs) ResolverEntries(ctx context.Context) ([]model.FsEntry, er
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (obj *SimpleDir) SimpleDirEntries(ctx context.Context) ([]model.FsEntry, error) {
|
func (obj *SimpleDir) SimpleDirEntries(ctx context.Context) ([]FsEntry, error) {
|
||||||
entries, err := obj.FS.ReadDir(ctx, obj.Path)
|
entries, err := obj.FS.ReadDir(ctx, obj.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
out := []model.FsEntry{}
|
out := []FsEntry{}
|
||||||
for _, e := range entries {
|
for _, e := range entries {
|
||||||
entry, err := FillFsEntry(ctx, e, obj.FS, obj.Path)
|
entry, err := FillFsEntry(ctx, e, obj.FS, obj.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -1,27 +1,26 @@
|
||||||
package fs
|
package fs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model"
|
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ model.FsEntry = (*SimpleDir)(nil)
|
var _ FsEntry = (*SimpleDir)(nil)
|
||||||
var _ model.Dir = (*SimpleDir)(nil)
|
var _ Dir = (*SimpleDir)(nil)
|
||||||
|
|
||||||
type SimpleDir struct {
|
type SimpleDir struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Entries []model.FsEntry `json:"entries"`
|
Entries []FsEntry `json:"entries"`
|
||||||
FS vfs.Filesystem `json:"-"`
|
FS vfs.Filesystem `json:"-"`
|
||||||
Path string `json:"-"`
|
Path string `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (SimpleDir) IsDir() {}
|
func (SimpleDir) IsDir() {}
|
||||||
func (this SimpleDir) GetName() string { return this.Name }
|
func (this SimpleDir) GetName() string { return this.Name }
|
||||||
func (this SimpleDir) GetEntries() []model.FsEntry {
|
func (this SimpleDir) GetEntries() []FsEntry {
|
||||||
if this.Entries == nil {
|
if this.Entries == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
interfaceSlice := make([]model.FsEntry, 0, len(this.Entries))
|
interfaceSlice := make([]FsEntry, 0, len(this.Entries))
|
||||||
for _, concrete := range this.Entries {
|
for _, concrete := range this.Entries {
|
||||||
interfaceSlice = append(interfaceSlice, concrete)
|
interfaceSlice = append(interfaceSlice, concrete)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,25 @@
|
||||||
package fs
|
package fs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model"
|
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
"git.kmsign.ru/royalcat/tstor/server/src/vfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ model.FsEntry = (*ResolverFs)(nil)
|
var _ FsEntry = (*ResolverFs)(nil)
|
||||||
var _ model.Dir = (*ResolverFs)(nil)
|
var _ Dir = (*ResolverFs)(nil)
|
||||||
|
|
||||||
type ResolverFs struct {
|
type ResolverFs struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Entries []model.FsEntry `json:"entries"`
|
Entries []FsEntry `json:"entries"`
|
||||||
FS *vfs.ResolverFS `json:"-"`
|
FS *vfs.ResolverFS `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ResolverFs) IsDir() {}
|
func (ResolverFs) IsDir() {}
|
||||||
func (this ResolverFs) GetName() string { return this.Name }
|
func (this ResolverFs) GetName() string { return this.Name }
|
||||||
func (this ResolverFs) GetEntries() []model.FsEntry {
|
func (this ResolverFs) GetEntries() []FsEntry {
|
||||||
if this.Entries == nil {
|
if this.Entries == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
interfaceSlice := make([]model.FsEntry, 0, len(this.Entries))
|
interfaceSlice := make([]FsEntry, 0, len(this.Entries))
|
||||||
for _, concrete := range this.Entries {
|
for _, concrete := range this.Entries {
|
||||||
interfaceSlice = append(interfaceSlice, concrete)
|
interfaceSlice = append(interfaceSlice, concrete)
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,13 +105,13 @@ type MutationResolver interface {
|
||||||
}
|
}
|
||||||
type QueryResolver interface {
|
type QueryResolver interface {
|
||||||
Plugins(ctx context.Context) ([]*model.Plugin, error)
|
Plugins(ctx context.Context) ([]*model.Plugin, error)
|
||||||
FsEntry(ctx context.Context, path string) (model.FsEntry, error)
|
FsEntry(ctx context.Context, path string) (fs.FsEntry, error)
|
||||||
}
|
}
|
||||||
type ResolverFSResolver interface {
|
type ResolverFSResolver interface {
|
||||||
Entries(ctx context.Context, obj *fs.ResolverFs) ([]model.FsEntry, error)
|
Entries(ctx context.Context, obj *fs.ResolverFs) ([]fs.FsEntry, error)
|
||||||
}
|
}
|
||||||
type SimpleDirResolver interface {
|
type SimpleDirResolver interface {
|
||||||
Entries(ctx context.Context, obj *fs.SimpleDir) ([]model.FsEntry, error)
|
Entries(ctx context.Context, obj *fs.SimpleDir) ([]fs.FsEntry, error)
|
||||||
}
|
}
|
||||||
type SubscriptionResolver interface {
|
type SubscriptionResolver interface {
|
||||||
TaskProgress(ctx context.Context, taskID string) (<-chan model.Progress, error)
|
TaskProgress(ctx context.Context, taskID string) (<-chan model.Progress, error)
|
||||||
|
@ -1019,9 +1019,9 @@ func (ec *executionContext) _Query_fsEntry(ctx context.Context, field graphql.Co
|
||||||
if resTmp == nil {
|
if resTmp == nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.(model.FsEntry)
|
res := resTmp.(fs.FsEntry)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalOFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntry(ctx, field.Selections, res)
|
return ec.marshalOFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntry(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_Query_fsEntry(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_Query_fsEntry(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
@ -1243,7 +1243,7 @@ func (ec *executionContext) _ResolverFS_entries(ctx context.Context, field graph
|
||||||
|
|
||||||
directive1 := func(ctx context.Context) (any, error) {
|
directive1 := func(ctx context.Context) (any, error) {
|
||||||
if ec.directives.Resolver == nil {
|
if ec.directives.Resolver == nil {
|
||||||
var zeroVal []model.FsEntry
|
var zeroVal []fs.FsEntry
|
||||||
return zeroVal, errors.New("directive resolver is not implemented")
|
return zeroVal, errors.New("directive resolver is not implemented")
|
||||||
}
|
}
|
||||||
return ec.directives.Resolver(ctx, obj, directive0)
|
return ec.directives.Resolver(ctx, obj, directive0)
|
||||||
|
@ -1256,10 +1256,10 @@ func (ec *executionContext) _ResolverFS_entries(ctx context.Context, field graph
|
||||||
if tmp == nil {
|
if tmp == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
if data, ok := tmp.([]model.FsEntry); ok {
|
if data, ok := tmp.([]fs.FsEntry); ok {
|
||||||
return data, nil
|
return data, nil
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf(`unexpected type %T from directive, should be []git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model.FsEntry`, tmp)
|
return nil, fmt.Errorf(`unexpected type %T from directive, should be []git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/fs.FsEntry`, tmp)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ec.Error(ctx, err)
|
ec.Error(ctx, err)
|
||||||
|
@ -1271,9 +1271,9 @@ func (ec *executionContext) _ResolverFS_entries(ctx context.Context, field graph
|
||||||
}
|
}
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.([]model.FsEntry)
|
res := resTmp.([]fs.FsEntry)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntryᚄ(ctx, field.Selections, res)
|
return ec.marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntryᚄ(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_ResolverFS_entries(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_ResolverFS_entries(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
@ -1429,7 +1429,7 @@ func (ec *executionContext) _SimpleDir_entries(ctx context.Context, field graphq
|
||||||
|
|
||||||
directive1 := func(ctx context.Context) (any, error) {
|
directive1 := func(ctx context.Context) (any, error) {
|
||||||
if ec.directives.Resolver == nil {
|
if ec.directives.Resolver == nil {
|
||||||
var zeroVal []model.FsEntry
|
var zeroVal []fs.FsEntry
|
||||||
return zeroVal, errors.New("directive resolver is not implemented")
|
return zeroVal, errors.New("directive resolver is not implemented")
|
||||||
}
|
}
|
||||||
return ec.directives.Resolver(ctx, obj, directive0)
|
return ec.directives.Resolver(ctx, obj, directive0)
|
||||||
|
@ -1442,10 +1442,10 @@ func (ec *executionContext) _SimpleDir_entries(ctx context.Context, field graphq
|
||||||
if tmp == nil {
|
if tmp == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
if data, ok := tmp.([]model.FsEntry); ok {
|
if data, ok := tmp.([]fs.FsEntry); ok {
|
||||||
return data, nil
|
return data, nil
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf(`unexpected type %T from directive, should be []git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model.FsEntry`, tmp)
|
return nil, fmt.Errorf(`unexpected type %T from directive, should be []git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/fs.FsEntry`, tmp)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ec.Error(ctx, err)
|
ec.Error(ctx, err)
|
||||||
|
@ -1457,9 +1457,9 @@ func (ec *executionContext) _SimpleDir_entries(ctx context.Context, field graphq
|
||||||
}
|
}
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.([]model.FsEntry)
|
res := resTmp.([]fs.FsEntry)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntryᚄ(ctx, field.Selections, res)
|
return ec.marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntryᚄ(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_SimpleDir_entries(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_SimpleDir_entries(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
@ -3847,7 +3847,7 @@ func (ec *executionContext) unmarshalInputStringFilter(ctx context.Context, obj
|
||||||
|
|
||||||
// region ************************** interface.gotpl ***************************
|
// region ************************** interface.gotpl ***************************
|
||||||
|
|
||||||
func (ec *executionContext) _Dir(ctx context.Context, sel ast.SelectionSet, obj model.Dir) graphql.Marshaler {
|
func (ec *executionContext) _Dir(ctx context.Context, sel ast.SelectionSet, obj fs.Dir) graphql.Marshaler {
|
||||||
switch obj := (obj).(type) {
|
switch obj := (obj).(type) {
|
||||||
case nil:
|
case nil:
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
|
@ -3886,7 +3886,7 @@ func (ec *executionContext) _File(ctx context.Context, sel ast.SelectionSet, obj
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _FsEntry(ctx context.Context, sel ast.SelectionSet, obj model.FsEntry) graphql.Marshaler {
|
func (ec *executionContext) _FsEntry(ctx context.Context, sel ast.SelectionSet, obj fs.FsEntry) graphql.Marshaler {
|
||||||
switch obj := (obj).(type) {
|
switch obj := (obj).(type) {
|
||||||
case nil:
|
case nil:
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
|
@ -3916,7 +3916,7 @@ func (ec *executionContext) _FsEntry(ctx context.Context, sel ast.SelectionSet,
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
return ec._File(ctx, sel, obj)
|
return ec._File(ctx, sel, obj)
|
||||||
case model.Dir:
|
case fs.Dir:
|
||||||
if obj == nil {
|
if obj == nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
|
@ -4768,7 +4768,7 @@ func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.Se
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalNFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntry(ctx context.Context, sel ast.SelectionSet, v model.FsEntry) graphql.Marshaler {
|
func (ec *executionContext) marshalNFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntry(ctx context.Context, sel ast.SelectionSet, v fs.FsEntry) graphql.Marshaler {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
ec.Errorf(ctx, "the requested element is null which the schema does not allow")
|
ec.Errorf(ctx, "the requested element is null which the schema does not allow")
|
||||||
|
@ -4778,7 +4778,7 @@ func (ec *executionContext) marshalNFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstor
|
||||||
return ec._FsEntry(ctx, sel, v)
|
return ec._FsEntry(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntryᚄ(ctx context.Context, sel ast.SelectionSet, v []model.FsEntry) graphql.Marshaler {
|
func (ec *executionContext) marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntryᚄ(ctx context.Context, sel ast.SelectionSet, v []fs.FsEntry) graphql.Marshaler {
|
||||||
ret := make(graphql.Array, len(v))
|
ret := make(graphql.Array, len(v))
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
isLen1 := len(v) == 1
|
isLen1 := len(v) == 1
|
||||||
|
@ -4802,7 +4802,7 @@ func (ec *executionContext) marshalNFsEntry2ᚕgitᚗkmsignᚗruᚋroyalcatᚋts
|
||||||
if !isLen1 {
|
if !isLen1 {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
}
|
}
|
||||||
ret[i] = ec.marshalNFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntry(ctx, sel, v[i])
|
ret[i] = ec.marshalNFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntry(ctx, sel, v[i])
|
||||||
}
|
}
|
||||||
if isLen1 {
|
if isLen1 {
|
||||||
f(i)
|
f(i)
|
||||||
|
@ -5229,7 +5229,7 @@ func (ec *executionContext) marshalODateTime2ᚖtimeᚐTime(ctx context.Context,
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalOFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋmodelᚐFsEntry(ctx context.Context, sel ast.SelectionSet, v model.FsEntry) graphql.Marshaler {
|
func (ec *executionContext) marshalOFsEntry2gitᚗkmsignᚗruᚋroyalcatᚋtstorᚋserverᚋsrcᚋdeliveryᚋgraphqlᚋfsᚐFsEntry(ctx context.Context, sel ast.SelectionSet, v fs.FsEntry) graphql.Marshaler {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,6 @@
|
||||||
|
|
||||||
package model
|
package model
|
||||||
|
|
||||||
type Dir interface {
|
|
||||||
IsFsEntry()
|
|
||||||
IsDir()
|
|
||||||
GetName() string
|
|
||||||
GetEntries() []FsEntry
|
|
||||||
}
|
|
||||||
|
|
||||||
type File interface {
|
type File interface {
|
||||||
IsFsEntry()
|
IsFsEntry()
|
||||||
IsFile()
|
IsFile()
|
||||||
|
@ -16,11 +9,6 @@ type File interface {
|
||||||
GetSize() int64
|
GetSize() int64
|
||||||
}
|
}
|
||||||
|
|
||||||
type FsEntry interface {
|
|
||||||
IsFsEntry()
|
|
||||||
GetName() string
|
|
||||||
}
|
|
||||||
|
|
||||||
type Progress interface {
|
type Progress interface {
|
||||||
IsProgress()
|
IsProgress()
|
||||||
GetCurrent() int64
|
GetCurrent() int64
|
||||||
|
|
|
@ -9,16 +9,15 @@ import (
|
||||||
|
|
||||||
graph "git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql"
|
graph "git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql"
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/fs"
|
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/fs"
|
||||||
"git.kmsign.ru/royalcat/tstor/server/src/delivery/graphql/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Entries is the resolver for the entries field.
|
// Entries is the resolver for the entries field.
|
||||||
func (r *resolverFSResolver) Entries(ctx context.Context, obj *fs.ResolverFs) ([]model.FsEntry, error) {
|
func (r *resolverFSResolver) Entries(ctx context.Context, obj *fs.ResolverFs) ([]fs.FsEntry, error) {
|
||||||
return obj.ResolverEntries(ctx)
|
return obj.ResolverEntries(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Entries is the resolver for the entries field.
|
// Entries is the resolver for the entries field.
|
||||||
func (r *simpleDirResolver) Entries(ctx context.Context, obj *fs.SimpleDir) ([]model.FsEntry, error) {
|
func (r *simpleDirResolver) Entries(ctx context.Context, obj *fs.SimpleDir) ([]fs.FsEntry, error) {
|
||||||
return obj.SimpleDirEntries(ctx)
|
return obj.SimpleDirEntries(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ func (r *queryResolver) Plugins(ctx context.Context) ([]*model.Plugin, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// FsEntry is the resolver for the fsEntry field.
|
// FsEntry is the resolver for the fsEntry field.
|
||||||
func (r *queryResolver) FsEntry(ctx context.Context, path string) (model.FsEntry, error) {
|
func (r *queryResolver) FsEntry(ctx context.Context, path string) (fs.FsEntry, error) {
|
||||||
entry, err := r.VFS.Stat(ctx, path)
|
entry, err := r.VFS.Stat(ctx, path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue