コード例 #1
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var appFile = sync.FileSystem.GetFile(new FilePath("app.json"));

            if (!appFile.Exists)
            {
                return(Task.CompletedTask);
            }

            var model = sync.Read <AppModel>(appFile, log);

            if (model.Clients.Count > 0)
            {
                var rows = model.Clients.Select(x => new object[] { x.Key, x.Value.Name, x.Value.Role }).OrderBy(x => x[0]).ToArray();

                writer.H3("Clients");
                writer.Paragraph($"{rows.Length} client(s).");
                writer.Table(new[] { "Name", "Label", "Role" }, rows);
            }

            if (model.Roles.Count > 0)
            {
                var rows = model.Roles.Select(x => new object[] { x.Key, x.Value.Permissions.Count }).OrderBy(x => x[0]).ToArray();

                writer.H3("Roles");
                writer.Paragraph($"{rows.Length} role(s).");
                writer.Table(new[] { "Name", "Permissions" }, rows);
            }

            if (model.Contributors.Count > 0)
            {
                var rows = model.Contributors.Select(x => new object[] { x.Key, x.Value.Role }).OrderBy(x => x[0]).ToArray();

                writer.H3("Contributors");
                writer.Paragraph($"{rows.Length} contributor(s).");
                writer.Table(new[] { "Id", "Role" }, rows);
            }

            if (model.Languages.Count > 0)
            {
                var rows = model.Languages.Select(x => new object[] { x.Key, x.Value.IsMaster == true ? "y" : "n" }).OrderBy(x => x[0]).ToArray();

                writer.H3("Languages");
                writer.Paragraph($"{rows.Length} language(s).");
                writer.Table(new[] { "Code", "Master" }, rows);
            }

            return(Task.CompletedTask);
        }
コード例 #2
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetFiles(sync.FileSystem)
                .Select(x => (x, sync.Read <AssetsModel>(x, log)));

            writer.Paragraph($"{models.SelectMany(x => x.Item2.Assets).Count()} asset(s).");

            return(Task.CompletedTask);
        }
コード例 #3
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetFiles(sync.FileSystem)
                .Select(x => sync.Read <AssetFoldersModel>(x, log))
                .ToList();

            writer.Paragraph($"{models.SelectMany(x => x.Paths).Distinct().Count()} asset folder(s).");

            return(Task.CompletedTask);
        }
コード例 #4
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetFiles(sync.FileSystem)
                .Select(x => sync.Read <RuleModel>(x, log))
                .ToList();

            writer.Paragraph($"{models.Count} rule(s).");

            if (models.Count > 0)
            {
                var rows = models.Select(x => new object[] { x.Name, x.Trigger.TypeName(), x.Action.TypeName() }).OrderBy(x => x[0]).ToArray();

                writer.Table(new[] { "Name", "Trigger", "Action" }, rows);
            }

            return(Task.CompletedTask);
        }
コード例 #5
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetFiles(sync.FileSystem)
                .Select(x => sync.Read <UpdateWorkflowDto>(x, log))
                .ToList();

            writer.Paragraph($"{models.Count} workflow(s).");

            if (models.Count > 0)
            {
                var rows = models.Select(x => new object[] { x.Name, string.Join(", ", x.Steps.Select(y => y.Key)), x.Initial }).OrderBy(x => x[0]).ToArray();

                writer.Table(new[] { "Name", "Steps", "Initial" }, rows);
            }

            return(Task.CompletedTask);
        }
コード例 #6
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetSchemaFiles(sync.FileSystem)
                .Select(x => sync.Read <SchemaModel>(x, log))
                .ToList();

            writer.Paragraph($"{models.Count} schema(s).");

            if (models.Count > 0)
            {
                var rows = models.Select(x => new object[] { x.Name, x.SchemaType.ToString(), x.Schema.Fields.Count }).OrderBy(x => x[0]).ToArray();

                writer.Table(new[] { "Schema", "Type", "Fields" }, rows);
            }

            return(Task.CompletedTask);
        }
コード例 #7
0
        public Task DescribeAsync(ISyncService sync, MarkdownWriter writer)
        {
            var models =
                GetFiles(sync.FileSystem)
                .Select(x => (x, sync.Read <ContentsModel>(x, log)));

            writer.Paragraph($"{models.SelectMany(x => x.Item2.Contents).Count()} content(s).");

            var rows =
                models
                .SelectMany(x => x.Item2.Contents).GroupBy(x => x.Schema)
                .Select(x => new object[] { x.Key, x.Count() }).OrderBy(x => x[0])
                .ToArray();

            if (rows.Length > 0)
            {
                writer.Table(new[] { "Schema", "Counts" }, rows);
            }

            return(Task.CompletedTask);
        }