forked from alemi/upub
fix: macro allows zero flat, removed invalid type
This commit is contained in:
parent
a4374c4ff0
commit
863ea0408d
13 changed files with 25 additions and 26 deletions
|
@ -3,8 +3,8 @@ use crate::strenum;
|
|||
strenum! {
|
||||
pub enum LinkType {
|
||||
Link,
|
||||
Mention
|
||||
}
|
||||
Mention;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Link : super::Base {
|
||||
|
|
|
@ -13,11 +13,10 @@ use crate::strenum;
|
|||
|
||||
strenum! {
|
||||
pub enum BaseType {
|
||||
Invalid
|
||||
|
||||
;
|
||||
Object(ObjectType),
|
||||
Link(LinkType)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Base {
|
||||
|
|
|
@ -3,8 +3,8 @@ use crate::strenum;
|
|||
strenum! {
|
||||
pub enum AcceptType {
|
||||
Accept,
|
||||
TentativeAccept
|
||||
}
|
||||
TentativeAccept;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Accept : super::Activity {
|
||||
|
|
|
@ -3,8 +3,8 @@ use crate::strenum;
|
|||
strenum! {
|
||||
pub enum IgnoreType {
|
||||
Ignore,
|
||||
Block
|
||||
}
|
||||
Block;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Ignore : super::Activity {
|
||||
|
|
|
@ -5,8 +5,8 @@ strenum! {
|
|||
IntransitiveActivity,
|
||||
Arrive,
|
||||
Question,
|
||||
Travel
|
||||
}
|
||||
Travel;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait IntransitiveActivity : super::Activity {
|
||||
|
|
|
@ -36,14 +36,14 @@ strenum! {
|
|||
Remove,
|
||||
Undo,
|
||||
Update,
|
||||
View
|
||||
View;
|
||||
|
||||
IntransitiveActivity(IntransitiveActivityType),
|
||||
Accept(AcceptType),
|
||||
Ignore(IgnoreType),
|
||||
Offer(OfferType),
|
||||
Reject(RejectType)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Activity : super::Object {
|
||||
|
|
|
@ -3,8 +3,8 @@ use crate::strenum;
|
|||
strenum! {
|
||||
pub enum OfferType {
|
||||
Offer,
|
||||
Invite
|
||||
}
|
||||
Invite;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Offer : super::Activity {
|
||||
|
|
|
@ -3,8 +3,8 @@ use crate::strenum;
|
|||
strenum! {
|
||||
pub enum RejectType {
|
||||
Reject,
|
||||
TentativeReject
|
||||
}
|
||||
TentativeReject;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Reject : super::Activity {
|
||||
|
|
|
@ -8,8 +8,8 @@ strenum! {
|
|||
Group,
|
||||
Organization,
|
||||
Person,
|
||||
Object
|
||||
}
|
||||
Object;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Profile : super::Object {
|
||||
|
|
|
@ -9,8 +9,8 @@ strenum! {
|
|||
Collection,
|
||||
CollectionPage,
|
||||
OrderedCollection,
|
||||
OrderedCollectionPage
|
||||
}
|
||||
OrderedCollectionPage;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Collection : super::Object {
|
||||
|
|
|
@ -6,8 +6,8 @@ strenum! {
|
|||
Audio,
|
||||
Image,
|
||||
Page,
|
||||
Video
|
||||
}
|
||||
Video;
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Document : super::Object {
|
||||
|
|
|
@ -29,13 +29,13 @@ strenum! {
|
|||
Place,
|
||||
Profile,
|
||||
Relationship,
|
||||
Tombstone
|
||||
Tombstone;
|
||||
|
||||
Activity(ActivityType),
|
||||
Actor(ActorType),
|
||||
Collection(CollectionType),
|
||||
Document(DocumentType)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
pub trait Object : super::Base {
|
||||
|
|
|
@ -16,7 +16,7 @@ impl From<TypeValueError> for sea_orm::TryGetError {
|
|||
|
||||
#[macro_export]
|
||||
macro_rules! strenum {
|
||||
( $(pub enum $enum_name:ident { $($flat:ident),+ $($deep:ident($inner:ident)),*})+ ) => {
|
||||
( $(pub enum $enum_name:ident { $($flat:ident),* ; $($deep:ident($inner:ident)),* };)+ ) => {
|
||||
$(
|
||||
#[derive(PartialEq, Eq, Debug, Clone, Copy)]
|
||||
pub enum $enum_name {
|
||||
|
|
Loading…
Reference in a new issue