Commit graph

360 commits

Author SHA1 Message Date
43ddc7534b debugging changes for middleware 2022-11-25 17:43:16 -08:00
a28af9e1fe Move json and query helpers 2022-11-25 17:42:58 -08:00
039377f168 Add router helper fn 2022-11-24 03:55:47 -08:00
503ab62607 Get api source from context 2022-11-24 03:50:25 -08:00
051217cdaf Use middlewares in controller endpoint helper 2022-11-24 03:31:24 -08:00
03338da307 Update server.zig to use new handlers 2022-11-24 03:30:49 -08:00
73f7022d36 Start work on middleware api 2022-11-23 20:51:30 -08:00
f457b7a0d6 Add drive files to db 2022-11-21 03:58:54 -08:00
14c75e0659 Add build flags for sqlite/postgres support 2022-11-21 02:18:46 -08:00
3544222065 Percent encode/decode header values 2022-11-21 00:54:03 -08:00
e1c0d2942c Customize allocation strategy per endpoint 2022-11-20 15:42:34 -08:00
252c12403a Add unfollow endpoint 2022-11-19 03:33:35 -08:00
4e85c0225b Sample Cluster admin page 2022-11-19 03:13:05 -08:00
1b379513f7 ugly fucking global timeline endpoint 2022-11-18 04:07:58 -08:00
6748f065ef Move api calls to /api/v0 subpath 2022-11-18 03:43:41 -08:00
37ee6f9593 Remove redundant content-type header 2022-11-18 03:37:54 -08:00
ea837f78bd Change error name on invalid cookie 2022-11-18 03:37:42 -08:00
fdf0a84593 Fix whitespace stripping after control blocks 2022-11-18 03:32:30 -08:00
229acd6d3b Refactor template code 2022-11-18 03:24:25 -08:00
802e6402bf Token -> ControlToken 2022-11-18 02:05:13 -08:00
1340862c28 Add It param to ParseResult 2022-11-18 02:02:24 -08:00
52bb8739f8 Rename statement -> ControlBlock 2022-11-18 02:00:26 -08:00
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