@ -46,9 +46,7 @@ type CargoBike {
lockedUntil : Date
lockedUntil : Date
}
}
input CargoBikeInput {
input CargoBikeCreateInput {
"if null, then new bike will be created, else old bike will be updated."
id : ID
"see column A in info tabelle"
"see column A in info tabelle"
group : Group !
group : Group !
name : String !
name : String !
@ -61,15 +59,15 @@ input CargoBikeInput {
Safety is a custom type , that stores information about security features .
Safety is a custom type , that stores information about security features .
TODO : Should this be calles Security ?
TODO : Should this be calles Security ?
"" "
"" "
security : Security Input!
security : Security Create Input!
"" "
"" "
Does not refere to an extra table in the database .
Does not refere to an extra table in the database .
"" "
"" "
technicalEquipment : TechnicalEquipment Input!
technicalEquipment : TechnicalEquipment Create Input!
"" "
"" "
Does not refere to an extra table in the database .
Does not refere to an extra table in the database .
"" "
"" "
dimensionsAndLoad : DimensionsAndLoad Input!
dimensionsAndLoad : DimensionsAndLoad Create Input!
"Refers to equipment that is not unique. See kommentierte info tabelle -> Fragen -> Frage 2"
"Refers to equipment that is not unique. See kommentierte info tabelle -> Fragen -> Frage 2"
otherEquipment : [ String ]
otherEquipment : [ String ]
@ -77,8 +75,42 @@ input CargoBikeInput {
stickerBikeNameState : StickerBikeNameState
stickerBikeNameState : StickerBikeNameState
note : String
note : String
provider : String
provider : String
insuranceData : InsuranceDataInput !
insuranceData : InsuranceDataCreateInput !
taxes : TaxesInput
taxes : TaxesCreateInput
}
input CargoBikeUpdateInput {
id : ID !
"see column A in info tabelle"
group : Group
name : String
modelName : String
numberOfWheels : Int
forCargo : Boolean
forChildren : Boolean
numberOfChildren : Int
"" "
Safety is a custom type , that stores information about security features .
TODO : Should this be calles Security ?
"" "
security : SecurityUpdateInput
"" "
Does not refere to an extra table in the database .
"" "
technicalEquipment : TechnicalEquipmentUpdateInput
"" "
Does not refere to an extra table in the database .
"" "
dimensionsAndLoad : DimensionsAndLoadUpdateInput
"Refers to equipment that is not unique. See kommentierte info tabelle -> Fragen -> Frage 2"
otherEquipment : [ String ]
"Sticker State"
stickerBikeNameState : StickerBikeNameState
note : String
provider : String
insuranceData : InsuranceDataUpdateInput
taxes : TaxesUpdateInput
}
}
type InsuranceData {
type InsuranceData {
@ -100,7 +132,7 @@ type InsuranceData {
notes : String
notes : String
}
}
input InsuranceData Input {
input InsuranceData Create Input {
"" "
"" "
Eventuelly , this field will become an enum or a seperate data table and user can choose from a pool of insurance companies .
Eventuelly , this field will become an enum or a seperate data table and user can choose from a pool of insurance companies .
"" "
"" "
@ -119,6 +151,25 @@ input InsuranceDataInput {
notes : String
notes : String
}
}
input InsuranceDataUpdateInput {
"" "
Eventuelly , this field will become an enum or a seperate data table and user can choose from a pool of insurance companies .
"" "
name : String
benefactor : String
billing : String
noPnP : String
"eg. Anbieter, flotte, eigenleistung"
maintananceResponsible : String
maintananceBenefactor : String
maintananceAgreement : String
hasFixedRate : Boolean !
fixedRate : Float
"Projektzuschuss"
projectAllowance : Float
notes : String
}
enum Group {
enum Group {
KL
KL
LI
LI
@ -179,11 +230,16 @@ type Taxes {
organizationArea : OrganizationArea
organizationArea : OrganizationArea
}
}
input Taxes Input {
input Taxes Create Input {
costCenter : String !
costCenter : String !
organizationArea : OrganizationArea
organizationArea : OrganizationArea
}
}
input TaxesUpdateInput {
costCenter : String
organizationArea : OrganizationArea
}
enum OrganizationArea {
enum OrganizationArea {
IB
IB
ZB
ZB
@ -255,7 +311,7 @@ type DimensionsAndLoad {
bikeWeight : Float
bikeWeight : Float
}
}
input DimensionsAndLoad Input {
input DimensionsAndLoad Create Input {
hasCoverBox : Boolean !
hasCoverBox : Boolean !
lockable : Boolean !
lockable : Boolean !
boxLength : Float !
boxLength : Float !
@ -270,6 +326,21 @@ input DimensionsAndLoadInput {
bikeWeight : Float
bikeWeight : Float
}
}
input DimensionsAndLoadUpdateInput {
hasCoverBox : Boolean
lockable : Boolean
boxLength : Float
boxWidth : Float
boxHeight : Float
maxWeightBox : Float
maxWeightLuggageRack : Float
maxWeightTotal : Float
bikeLength : Float
bikeWidth : Float
bikeHeight : Float
bikeWeight : Float
}
"" "
"" "
Some Technical Info about the bike .
Some Technical Info about the bike .
This should be 1 - 1 Relation with the CargoBike .
This should be 1 - 1 Relation with the CargoBike .
@ -282,13 +353,20 @@ type TechnicalEquipment {
specialFeatures : String
specialFeatures : String
}
}
input TechnicalEquipment Input {
input TechnicalEquipment Create Input {
bicycleShift : String !
bicycleShift : String !
isEBike : Boolean !
isEBike : Boolean !
hasLightSystem : Boolean !
hasLightSystem : Boolean !
specialFeatures : String
specialFeatures : String
}
}
input TechnicalEquipmentUpdateInput {
bicycleShift : String
isEBike : Boolean
hasLightSystem : Boolean
specialFeatures : String
}
"" "
"" "
The Security Info about the bike .
The Security Info about the bike .
his should be 1 - 1 Relation with the CargoBike .
his should be 1 - 1 Relation with the CargoBike .
@ -302,7 +380,7 @@ type Security {
adfcCoding : String
adfcCoding : String
}
}
input Security Input {
input Security Create Input {
frameNumber : String !
frameNumber : String !
keyNumberFrameLock : String
keyNumberFrameLock : String
keyNumberAXAChain : String
keyNumberAXAChain : String
@ -310,6 +388,14 @@ input SecurityInput {
adfcCoding : String
adfcCoding : String
}
}
input SecurityUpdateInput {
frameNumber : String
keyNumberFrameLock : String
keyNumberAXAChain : String
policeCoding : String
adfcCoding : String
}
enum StickerBikeNameState {
enum StickerBikeNameState {
OK
OK
IMPROVE
IMPROVE
@ -346,8 +432,21 @@ type ContactInformation {
note : String
note : String
}
}
input ContactInformationInput {
input ContactInformationCreateInput {
id : ID
name : String
firstName : String
retiredAt : Date
phoneExtern : String
phone2Extern : String
phoneIntern : String
phone2Intern : String
emailExtern : String
emailIntern : String
note : String
}
input ContactInformationUpdateInput {
id : ID !
name : String
name : String
firstName : String
firstName : String
retiredAt : Date
retiredAt : Date
@ -382,13 +481,21 @@ type LendingStation {
loanPeriods : [ LoanPeriod ] !
loanPeriods : [ LoanPeriod ] !
}
}
input LendingStationInput {
input LendingStationCreateInput {
id : ID
name : String !
contactInformation : [ ContactInformationCreateInput ] !
address : AddressCreateInput !
loanTimes : LoanTimesInput
loanPeriods : [ LoanPeriodCreateInput ] !
}
input LendingStationUpdateInput {
id : ID !
name : String
name : String
contactInformation : [ ContactInformationInput ]
contactInformation : [ ContactInformation Update Input]
address : AddressInput
address : Address Update Input
loanTimes : LoanTimesInput
loanTimes : LoanTimesInput
loanPeriods : [ LoanPeriodInput ]
loanPeriods : [ LoanPeriod Update Input]
}
}
"" "
"" "
@ -426,17 +533,25 @@ type LoanPeriod {
from : Date !
from : Date !
to : Date
to : Date
note : String
note : String
lendingstation : LendingStation !
lendingStation : LendingStation !
cargobike : CargoBike !
cargoBike : CargoBike !
}
input LoanPeriodCreateInput {
from : Date
to : Date
note : String
lendingStationID : LendingStationCreateInput
cargoBikeID : CargoBikeCreateInput
}
}
input LoanPeriodInput {
input LoanPeriod Update Input {
id : ID
id : ID !
from : Date
from : Date
to : Date
to : Date
note : String
note : String
lendingstationID : Int !
lending Station: LendingStationUpdateInput
cargo bikeID: Int !
cargo Bike: CargoBikeUpdateInput
}
}
type Address {
type Address {
@ -445,17 +560,24 @@ type Address {
zip : String !
zip : String !
}
}
input Address Input {
input Address Create Input {
street : String !
street : String !
number : String !
number : String !
zip : String !
zip : String !
}
}
input AddressUpdateInput {
street : String
number : String
zip : String
}
type Query {
type Query {
cargobikeById ( id :ID ! ) : CargoBike
cargoBikeById ( id :ID ! ) : CargoBike
"!!!!"
"returns all cargoBikes"
cargobikes : [ CargoBike ] !
cargoBikes : [ CargoBike ] !
cargobikesByProvider ( providerId :ID ! ) : [ CargoBike ] !
"not important, you can just use providerById {cargoBikes}"
cargoBikesByProvider ( providerId :ID ! ) : [ CargoBike ] !
providerById ( id :ID ! ) : Provider
providerById ( id :ID ! ) : Provider
providers : [ Provider ] !
providers : [ Provider ] !
participantById ( id :ID ! ) : Participant
participantById ( id :ID ! ) : Participant
@ -468,10 +590,14 @@ type Query {
type Mutation {
type Mutation {
"for testing"
"for testing"
addBike ( id : ID ! , name : String ) : CargoBike !
addBike ( id : ID ! , name : String ) : CargoBike !
"if id: null, then new bike will be created, else old bike will be updated"
"creates new cargoBike and returns cargobike with new ID"
cargoBike ( cargoBike : CargoBikeInput ! ) : CargoBike !
createCargoBike ( cargoBike : CargoBikeCreateInput ! ) : CargoBike !
"if id: null, then new lending station will be created, else existing one will be updated"
"updates cargoBike of given ID with supplied fields and returns updated cargoBike"
lendingStation ( lendingStation : LendingStationInput ) : LendingStation !
updateCargoBike ( cargoBike : CargoBikeUpdateInput ! ) : CargoBike !
"creates new lendingStation and returns lendingStation with new ID"
createLendingStation ( lendingStation : LendingStationCreateInput ) : LendingStation !
"updates lendingStation of given ID with supplied fields and returns updated lendingStation"
updateLendingStation ( lendingstation : LendingStationUpdateInput ! ) : LendingStation !
}
}
` ;
` ;