Improvement
currently Franklin has to ask tapir to decode all of our collection IDs and item IDs from urls as strings. this is fine, but not super descriptive (can they be empty? apparently yes! can we use item ids for collection ids? sure!)
We have the tools with newtype + refined to make sure that these values are more specific than "literally any string" and also that we can't use them interchangeably by accident. Then in Franklin, with tapir we can also define the url decoding behavior as part of request parsing.
Notes + Context
Follow up to azavea/franklin#286 because there are so many small changes
Improvement
currently Franklin has to ask tapir to decode all of our collection IDs and item IDs from urls as strings. this is fine, but not super descriptive (can they be empty? apparently yes! can we use item ids for collection ids? sure!)
We have the tools with newtype + refined to make sure that these values are more specific than "literally any string" and also that we can't use them interchangeably by accident. Then in Franklin, with tapir we can also define the url decoding behavior as part of request parsing.
Notes + Context
Follow up to azavea/franklin#286 because there are so many small changes