|
|
|
|
|
by birdfood
306 days ago
|
|
I certainly can’t say whether this is idiomatic as I was working it all out myself. But I’d basically write a type for each operation (as I’d read elsewhere). And honestly this was a bit of a drag too. I really wanted some reflection to make generating this code more ergonomic. From memory I’d have types like these Author
id: int,
name: string,
book_id: int NewAuthor
name: string,
book_id: int ViewAuthor
name: string,
book_title: string Author represents the data in the db, NewAuthor allows for an insert operation, and ViewAuthor is for showing the data to a user. You could argue for combing Author and NewAuthor and making id optional but I wanted to enforce at the type level that I was working with stored data without needing to check id everywhere. |
|