|
2 | 2 |
|
3 | 3 | (require rivet/backend |
4 | 4 | "model.rkt" |
5 | | - "service.rkt" |
6 | | - "wire.rkt") |
| 5 | + "rivet-schema.rkt" |
| 6 | + "service.rkt") |
7 | 7 |
|
8 | 8 | (provide start) |
9 | 9 |
|
|
18 | 18 | (error 'taskly "database is not open"))) |
19 | 19 |
|
20 | 20 | (define (publish! service) |
21 | | - (changed (snapshot->wire service))) |
| 21 | + (changed (snapshot->dto service))) |
22 | 22 |
|
23 | | -(define-rpc (open_database [path : String] : Any) |
| 23 | +(define-rpc (open_database [path : String] : Snapshot) |
24 | 24 | (define previous (unbox current-service)) |
25 | 25 | (when previous (close-taskly-service previous)) |
26 | 26 | (define service (open-taskly-service path)) |
27 | 27 | (set-box! current-service service) |
28 | | - (snapshot->wire service)) |
| 28 | + (snapshot->dto service)) |
29 | 29 |
|
30 | 30 | (define-rpc (load_snapshot [view : String] |
31 | 31 | [list-id : (Optional Int64)] |
32 | 32 | [show-completed : Bool] |
33 | | - : Any) |
34 | | - (snapshot->wire (require-service) |
35 | | - #:view view |
36 | | - #:list-id (optional->false list-id) |
37 | | - #:show-completed show-completed)) |
| 33 | + : Snapshot) |
| 34 | + (snapshot->dto (require-service) |
| 35 | + #:view view |
| 36 | + #:list-id (optional->false list-id) |
| 37 | + #:show-completed show-completed)) |
38 | 38 |
|
39 | 39 | (define-rpc (add_task [text : String] |
40 | 40 | [list-id : (Optional Int64)] |
41 | 41 | [due-date : (Optional String)] |
42 | 42 | [due-time : (Optional String)] |
43 | 43 | [notes : (Optional String)] |
44 | | - : Any) |
| 44 | + : Task) |
45 | 45 | (define service (require-service)) |
46 | 46 | (define task |
47 | 47 | (service-add-task! service text |
|
50 | 50 | #:due-time (optional->false due-time) |
51 | 51 | #:notes (optional->false notes))) |
52 | 52 | (publish! service) |
53 | | - (task->wire task)) |
| 53 | + (task->dto task)) |
54 | 54 |
|
55 | | -(define-rpc (update_task_text [id : Int64] [text : String] : Any) |
| 55 | +(define-rpc (update_task_text [id : Int64] [text : String] : Task) |
56 | 56 | (define service (require-service)) |
57 | 57 | (define task (service-update-task-text! service id text)) |
58 | 58 | (publish! service) |
59 | | - (task->wire task)) |
| 59 | + (task->dto task)) |
60 | 60 |
|
61 | | -(define-rpc (set_completed [id : Int64] [completed : Bool] : Any) |
| 61 | +(define-rpc (set_completed [id : Int64] [completed : Bool] : Task) |
62 | 62 | (define service (require-service)) |
63 | 63 | (define task (service-set-completed! service id completed)) |
64 | 64 | (publish! service) |
65 | | - (task->wire task)) |
| 65 | + (task->dto task)) |
66 | 66 |
|
67 | 67 | (define-rpc (delete_task [id : Int64] : Bool) |
68 | 68 | (define service (require-service)) |
69 | 69 | (define deleted? (service-delete-task! service id)) |
70 | 70 | (when deleted? (publish! service)) |
71 | 71 | deleted?) |
72 | 72 |
|
73 | | -(define-rpc (search_tasks [keyword : String] : Any) |
74 | | - (map task->wire (service-search (require-service) keyword))) |
| 73 | +(define-rpc (search_tasks [keyword : String] : (List Task)) |
| 74 | + (map task->dto (service-search (require-service) keyword))) |
75 | 75 |
|
76 | 76 | (define-rpc (create_list [name : String] |
77 | 77 | [icon : (Optional String)] |
78 | 78 | [color : (Optional Int64)] |
79 | | - : Any) |
| 79 | + : TodoList) |
80 | 80 | (define service (require-service)) |
81 | 81 | (define item |
82 | 82 | (service-add-list! service name |
83 | 83 | #:icon (or (optional->false icon) default-list-icon) |
84 | 84 | #:color (or (optional->false color) default-list-color))) |
85 | 85 | (publish! service) |
86 | | - (list->wire item)) |
| 86 | + (list->dto item)) |
87 | 87 |
|
88 | 88 | (define-rpc (delete_list [id : Int64] : Bool) |
89 | 89 | (define service (require-service)) |
|
0 commit comments