7 releases

0.1.6 Jun 10, 2021
0.1.5 Jun 4, 2021
0.1.4 Nov 2, 2020
0.1.3 Sep 8, 2020
0.1.2 May 14, 2020

#2579 in Database interfaces

Custom license

56KB
265 lines

RPA Enum Version

Rpa Enum

This library allows the use of enums for structs on projects that are using the library rpa. Basically we allow the mapping of enums as strings on the database. So if we have for example the enum:

pub enum UserType {
    PARTNER,
    VISITANT,
    ADMIN
}

And then we have an structure that has a field using that as a type Rpa doesn't allow us to map that enum into strings since diesel doesn't support that. With this library we can do that.

How to use it

First you need to import this library like this:

[dependencies.rpa_enum]
version = "0.1.6"

Then we only need to use the derive RpaEnum to make things work, so the example above should look like this:

use rpa_enum::RpaEnum;

#[derive(RpaEnum)]
#[repr(u32)]
pub enum UserType {
    PARTNER,
    VISITANT,
    ADMIN
}

As you can see we only need to use #[repr(u32)] as the representation and then derive RpaEnum using the trait from the crate like this use rpa_enum::RpaEnum;

Please visit rpa for more information on how rpa works.

Dependencies

~1.5MB
~40K SLoC