149 Commits

Author SHA1 Message Date
Bob Farrell
e3ab49fa5a Refactor Route
Move all route types into a single union and remove leftover junk.

Deprecate view functions that receive a `*jetzig.Data` argument (we will
stay backward-compatible until we have a valid reason to drop support
for legacy view functions - the extra code overhead is pretty minimal).
2024-11-17 15:08:54 +00:00
Bob Farrell
49c5c2db26 Update dependencies
Add assertion to verify compatible jetcommon versions between
dependencies.
2024-11-17 12:34:49 +00:00
Bob Farrell
f3b56e14ea Fix admin database schema detection
Fix missing optional database name type when reading from config
2024-11-17 10:50:03 +00:00
Bob Farrell
e12b69985b Fix database CLI environment variables config
Use the same environment setup as the main Jetzig app when running
database CLI commands.
2024-11-16 17:16:29 +00:00
Bob Farrell
2cff123de7 Fix database launch message
When an environment variable configures the database name we connect to,
we need to wrap the field access in a comptime check even if the
`orelse` block never runs.
2024-11-16 16:04:16 +00:00
Bob Farrell
9ebf0d40e6 Fix initial Schema creation
Update JetQuery - `optional` replaces `not_null` and defaults to `false`,
i.e. columns have a `NOT NULL` constraint by default.
2024-11-14 20:18:28 +00:00
Bob Farrell
b1dc086afb GH actions fixes
Fix `/.json` root path detection
2024-11-14 18:54:26 +00:00
Bob Farrell
c5acaedb73 Strip trailing slash on URIs
`/blogs/` is now the same as `/blogs`.

Root path `/` is a special case.
2024-11-13 20:57:25 +00:00
Bob Farrell
c8ae44b508 Accept password at command line for auth user create
Intended for local development only
2024-11-13 20:35:50 +00:00
Bob Farrell
2dd2f7ae74 Add null logger
Silence logs completely when `null` logger is active.

Add pool size/timeout environment variable configuration for JetQuery.
2024-11-12 22:20:13 +00:00
Bob Farrell
bed91b2131 Fix development logger colors on Windows 2024-11-12 08:52:32 +00:00
Bob Farrell
e4da5bc9c8 Fix broken type detection in database setup 2024-11-12 08:21:51 +00:00
Bob Farrell
a6d1b92f5e Simplify DevelopmentLogger, add ProductionLogger
Add auth helper to create a user from CLI:

```
jetzig auth user:create user@example.com
```
2024-11-11 22:25:35 +00:00
Bob Farrell
d27907a1c5 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
4210aa5e83 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
6f8de03f07 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
f3bcff6387 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
4793262a5e WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
6c53ccf8fc WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
320c2706ae WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
405762504d WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
dc11412587 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
fa5b3f240e WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
72a704b8cb WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
b07f5adb8c WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
e4e3b400b2 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
11fc43b8ce WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
748710f369 WIP
Actions:

+

Motivation:

+
2024-11-09 17:13:32 +00:00
Bob Farrell
5c5e2fa192 WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
55f7bebb9e WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
058a82582a WIP 2024-11-09 17:13:32 +00:00
Bob Farrell
b179007344 WIP 2024-11-09 17:13:25 +00:00
Bob Farrell
198754eef2 WIP 2024-11-09 17:12:49 +00:00
Bob Farrell
9bc1b26c10 WIP 2024-11-09 17:12:49 +00:00
Bob Farrell
bd15e5c43b WIP 2024-11-09 17:12:49 +00:00
Bob Farrell
94ce83b425 Update Zmpl - @for fixes and partial arg type coercion 2024-11-08 19:42:39 +00:00
Bob Farrell
c7b79f144a Fixes for https://github.com/ziglang/zig/pull/21817 2024-11-06 08:44:07 +00:00
IbrahimOuhamou
d5078cc617 added 'session.save()' inside 'session.remove()' thanks to Allah 2024-11-03 13:08:43 +01:00
IbrahimOuhamou
cea2781391 updated zmpl and added session.remove() thanks to Allah 2024-11-03 11:39:03 +01:00
Bob Farrell
f971f18a60 Global data
Define `pub const Global = SomeType` at top level in `src/main.zig`,
then create a pointer to `SomeType` and pass to `app.start`:

```
app.start(routes, .{ .global = global });
```

Then access in a view as `request.global`.
2024-10-28 09:07:06 +00:00
Bob Farrell
9e4a81aa19 Closes #105: Configure SMTP from environment variables
Fall back to hardcoded values if each `JETZIG_SMTP_*` variable is not
present.
2024-10-17 22:09:04 +01:00
Bob Farrell
9b2d6274ff Update http.zig
Resolves overflow vuln.
2024-09-27 18:27:22 +01:00
Bob Farrell
15b0fa1af9 Latest Zig master compatibility 2024-08-30 18:43:12 +01:00
Bob Farrell
e98c5ec3df Update http.zig
Refactor routes generation to standalone exe (fixes some build-time vs.
run-time issues).
2024-08-24 11:18:08 +01:00
Bob Farrell
32da79ca21 Fixes #96: Trim module name properly 2024-08-15 18:02:55 +01:00
Bob Farrell
f0c7475386 Provide default value for Route.formats 2024-08-10 18:39:28 +01:00
Bob Farrell
1406447f24 Implement response format constraints
Define `pub const formats` in a view to specify which formats are
available. Use this to e.g. disable JSON responses.
2024-08-04 16:06:39 +01:00
Bob Farrell
9971cde875 Close #89: Implement file upload support
Use `request.file("form-field-name")` to try to find a multipart-encoded
form value for the given name. Returns `jetzig.http.File` if a match is
found which provides `content` (uploaded file content) and `filename`
(filename as passed by browser).
2024-06-19 20:47:05 +01:00
Dustin
33e76d74ad Fix nested paths in public folder on windows 2024-06-11 16:27:24 -06:00
Dustin
6ee43f7c9f Fix nested paths in public folder on windows 2024-06-11 16:08:00 -06:00