Ejemplo n.º 1
0
 internal void RegisterAssemblys(INodeTypeFactory factory)
 {
     foreach (var asm in AssembliesWithNodes)
     {
         factory.RegisterTypes(asm);
     }
 }
Ejemplo n.º 2
0
 public PathResolver(INodeTypeFactory factory, string baseUrl = "nodeapi", bool requireType = false, bool returnTrueOnBaseUrl = false)
 {
     this.baseUrl             = baseUrl;
     this.requireType         = requireType;
     this.returnTrueOnBaseUrl = returnTrueOnBaseUrl;
     this.factory             = factory;
 }
Ejemplo n.º 3
0
        public TinyMutation(IContainer container, INodeTypeFactory factory)
        {
            this.container = container;
            this.factory   = factory;

            RegisterNodeTypes();
        }
Ejemplo n.º 4
0
        //private readonly IContainer container;
        //private readonly INodeTypeFactory factory;

        public NodeQuery(IContainer container, INodeTypeFactory factory)
        {
            //this.container = container;
            //this.factory = factory;
            var nodeResolver = new NodeResolver(container);

            foreach (var typeName in factory.RegisterdTypeNames())
            {
                var type = factory.GetTypeByName(typeName);
                var ft   = new FieldType()
                {
                    Arguments = new QueryArguments(
                        new QueryArgument <NonNullGraphType <StringGraphType> > {
                        Name = "id", Description = "id of the node"
                    }
                        ),
                    Resolver     = nodeResolver,
                    Name         = typeName,
                    Type         = type,
                    ResolvedType = new NodeGraphType(typeName, type)
                };
                fields.Add(ft);
            }


            IsTypeOf = type => type is INode;
        }
Ejemplo n.º 5
0
        public static INode MatchRequest(this IContainer cnt, INodeRequest request, INodeTypeFactory typeFactory)
        {
            INode ret = null;

            switch (request.RequestType)
            {
            case RequestTypeEnum.Move:
                return(request.Move(cnt));

            case RequestTypeEnum.Get:
                return(cnt.GetById(request.Data));

            case RequestTypeEnum.Add:
                return(request.GetNewNode(cnt, typeFactory));

            case RequestTypeEnum.Update:
                return(request.GetUpdatedNode(cnt));

            case RequestTypeEnum.Remove:
                return(request.RemoveNode(cnt));

            case RequestTypeEnum.Link:
                var rel = request.GetRelation(cnt);
                if (rel.Item1 != null && rel.Item2 != null)
                {
                    cnt.AddRelation(rel.Item1, rel.Item2);
                    ret = rel.Item1;
                }
                break;
            }
            return(ret);
        }
Ejemplo n.º 6
0
        public NodeSchemaMiddleware(RequestDelegate next, INodeTypeFactory factory, INodeSerializer nodeSerializer)
        {
            this.factory        = factory;
            this.nodeSerializer = nodeSerializer;

            pathResolver = new PathResolver(factory, "nodeschema", true, true);
            _next        = next;
        }
Ejemplo n.º 7
0
 public UmbracoNavigationProvider(
     IModelConverter modelConverter, IUmbracoNodeService umbracoNodeService,
     IUmbracoWrapper umbracoWrapper, INodeTypeFactory nodeTypeFactory,
     int priority)
     : this(modelConverter, umbracoNodeService, umbracoWrapper,
            nodeTypeFactory, priority, typeof(SettingsNodeType))
 {
 }
Ejemplo n.º 8
0
 public SocketConnectionHandler(IContainer container, WebSocket socket, INodeSerializer serializer, INodeTypeFactory factory)
 {
     this.container  = container;
     this.socket     = socket;
     this.serializer = serializer;
     this.factory    = factory;
     ConnectChangeHandlers();
     SendInitialData();
 }
