Koucha/koucha/src/db.rs

31 lines
636 B
Rust
Raw Normal View History

mod user;
pub use user::User;
mod feed;
pub use feed::Feed;
mod feed_channel;
pub use feed_channel::FeedChannel;
mod channel;
pub use channel::Channel;
mod item;
pub use item::Item;
macro_rules! define_key {
($name:ident) => {
#[derive(PartialEq, Debug, Copy, Clone)]
pub struct $name(i64);
};
($name:ident, $($field:ident : $type:ty),* $(,)?) => {
#[derive(PartialEq, Debug, Copy, Clone)]
pub struct $name {
$($field: $type),*
}
};
}
define_key!(UserKey);
define_key!(FeedKey);
define_key!(FeedChannelKey, feed_key: FeedKey, channel_key: ChannelKey);
define_key!(ChannelKey);
define_key!(ItemKey);