thoth_api/funding/
model.rs1use uuid::Uuid;
2
3#[cfg(feature = "backend")]
4use crate::schema::funding;
5
6#[cfg_attr(feature = "backend", derive(Queryable))]
7pub struct Funding {
8 pub funding_id: Uuid,
9 pub work_id: Uuid,
10 pub funder_id: Uuid,
11 pub program: Option<String>,
12 pub project_name: Option<String>,
13 pub project_shortname: Option<String>,
14 pub grant_number: Option<String>,
15 pub jurisdiction: Option<String>,
16}
17
18#[cfg_attr(
19 feature = "backend",
20 derive(juniper::GraphQLInputObject, Insertable),
21 table_name = "funding"
22)]
23pub struct NewFunding {
24 pub work_id: Uuid,
25 pub funder_id: Uuid,
26 pub program: Option<String>,
27 pub project_name: Option<String>,
28 pub project_shortname: Option<String>,
29 pub grant_number: Option<String>,
30 pub jurisdiction: Option<String>,
31}
32
33#[cfg_attr(
34 feature = "backend",
35 derive(juniper::GraphQLInputObject, AsChangeset),
36 changeset_options(treat_none_as_null = "true"),
37 table_name = "funding"
38)]
39pub struct PatchFunding {
40 pub funding_id: Uuid,
41 pub work_id: Uuid,
42 pub funder_id: Uuid,
43 pub program: Option<String>,
44 pub project_name: Option<String>,
45 pub project_shortname: Option<String>,
46 pub grant_number: Option<String>,
47 pub jurisdiction: Option<String>,
48}