thoth_api/funding/
model.rs

1use 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}