srctree

Gregory Mullen parent ccffc7d1 36589f27
verse API changed a bit more

src/endpoints/admin.zig added: 51, removed: 50, total 1
@@ -4,9 +4,9 @@ const Allocator = std.mem.Allocator;
 
const Verse = @import("verse");
const Route = Verse.Router;
const HTML = Verse.HTML;
const DOM = Verse.DOM;
const Template = Verse.Template;
const HTML = Template.HTML;
const DOM = Template.DOM;
 
const Error = Route.Error;
const UriIter = Route.UriIter;
 
src/endpoints/commit-flex.zig added: 51, removed: 50, total 1
@@ -5,11 +5,12 @@ const allocPrint = std.fmt.allocPrint;
const Bleach = @import("../bleach.zig");
const DateTime = @import("../datetime.zig");
const Git = @import("../git.zig");
const Ini = @import("../ini.zig");
 
const Verse = @import("verse");
const DOM = Verse.DOM;
const HTML = Verse.HTML;
const Template = Verse.Template;
const DOM = Template.DOM;
const HTML = Template.HTML;
const S = Template.Structs;
 
const Route = Verse.Router;
@@ -221,7 +222,7 @@ pub fn commitFlex(ctx: *Verse) Error!void {
if (user) |u| {
email = u.value;
} else {
if (ctx.cfg) |ini| {
if (Ini.global_config) |ini| {
if (ini.get("owner")) |ns| {
if (ns.get("email")) |c_email| {
email = c_email;
 
src/endpoints/network.zig added: 51, removed: 50, total 1
@@ -3,8 +3,8 @@ const allocPrint = std.fmt.allocPrint;
 
const Verse = @import("verse");
const Template = Verse.Template;
const DOM = Verse.DOM;
const HTML = Verse.HTML;
const DOM = Template.DOM;
const HTML = Template.HTML;
 
const Route = Verse.Router;
const Error = Route.Error;
 
src/endpoints/repos.zig added: 51, removed: 50, total 1
@@ -9,9 +9,9 @@ const splitScalar = std.mem.splitScalar;
const Verse = @import("verse");
const Response = Verse.Response;
const Request = Verse.Request;
const HTML = Verse.HTML;
const DOM = Verse.DOM;
const Template = Verse.Template;
const HTML = Template.HTML;
const DOM = Template.DOM;
const Route = Verse.Router;
const S = Template.Structs;
const elm = HTML.element;
 
src/endpoints/settings.zig added: 51, removed: 50, total 1
@@ -1,8 +1,10 @@
const std = @import("std");
const Verse = @import("verse");
const Template = Verse.Template;
const S = Verse.Template.Structs;
const Router = Verse.Router;
const RequestData = Verse.RequestData.RequestData;
const Ini = @import("../ini.zig");
 
pub const endpoints = [_]Router.Match{
Router.GET("", default),
@@ -14,17 +16,21 @@ const SettingsPage = Template.PageData("settings.html");
fn default(ctx: *Verse) Router.Error!void {
try ctx.auth.validOrError();
 
var blocks = try ctx.alloc.alloc(Template.Structs.ConfigBlocks, ctx.cfg.?.ns.len);
for (ctx.cfg.?.ns, 0..) |ns, i| {
blocks[i] = .{
.config_name = ns.name,
.config_text = ns.block,
.count = try std.fmt.allocPrint(
ctx.alloc,
"{}",
.{std.mem.count(u8, ns.block, "\n") + 2},
),
};
var blocks: []S.ConfigBlocks = &[0]S.ConfigBlocks{};
 
if (Ini.global_config) |cfg| {
blocks = try ctx.alloc.alloc(Template.Structs.ConfigBlocks, cfg.ns.len);
for (cfg.ns, 0..) |ns, i| {
blocks[i] = .{
.config_name = ns.name,
.config_text = ns.block,
.count = try std.fmt.allocPrint(
ctx.alloc,
"{}",
.{std.mem.count(u8, ns.block, "\n") + 2},
),
};
}
}
 
const btns = [1]Template.Structs.NavButtons{.{ .name = "inbox", .extra = 0, .url = "/inbox" }};
 
src/gitweb.zig added: 51, removed: 50, total 1
@@ -10,18 +10,15 @@ const elm = HTML.element;
const DOM = Verse.DOM;
const Template = Verse.Template;
 
const Route = Verse.Router;
const Error = Route.Error;
const UriIter = Route.UriIter;
const Router = Verse.Router;
const Error = Router.Error;
const UriIter = Router.UriIter;
 
const git = @import("git.zig");
const Ini = @import("ini.zig");
const Humanize = @import("humanize.zig");
const Bleach = @import("bleach.zig");
 
pub const endpoints = [_]Route.Match{
pub const endpoints = [_]Router.Match{
.{ .name = "objects", .match = .{ .build = gitUploadPack } },
.{ .name = "info", .match = .{ .simple = &[_]Route.Match{
.{ .name = "info", .match = .{ .simple = &[_]Router.Match{
.{ .name = "", .match = .{ .build = gitUploadPack } },
.{ .name = "refs", .match = .{ .build = gitUploadPack } },
} } },
@@ -29,9 +26,9 @@ pub const endpoints = [_]Route.Match{
.{ .name = "git-upload-pack", .methods = .{ .POST = true }, .match = .{ .build = gitUploadPack } },
};
 
pub fn router(ctx: *Verse) Error!Route.BuildFn {
pub fn router(ctx: *Verse) Error!Router.BuildFn {
std.debug.print("gitweb router {s}\n{any}, {any} \n", .{ ctx.ctx.uri.peek().?, ctx.ctx.uri, ctx.request.method });
return Route.router(ctx, &endpoints);
return Router.router(ctx, &endpoints);
}
 
fn gitUploadPack(ctx: *Verse) Error!void {
 
src/ini.zig added: 51, removed: 50, total 1
@@ -178,6 +178,8 @@ pub fn fromFile(a: Allocator, file: std.fs.File) !Config {
return try init(a, data);
}
 
pub var global_config: ?*const Config = null;
 
test "default" {
const a = std.testing.allocator;
const expected = Config{
 
src/main.zig added: 51, removed: 50, total 1
@@ -10,11 +10,7 @@ const Database = @import("database.zig");
const Route = Verse.Router;
const Repos = @import("repos.zig");
 
// TODO FIXME revert to internal config instead of Verse version
// but I don't want to lose track of origin, and that's where the
// primary version (read: usage) lives currently.
//const Ini = @import("ini.zig");
const Ini = Verse.Ini;
const Ini = @import("ini.zig");
const Cache = @import("cache.zig");
 
const Srctree = @import("srctree.zig");
@@ -103,6 +99,7 @@ pub fn main() !void {
//error.FileNotFound => Ini.Config.empty(),
else => return e,
};
Ini.global_config = &config;
 
defer config.raze();
 
 
src/patch.zig added: 51, removed: 50, total 1
@@ -12,8 +12,8 @@ const CURL = @import("curl.zig");
const Bleach = @import("bleach.zig");
const Verse = @import("verse");
const Response = Verse.Response;
const HTML = Verse.HTML;
const DOM = Verse.DOM;
const HTML = Verse.Template.HTML;
const DOM = Verse.Template.DOM;
 
pub const Patch = @This();
 
 
src/repos.zig added: 51, removed: 50, total 1
@@ -1,10 +1,8 @@
const std = @import("std");
 
const Allocator = std.mem.Allocator;
 
const Git = @import("git.zig");
/// TODO FIXME
const Ini = @import("verse").Ini;
const Ini = @import("ini.zig");
 
const Repos = @This();