Commit graph

388 commits

Author SHA1 Message Date
1a7db9a834 Split expression/statements in parser 2022-11-18 01:58:13 -08:00
58adc38945 Parse whitespace stripping chars 2022-11-18 00:09:10 -08:00
22277beffc Add fields for whitespace stripping 2022-11-17 23:52:07 -08:00
c9af99d08f Add if statements to templating engine 2022-11-17 23:39:32 -08:00
5bb9742ab9 Change syntax for end_for statement 2022-11-17 23:23:02 -08:00
67ad5bfa48 Get token from cookie 2022-11-17 22:51:51 -08:00
b68dcc8fbf Add new pages 2022-11-17 20:12:49 -08:00
0e034a2064 Fix double free 2022-11-17 20:11:23 -08:00
f33b4a856f Template helpers 2022-11-17 20:11:04 -08:00
58a0dd900f Fix print call 2022-11-17 19:48:25 -08:00
fcbb1bb623 Use read instead of recv on socket 2022-11-17 19:48:07 -08:00
dac9d7c05d Support cookies 2022-11-17 19:39:24 -08:00
6accb775d4 Cleanup of networking code 2022-11-17 18:42:23 -08:00
58a81d74ec Use send() syscall instead of write() 2022-11-16 21:11:51 -08:00
432a11dbc9 Use templating system 2022-11-16 19:55:38 -08:00
305c5f8c92 Support for nested structs in sql layer 2022-11-16 02:23:14 -08:00
e4a04b869e refactor 2022-11-16 00:33:06 -08:00
c9d0090ab2 Add loop captures to capture struct 2022-11-16 00:18:14 -08:00
61493dc797 Combine Expressions and statements 2022-11-16 00:06:53 -08:00
8ebe77541f Add capture syntax 2022-11-16 00:01:45 -08:00
9d74bce266 Add loop captures 2022-11-15 23:53:29 -08:00
dcf777f5ea Iterate over for loop 2022-11-15 23:39:36 -08:00
934296b384 Parse for loop 2022-11-15 23:16:46 -08:00
efb50a325b Further split parsing and execution 2022-11-15 22:35:27 -08:00
d24957b7a0 Create ParseResult 2022-11-15 22:11:16 -08:00
7191ad8f27 Split up template parsing and execution 2022-11-15 22:07:45 -08:00
3b03764be7 Start work on template package 2022-11-15 19:11:29 -08:00
861c31c3ad Allow passing params by application/x-www-form-urlencoded 2022-11-15 01:03:47 -08:00
a15baaf2e7 Decode query string chars 2022-11-15 01:03:25 -08:00
db1bd0f7c7 Remove Body param
Yeah I just misunderstood something in the HTML spec whoops
2022-11-15 00:56:30 -08:00
0b04ad5e00 Support for 'Data' field in controllers 2022-11-14 23:49:23 -08:00
85f57df0cb Controller helper refactor 2022-11-14 23:22:40 -08:00
76b9018297 Add basic webpage 2022-11-14 21:38:08 -08:00
721bf7e61a Rename follower/followee 2022-11-14 20:25:59 -08:00
81c705d519 Home timeline endpoint 2022-11-14 15:00:01 -08:00
763327292a Following/follower endpoints 2022-11-14 01:03:11 -08:00
568c6cd6b6 Combine pagination code 2022-11-14 00:25:52 -08:00
c49f1487a7 Add list followers api calls 2022-11-14 00:14:29 -08:00
ebf8b34e15 Add follow table 2022-11-13 23:56:58 -08:00
4773a86313 Add args to timeline controller 2022-11-13 23:00:20 -08:00
4e81441a0d Move query format helpers into common code 2022-11-13 21:57:32 -08:00
bfd73b7a1f Add union support to query parser 2022-11-13 20:40:13 -08:00
8694516180 Add local timeline 2022-11-12 05:23:55 -08:00
5630c6160f Rename prep_allocator 2022-11-12 05:08:01 -08:00
139fc92854 Add queryRowsWithOptions method to db helper 2022-11-12 05:04:33 -08:00
83da3c914b Basic global timeline 2022-11-12 04:39:49 -08:00
7d13b2546b Fixes for stage1 compiler 2022-11-10 01:53:09 -08:00
181e57a631 Make inline for loops compatible with stage1 2022-11-09 16:49:42 -08:00
cfdc8c5761 Remove debug logging 2022-11-09 16:49:26 -08:00
cbf98c1cf3 Fix chunked transfer encoding 2022-11-07 00:25:33 -08:00
d2151ae326 Switch to ArrayHashMap 2022-11-06 23:59:35 -08:00
2d464f0820 Chunked transfer encoding 2022-11-06 23:38:21 -08:00
438c72b7e9 Make request generic based on reader 2022-11-05 03:09:59 -07:00
b46e82746c Parse list-based headers 2022-11-05 01:54:00 -07:00
4cb574bc91 Clean up header handling 2022-11-05 00:26:53 -07:00
5d94f6874d Fixes for zig 0.10.0 2022-11-03 23:26:50 -07:00
1ba1b18c39 Move query helpers into common code 2022-10-16 14:46:01 -07:00
e90d9daf77 Serve on ipv6 by default 2022-10-16 05:48:36 -07:00
e4cbb0acc3 Add basic websocket support 2022-10-16 05:48:12 -07:00
cb2f97a28f Add multithreading 2022-10-13 21:05:52 -07:00
0ce315368a Minor HTTP refactor 2022-10-13 02:23:57 -07:00
159f1c28cc Add sql connection pool 2022-10-12 23:19:59 -07:00
23da0c6857 Get integration tests working 2022-10-11 22:48:08 -07:00
b2c87dd207 account + local_account -> actor + account 2022-10-11 20:06:29 -07:00
d852a3d153 Fix string concatenation 2022-10-11 19:28:36 -07:00
46e71d8b44 Provide page links in communities query 2022-10-11 19:19:34 -07:00
37e0192c4f Return next set of query arguments 2022-10-10 22:19:58 -07:00
195b201564 Add support for Community query 2022-10-10 21:49:36 -07:00
add17c0a0a Use new controller layout 2022-10-10 20:28:23 -07:00
228b9490ef Start re-adding controllers 2022-10-09 19:31:15 -07:00
83ee7efba0 Controller refactor 2022-10-09 19:06:11 -07:00
2aa9569050 controllers refactor 2022-10-09 02:05:01 -07:00
581159963f Move api to package 2022-10-08 13:47:54 -07:00
1aec8031e6 Preliminary support for query parameters 2022-10-08 00:51:57 -07:00
0e7484543e Some refactoring 2022-10-08 00:51:22 -07:00
b12b9c766f Making the api work again 2022-10-03 23:38:26 -07:00
69a51a7d7f Take community id's instead of hosts 2022-10-03 22:57:09 -07:00
d6cf778053 Move registration to auth 2022-10-03 22:50:09 -07:00
753ae2729e Add nested transaction logic 2022-10-03 22:42:22 -07:00
955df7b044 refactor 2022-10-03 19:41:59 -07:00
4b5d11b00a More refactoring 2022-10-01 22:18:24 -07:00
c6d80fd4d3 Sql refactor 2022-10-01 02:05:33 -07:00
c42039c559 Refactoring 2022-09-29 14:52:01 -07:00
33d1834f19 SQL Refactor 2022-09-25 01:10:30 -07:00
33cf0ff87a Move to new DB api 2022-09-14 18:12:07 -07:00
db225b6689 Create helper utils in sql pkg 2022-09-11 04:38:46 -07:00
e94e4384bb Add postgres support in db package 2022-09-11 01:55:20 -07:00
c8641247fe Add utility alloc/clone functions 2022-09-10 15:29:22 -07:00
994c9e8cf2 Add Url type 2022-09-10 15:29:08 -07:00
0a42274b27 Build paginated query 2022-09-09 21:02:51 -07:00
8763132d35 Create integration test 2022-09-08 22:01:57 -07:00
6e2754225f Playing with tests in build.zig 2022-09-08 01:50:10 -07:00
ca123c1cc0 Notes 2022-09-08 00:52:23 -07:00
8222d651ad Make email parameter optional 2022-09-08 00:06:55 -07:00
e0fd7097eb User creation 2022-09-07 23:56:29 -07:00
a28f9fd38c Invites 2022-09-07 22:10:58 -07:00
075b922ef5 Mvoing controllers around 2022-09-07 19:19:46 -07:00
99337b6429 Remove dead code 2022-09-07 19:01:24 -07:00
91c116a303 Narrowing down error sets 2022-09-07 18:55:55 -07:00
ab96b3b734 messing w/ stuff 2022-09-07 16:14:52 -07:00
913a84c4fa Add login verification endpoint 2022-09-05 03:54:17 -07:00
8ee663000d Create cluster community 2022-09-05 02:15:16 -07:00
1d4b0a6e77 Use default admin user 2022-09-05 01:52:49 -07:00
e2381f1eaf Disable routes for now 2022-09-05 00:10:03 -07:00
4bddb9f633 fucking around w/ db stuff 2022-09-05 00:07:46 -07:00
d694674585 Fixes for stage2 compiler 2022-07-13 07:42:30 -07:00
84e62ffe38 Fully working query builder 2022-08-07 13:28:20 -07:00
b6a3b68cff Add query builder struct 2022-08-07 00:54:22 -07:00
ee4aa9e826 Construct QueryTables from model list 2022-08-03 22:08:32 -07:00
f28046bd79 Add QueryTable 2022-08-03 21:52:07 -07:00
80ded57904 Add conditions to query builder 2022-08-03 21:32:59 -07:00
4087345323 Read host header 2022-08-01 23:35:56 -07:00
9c94cafe95 Log errors instead of panic 2022-08-01 23:24:16 -07:00
bdd2d48a87 Take community url as string 2022-08-01 22:21:03 -07:00
6c15849882 Add communities 2022-08-01 21:33:23 -07:00
c31633cade refactor 2022-07-30 13:40:20 -07:00
c1f8b8f0e2 Track DB migrations 2022-07-30 00:26:35 -07:00
40a2391942 Add config file 2022-07-29 23:14:42 -07:00
99192bccdd Clean up db models 2022-07-29 22:52:00 -07:00
f6f24a557e Fix compile errors on latest zig 2022-07-27 20:13:25 -07:00
ae9a062caf Track invite uses and handle properly 2022-07-26 23:03:27 -07:00
76f2b818ab Allow registration with invite 2022-07-26 22:30:52 -07:00
01ef4427f5 Generate invite codes 2022-07-26 22:02:09 -07:00
a020199773 Refactor api calls 2022-07-25 19:07:05 -07:00
47e157e31b Use threadlocal prng 2022-07-24 17:18:25 -07:00
a7b1361048 Verify incoming tokens 2022-07-24 17:04:44 -07:00
b05abf95ac Move models to db subdir 2022-07-24 02:01:17 -07:00
7fc83b6e56 Issue tokens on login 2022-07-23 22:19:32 -07:00
3e91d66565 Remove storage policy from sql lib 2022-07-23 21:29:38 -07:00
ada0eb71f5 Add sql support for blobs 2022-07-23 21:14:46 -07:00
ab61efc44a Add id and created_at fields to db models 2022-07-22 00:08:01 -07:00
dc8877eef3 Refactoring controllers 2022-07-21 23:53:05 -07:00
ee0db68c5e Split users into actors and localusers 2022-07-21 21:19:08 -07:00
a4f6fca675 Support optional types in sql 2022-07-21 21:18:43 -07:00
cc44bbf12b Better error messages 2022-07-21 21:18:20 -07:00
e6217d543d Basic password auth 2022-07-20 22:26:13 -07:00
7b1e4030b0 Refactoring 2022-07-20 20:42:16 -07:00
73662d675a Fully implement api free() 2022-07-19 02:22:19 -07:00
718da7b408 Basic reacts 2022-07-19 00:07:01 -07:00
07019cb090 Track creation time for notes 2022-07-18 00:37:10 -07:00
b1190ddea8 Add DateTime 2022-07-18 00:03:29 -07:00
f28f71c978 Remove dead code 2022-07-17 23:13:20 -07:00
11d4a52b2d Collect author id from user context 2022-07-17 23:11:42 -07:00
87903ca17b Create user contexts 2022-07-17 16:21:03 -07:00
52003f5e4f Remove unused helpers 2022-07-16 12:31:36 -07:00
b80eba6fcf Check user handle is available 2022-07-16 12:30:47 -07:00
1d6f7bfa08 Allow querying by other fields 2022-07-16 12:00:33 -07:00
90d2dcd4c1 Remove references to memdb 2022-07-16 11:44:46 -07:00
74fb8d2574 Use sql api for users 2022-07-16 11:41:09 -07:00
40e7037444 Type-introspected insert 2022-07-15 22:29:08 -07:00
c9c5958849 Use type introspection in db wrapper 2022-07-15 21:33:01 -07:00
b82600e8cd Store notes in SQLite 2022-07-15 00:27:27 -07:00
163811caa0 Basic sqlite adapter 2022-07-14 17:58:08 -07:00
caa599986d Reorganize controllers 2022-07-13 00:57:21 -07:00
2092bbdffa Check users for duplicates 2022-07-12 22:35:39 -07:00
f5548c0243 Create Table abstraction 2022-07-12 22:08:18 -07:00
16d093b4f7 Add users 2022-07-12 21:56:47 -07:00
b3c9c3b600 Move body parsing to new fn 2022-07-12 21:41:26 -07:00
d27c38330b Better error messages 2022-07-12 21:31:52 -07:00
44cb7017b2 Make api return full note 2022-07-12 21:28:54 -07:00
3f3e9e039e Add JSON stringification for UUIDs 2022-07-12 21:23:50 -07:00
ad6f1454a6 Use Uuids for id 2022-07-12 21:16:33 -07:00
20af2c82c8 Use u128 as backing field for Uuid 2022-07-12 20:55:19 -07:00
ccf79febe4 Basic api server 2022-07-12 20:40:48 -07:00
255a11bc8b Add createNote endpoint 2022-07-10 19:39:28 -07:00
d8f8a3ec89 Create putNote 2022-07-10 17:58:39 -07:00
b3a3a66068 Handle not found errors better 2022-07-10 17:52:28 -07:00
470fa50bb1 Get ID from route 2022-07-10 17:40:17 -07:00
b738a02e16 Pass note ID to db 2022-07-10 17:14:32 -07:00
5933e37f85 Retrieve note dynamically 2022-07-10 17:12:52 -07:00
80c94711ae Add id 2022-07-10 17:10:15 -07:00
c130391186 Build Database connection 2022-07-10 17:07:15 -07:00
9c2bd11526 Split out json printing code 2022-07-10 17:01:36 -07:00
685dc13455 Another shot at db shit 2022-07-10 16:53:17 -07:00
1bcbeb098e Log chosen route 2022-07-10 15:24:54 -07:00
8d71846826 cleaning up 2022-07-10 15:19:21 -07:00
3bd1bfc972 Messing with routes 2022-07-09 22:05:01 -07:00
f58e0c074c Make routing more obviously WIP 2022-07-09 19:56:07 -07:00
5fc8b99051 Separate request handling and acceptance 2022-07-09 18:01:03 -07:00
013bc015c5 API Refactoring 2022-07-09 15:43:35 -07:00
ff6d8f8e03 Fix error union compile errors 2022-07-09 15:18:48 -07:00
f86873395b Fix compile errors on parse errors 2022-07-09 15:17:44 -07:00
61c989acde Handle connection cleanup 2022-07-09 15:14:49 -07:00
bb32c2006a Fix method signature for ResponseStream 2022-07-09 15:12:17 -07:00
b1d47ff607 Fix pub 2022-07-09 15:11:05 -07:00
a93039534c Remake basic main.zig handler 2022-07-09 15:07:51 -07:00
c1c5e3014d Fix std.net.StreamServer.Connection ref 2022-07-09 15:04:46 -07:00
04d83a603c HttpServer 2022-07-09 14:18:43 -07:00
21a153ba9d Separate request parsing and server code 2022-07-09 13:09:30 -07:00
fd27199813 Fix ConnectionServer 2022-07-09 12:46:55 -07:00
053de35d33 Add http.Context 2022-07-09 12:41:09 -07:00
8ba0ebd84c Move connection to conn.zig 2022-06-26 00:00:14 -07:00
f5af54e5d1 Handle basic HTTP errors 2022-06-25 23:35:31 -07:00
5e796d3b3d Add request parsing to http lib 2022-06-25 23:03:37 -07:00
f4e8690d28 Add router 2022-06-20 23:04:39 -07:00
7411f5f9b8 Add PathIter 2022-06-02 11:33:16 -07:00
687fd6ef9d Start work on new http pkg 2022-06-08 23:44:36 -07:00
0f7754802d Split util into own package 2022-06-08 22:54:41 -07:00
407923eacd Make handlers return new Response object 2022-05-23 21:58:05 -07:00
004568a907 Add new context object 2022-05-23 21:54:26 -07:00