Ejemplo n.º 9
0
 public NodeRestMiddleware(RequestDelegate next, IContainer container, INodeTypeFactory factory, INodeSerializer nodeSerializer)
 {
     this.factory        = factory;
     this.nodeSerializer = nodeSerializer;
     this.container      = container;
     pathResolver        = new PathResolver(factory);
     _next      = next;
     serializer = JsonSerializer.CreateDefault();
 }
Ejemplo n.º 10
0
 public UmbracoNavigationProvider(
     IModelConverter modelConverter, IUmbracoNodeService umbracoNodeService,
     IUmbracoWrapper umbracoWrapper, INodeTypeFactory nodeTypeFactory,
     int priority, Type rootNodeType)
 {
     _modelConverter     = modelConverter;
     _umbracoNodeService = umbracoNodeService;
     _umbracoWrapper     = umbracoWrapper;
     _nodeTypeFactory    = nodeTypeFactory;
     Priority            = priority;
     _rootNodeType       = rootNodeType;
 }
Ejemplo n.º 11
0
        public TinySchema(IContainer container, INodeTypeFactory factory, IServiceProvider serviceProvider)
        {
            this.container = container;
            this.factory   = factory;

            Query    = new TinyQuery(container, factory);
            Mutation = new TinyMutation(container, factory);
            foreach (var plugin in serviceProvider.GetServices <IGraphQLPlugin>())
            {
                plugin.OnGraphInit(Query, Mutation);
            }
        }
Ejemplo n.º 12
0
        public TinyQuery(IContainer container, INodeTypeFactory factory)
        {
            this.container = container;
            this.factory   = factory;

            Field <NodeReflectionGraphType>("root", resolve: ctx => container.RootNode);
            Field <NodeReflectionGraphType>(
                "node",
                arguments: GetIdQuery(),
                resolve: ctx => container.GetById(ctx.GetArgument <string>("id"))
                );

            RegisterNodeTypes();
        }
Ejemplo n.º 13
0
 public NodeDependencyResolver(IContainer container, INodeTypeFactory factory)
 {
     this.container = container;
     this.factory   = factory;
 }
Ejemplo n.º 14
0
        public static INode GetNewNode(this INodeRequest request, IContainer container, INodeTypeFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentException("Node type factory is needed to create new nodes", nameof(factory));
            }
            var parent  = request.GetParent(container);
            var type    = request.QueryString.GetString("type", request.JsonData.GetString("type"));
            var newNode = factory.GetNew(type);

            if (request.JsonData != null)
            {
                newNode.Apply(request.JsonData);
            }
            parent.Add(newNode);
            return(newNode);
        }
Ejemplo n.º 15
0
 public SocketNodeServer(IContainer cnt, INodeTypeFactory factory, INodeSerializer ser)
 {
     this.factory    = factory;
     this.container  = cnt;
     this.serializer = ser;
 }
Ejemplo n.º 16
0
 public NodeSchema(IDependencyResolver dependencyResolver, INodeTypeFactory factory, IContainer container) : base(dependencyResolver)
 {
     this.Query    = new NodeQuery(container, factory);
     this.Mutation = new NodeMutation(container, factory);
 }
Ejemplo n.º 17
0
 public SchemaController(INodeTypeFactory factory, INodeSerializer ser)
 {
     this._factory    = factory;
     this._serializer = ser;
 }
Ejemplo n.º 18
0
 public JsonNodeConverter(INodeTypeFactory typeFactory)
 {
     this.typeFactory = typeFactory;
 }
Ejemplo n.º 19
0
 public static JsonSerializerSettings ConfigureCmsSettings(this JsonSerializerSettings settings, INodeTypeFactory factory)
 {
     settings.NullValueHandling      = NullValueHandling.Ignore;
     settings.ObjectCreationHandling = ObjectCreationHandling.Replace;
     settings.ContractResolver       = new CamelCasePropertyNamesContractResolver();
     settings.Converters.Add(new JsonNodeConverter(factory));
     settings.Converters.Add(new JsonMappedInterfaceConverter());
     return(settings);
 }