Merge pull request #17 from fLotte-meets-HWR-DB/develop

Fix field names, comments and nullables
pull/20/head
leonnicolas 4 years ago committed by GitHub
commit 448ab2ba28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -45,7 +45,7 @@ export default {
return new GraphQLError('Insufficient Permissions'); return new GraphQLError('Insufficient Permissions');
} }
}, },
timeframes: (_: any, { offset, limit }: { offset: number, limit: number }, { dataSources, req }: { dataSources: any, req: any }) => { timeFrames: (_: any, { offset, limit }: { offset: number, limit: number }, { dataSources, req }: { dataSources: any, req: any }) => {
if (req.permissions.includes(Permission.ReadTimeFrame)) { if (req.permissions.includes(Permission.ReadTimeFrame)) {
return dataSources.lendingStationAPI.timeFrames(offset, limit); return dataSources.lendingStationAPI.timeFrames(offset, limit);
} else { } else {

@ -21,21 +21,20 @@ import { gql } from 'apollo-server-express';
export default gql` export default gql`
"timestamp object YYYY-MM-ddThh:mm:ss.sssZ" "timestamp object YYYY-MM-ddThh:mm:ss.sssZ"
scalar Date scalar Date
"only time hh-mm-ss" "only time hh-mm-ss"
scalar Time scalar Time
""" """
is of american format [-]$[0-9]+.[0-9][0-9] is of american format [-]$[0-9]+.[0-9][0-9]
commas every three digits and . for decimals with 2 digits after the . commas every three digits and . for decimals with 2 digits after the .
There can be a leading -. There can be a leading -.
There is a currency signe at the first position or second position if - is set. There is a currency signe at the first position or second position if - is set.
The kind of currency depends on the database. The kind of currency depends on the database.
""" """
scalar Money scalar Money
"The CargoBike type is central to the graph. You could call it the root."
"The CargoBike type is central to the graph. You could call it the root." type CargoBike {
type CargoBike {
id: ID! id: ID!
"see column A in info tabelle" "see column A in info tabelle"
group: Group group: Group
@ -79,12 +78,12 @@ type CargoBike {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
""" """
if you want to add bike to a lending station, create a new timeFrame with to: Date = null if you want to add bike to a lending station, create a new timeFrame with to: Date = null
""" """
input CargoBikeCreateInput { input CargoBikeCreateInput {
"see column A in info tabelle" "see column A in info tabelle"
group: Group! group: Group!
name: String! name: String!
@ -114,12 +113,12 @@ input CargoBikeCreateInput {
providerId: ID providerId: ID
insuranceData: InsuranceDataCreateInput! insuranceData: InsuranceDataCreateInput!
taxes: TaxesCreateInput! taxes: TaxesCreateInput!
} }
""" """
if you want to add bike to a lending station, create a new timeFrame with to: Date = null if you want to add bike to a lending station, create a new timeFrame with to: Date = null
""" """
input CargoBikeUpdateInput { input CargoBikeUpdateInput {
id: ID! id: ID!
"see column A in info tabelle" "see column A in info tabelle"
group: Group group: Group
@ -155,9 +154,9 @@ input CargoBikeUpdateInput {
taxes: TaxesUpdateInput taxes: TaxesUpdateInput
"will keep Bike locked if set to true, default = false" "will keep Bike locked if set to true, default = false"
keepLock: Boolean keepLock: Boolean
} }
type InsuranceData { type InsuranceData {
""" """
Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies. Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies.
""" """
@ -181,9 +180,9 @@ type InsuranceData {
""" """
projectAllowance: Money projectAllowance: Money
notes: String notes: String
} }
input InsuranceDataCreateInput { input InsuranceDataCreateInput {
""" """
Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies. Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies.
""" """
@ -207,9 +206,9 @@ input InsuranceDataCreateInput {
""" """
projectAllowance: Money projectAllowance: Money
notes: String notes: String
} }
input InsuranceDataUpdateInput { input InsuranceDataUpdateInput {
""" """
Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies. Eventually, this field will become an enum or a separate data table and user can choose from a pool of insurance companies.
""" """
@ -233,10 +232,10 @@ input InsuranceDataUpdateInput {
""" """
projectAllowance: Money projectAllowance: Money
notes: String notes: String
} }
"How are the dimensions and how much weight can handle a bike. This data is merged in the CargoBike table and the BikeModel table." "How are the dimensions and how much weight can handle a bike. This data is merged in the CargoBike table and the BikeModel table."
type DimensionsAndLoad { type DimensionsAndLoad {
hasCoverBox: Boolean! hasCoverBox: Boolean!
"cover box can be locked" "cover box can be locked"
lockable: Boolean! lockable: Boolean!
@ -250,9 +249,9 @@ type DimensionsAndLoad {
bikeWidth: Float bikeWidth: Float
bikeHeight: Float bikeHeight: Float
bikeWeight: Float bikeWeight: Float
} }
input DimensionsAndLoadCreateInput { input DimensionsAndLoadCreateInput {
hasCoverBox: Boolean! hasCoverBox: Boolean!
lockable: Boolean! lockable: Boolean!
boxLength: Float! boxLength: Float!
@ -265,9 +264,9 @@ input DimensionsAndLoadCreateInput {
bikeWidth: Float bikeWidth: Float
bikeHeight: Float bikeHeight: Float
bikeWeight: Float bikeWeight: Float
} }
input DimensionsAndLoadUpdateInput { input DimensionsAndLoadUpdateInput {
hasCoverBox: Boolean hasCoverBox: Boolean
lockable: Boolean lockable: Boolean
boxLength: Float boxLength: Float
@ -280,73 +279,73 @@ input DimensionsAndLoadUpdateInput {
bikeWidth: Float bikeWidth: Float
bikeHeight: Float bikeHeight: Float
bikeWeight: 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.
So no id needed for mutation. One Mutation for the CargoBike will be enough. So no id needed for mutation. One Mutation for the CargoBike will be enough.
""" """
type TechnicalEquipment { type TechnicalEquipment {
bicycleShift: String! bicycleShift: String!
isEBike: Boolean! isEBike: Boolean!
hasLightSystem: Boolean! hasLightSystem: Boolean!
specialFeatures: String specialFeatures: String
} }
input TechnicalEquipmentCreateInput { input TechnicalEquipmentCreateInput {
bicycleShift: String! bicycleShift: String!
isEBike: Boolean! isEBike: Boolean!
hasLightSystem: Boolean! hasLightSystem: Boolean!
specialFeatures: String specialFeatures: String
} }
input TechnicalEquipmentUpdateInput { input TechnicalEquipmentUpdateInput {
bicycleShift: String bicycleShift: String
isEBike: Boolean isEBike: Boolean
hasLightSystem: Boolean hasLightSystem: Boolean
specialFeatures: String 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.
So no id needed for mutation. One Mutation for the CargoBike will be enough. So no id needed for mutation. One Mutation for the CargoBike will be enough.
""" """
type Security { type Security {
frameNumber: String! frameNumber: String!
keyNumberFrameLock: String keyNumberFrameLock: String
keyNumberAXAChain: String keyNumberAXAChain: String
policeCoding: String policeCoding: String
adfcCoding: String adfcCoding: String
} }
input SecurityCreateInput { input SecurityCreateInput {
frameNumber: String! frameNumber: String!
keyNumberFrameLock: String keyNumberFrameLock: String
keyNumberAXAChain: String keyNumberAXAChain: String
policeCoding: String policeCoding: String
adfcCoding: String adfcCoding: String
} }
input SecurityUpdateInput { input SecurityUpdateInput {
frameNumber: String frameNumber: String
keyNumberFrameLock: String keyNumberFrameLock: String
keyNumberAXAChain: String keyNumberAXAChain: String
policeCoding: String policeCoding: String
adfcCoding: String adfcCoding: String
} }
enum StickerBikeNameState { enum StickerBikeNameState {
OK OK
IMPROVE IMPROVE
PRODUCED PRODUCED
NONEED NONEED
MISSING MISSING
UNKNOWN UNKNOWN
} }
enum Group{ enum Group{
KL KL
LI LI
SP SP
@ -355,9 +354,12 @@ enum Group{
SZ SZ
TS TS
TK TK
} }
type Participant { """
A participant in the organization
"""
type Participant {
id: ID! id: ID!
start: Date! start: Date!
end: Date end: Date
@ -381,9 +383,9 @@ type Participant {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input ParticipantCreateInput { input ParticipantCreateInput {
"if not set, CURRENT_DATE will be used" "if not set, CURRENT_DATE will be used"
start: Date start: Date
end: Date end: Date
@ -397,9 +399,9 @@ input ParticipantCreateInput {
"default: false" "default: false"
memberCoreTeam: Boolean memberCoreTeam: Boolean
workshopIds: [ID] workshopIds: [ID]
} }
input ParticipantUpdateInput { input ParticipantUpdateInput {
id: ID! id: ID!
"if not set, CURRENT_DATE will be used" "if not set, CURRENT_DATE will be used"
start: Date start: Date
@ -415,9 +417,12 @@ input ParticipantUpdateInput {
memberCoreTeam: Boolean memberCoreTeam: Boolean
workshopIds: [ID] workshopIds: [ID]
keepLock: Boolean keepLock: Boolean
} }
type Workshop { """
A workshop event
"""
type Workshop {
id: ID! id: ID!
title: String! title: String!
description: String! description: String!
@ -431,18 +436,18 @@ type Workshop {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input WorkshopCreateInput { input WorkshopCreateInput {
title: String! title: String!
description: String description: String
date: Date! date: Date!
workshopTypeId: ID! workshopTypeId: ID!
trainer1Id: ID! trainer1Id: ID!
trainer2Id: ID trainer2Id: ID
} }
input WorkshopUpdateInput { input WorkshopUpdateInput {
id: ID! id: ID!
title: String title: String
description: String description: String
@ -451,9 +456,9 @@ input WorkshopUpdateInput {
trainer1Id: ID trainer1Id: ID
trainer2Id: ID trainer2Id: ID
keepLock: Boolean keepLock: Boolean
} }
type WorkshopType { type WorkshopType {
id: ID! id: ID!
name: String! name: String!
isLocked: Boolean! isLocked: Boolean!
@ -461,18 +466,18 @@ type WorkshopType {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input WorkshopTypeCreateInput { input WorkshopTypeCreateInput {
name: String! name: String!
} }
input WorkshopTypeUpdateInput { input WorkshopTypeUpdateInput {
id: ID! id: ID!
name: String name: String
} }
type EngagementType { type EngagementType {
id: ID! id: ID!
name: String! name: String!
description: String! description: String!
@ -481,21 +486,21 @@ type EngagementType {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input EngagementTypeCreateInput { input EngagementTypeCreateInput {
name: String! name: String!
description: String description: String
} }
input EngagementTypeUpdateInput { input EngagementTypeUpdateInput {
id: ID! id: ID!
name: String name: String
description: String description: String
keepLock: Boolean keepLock: Boolean
} }
type Engagement { type Engagement {
id: ID! id: ID!
engagementType: EngagementType! engagementType: EngagementType!
from: Date! from: Date!
@ -507,9 +512,9 @@ type Engagement {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input EngagementCreateInput { input EngagementCreateInput {
engagementTypeId: ID! engagementTypeId: ID!
"will use CURRENT_DATE if not set" "will use CURRENT_DATE if not set"
from: Date from: Date
@ -517,8 +522,8 @@ input EngagementCreateInput {
to: Date to: Date
participantId: ID! participantId: ID!
cargoBikeId: ID! cargoBikeId: ID!
} }
input EngagementUpdateInput { input EngagementUpdateInput {
id: ID! id: ID!
engagementTypeId: ID engagementTypeId: ID
from: Date from: Date
@ -526,33 +531,33 @@ input EngagementUpdateInput {
participantId: ID participantId: ID
cargoBikeId: ID cargoBikeId: ID
keepLock: Boolean keepLock: Boolean
} }
type Taxes { type Taxes {
costCenter: String! costCenter: String!
organisationArea: OrganisationArea organisationArea: OrganisationArea
} }
input TaxesCreateInput { input TaxesCreateInput {
costCenter: String! costCenter: String!
organisationArea: OrganisationArea organisationArea: OrganisationArea
} }
input TaxesUpdateInput { input TaxesUpdateInput {
costCenter: String costCenter: String
organisationArea: OrganisationArea organisationArea: OrganisationArea
} }
enum OrganisationArea { enum OrganisationArea {
IB IB
ZB ZB
} }
""" """
This type represents a piece of equipment that represents a real physical object. This type represents a piece of equipment that represents a real physical object.
The object must be unique. So it is possible to tell it apart from similar objects by a serial number. The object must be unique. So it is possible to tell it apart from similar objects by a serial number.
""" """
type Equipment { type Equipment {
id: ID! id: ID!
serialNo: String! serialNo: String!
title: String! title: String!
@ -563,16 +568,16 @@ type Equipment {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input EquipmentCreateInput { input EquipmentCreateInput {
serialNo: String! serialNo: String!
title: String! title: String!
description: String description: String
cargoBikeId: ID cargoBikeId: ID
} }
input EquipmentUpdateInput { input EquipmentUpdateInput {
id: ID! id: ID!
serialNo: String serialNo: String
title: String title: String
@ -580,9 +585,13 @@ input EquipmentUpdateInput {
cargoBikeId: ID cargoBikeId: ID
"will keep Bike locked if set to true, default = false" "will keep Bike locked if set to true, default = false"
keepLock: Boolean keepLock: Boolean
} }
type EquipmentType { """
A type of equipment that is not being tracked but can be assigned
to any bike.
"""
type EquipmentType {
id: ID! id: ID!
name: String! name: String!
description: String! description: String!
@ -591,22 +600,22 @@ type EquipmentType {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input EquipmentTypeCreateInput { input EquipmentTypeCreateInput {
name: String name: String
description: String description: String
} }
input EquipmentTypeUpdateInput { input EquipmentTypeUpdateInput {
id: ID! id: ID!
name: String name: String
description: String description: String
keepLock: Boolean keepLock: Boolean
} }
"An Event is a point in time, when the state of the bike somehow changed." "An Event is a point in time, when the state of the bike somehow changed."
type BikeEvent { type BikeEvent {
id: ID! id: ID!
bikeEventType: BikeEventType! bikeEventType: BikeEventType!
cargoBike: CargoBike! cargoBike: CargoBike!
@ -617,16 +626,16 @@ type BikeEvent {
""" """
Path to documents Path to documents
""" """
documents: [String]! documents: [String!]!
remark: String remark: String
isLocked: Boolean! isLocked: Boolean!
isLockedByMe: Boolean! isLockedByMe: Boolean!
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input BikeEventCreateInput { input BikeEventCreateInput {
bikeEventTypeId: ID! bikeEventTypeId: ID!
cargoBikeId: ID! cargoBikeId: ID!
responsibleId: ID responsibleId: ID
@ -638,9 +647,9 @@ input BikeEventCreateInput {
""" """
documents: [String] documents: [String]
remark: String remark: String
} }
input BikeEventUpdateInput { input BikeEventUpdateInput {
id: ID! id: ID!
bikeEventTypeId: ID bikeEventTypeId: ID
cargoBikeId: ID cargoBikeId: ID
@ -654,45 +663,45 @@ input BikeEventUpdateInput {
documents: [String] documents: [String]
remark: String remark: String
keepLock: Boolean keepLock: Boolean
} }
type BikeEventType { type BikeEventType {
id: ID! id: ID!
name: String! name: String!
isLockedByMe: Boolean! isLockedByMe: Boolean!
isLocked: Boolean! isLocked: Boolean!
lockedUntil: Date lockedUntil: Date
} }
input BikeEventTypeUpdateInput { input BikeEventTypeUpdateInput {
id: ID! id: ID!
name: String name: String
keepLock: Boolean keepLock: Boolean
} }
"(dt. Anbieter) bezieht sich auf die Beziehung einer Person oder Organisation zum Lastenrad" "(dt. Anbieter) bezieht sich auf die Beziehung einer Person oder Organisation zum Lastenrad"
type Provider { type Provider {
id: ID! id: ID!
formName: String formName: String
privatePerson: ContactInformation privatePerson: ContactInformation
organisation: Organisation organisation: Organisation
cargoBikes: [CargoBike] cargoBikes: [CargoBike!]
isLocked: Boolean! isLocked: Boolean!
isLockedByMe: Boolean! isLockedByMe: Boolean!
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
"(dt. Anbieter)" "(dt. Anbieter)"
input ProviderCreateInput { input ProviderCreateInput {
formName: String! formName: String!
privatePersonId: ID privatePersonId: ID
organisationId: ID organisationId: ID
cargoBikeIds: [ID] cargoBikeIds: [ID!]
} }
input ProviderUpdateInput { input ProviderUpdateInput {
id: ID! id: ID!
formName: String formName: String
privatePersonId: ID privatePersonId: ID
@ -700,37 +709,37 @@ input ProviderUpdateInput {
"cargoBikes are added, you can not take existing relations away. use update cargoBike or add bike to another provider instead" "cargoBikes are added, you can not take existing relations away. use update cargoBike or add bike to another provider instead"
cargoBikeIds: [ID] cargoBikeIds: [ID]
keepLock: Boolean keepLock: Boolean
} }
""" """
A Person can have several instances of contact information. A Person can have several instances of contact information.
The reason for this is, that some people have info for interns and externals that are different. The reason for this is, that some people have info for interns and externals that are different.
""" """
type Person { type Person {
id: ID! id: ID!
name: String! name: String!
firstName: String! firstName: String!
contactInformation: [ContactInformation] contactInformation: [ContactInformation!]
isLocked: Boolean! isLocked: Boolean!
isLockedByMe: Boolean! isLockedByMe: Boolean!
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input PersonCreateInput { input PersonCreateInput {
name: String! name: String!
firstName: String! firstName: String!
} }
input PersonUpdateInput { input PersonUpdateInput {
id: ID! id: ID!
name: String name: String
firstName: String firstName: String
keepLock: Boolean keepLock: Boolean
} }
type ContactInformation { type ContactInformation {
id: ID! id: ID!
person: Person! person: Person!
phone: String phone: String
@ -743,18 +752,18 @@ type ContactInformation {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input ContactInformationCreateInput { input ContactInformationCreateInput {
personId: ID! personId: ID!
phone: String phone: String
phone2: String phone2: String
email: String email: String
email2: String email2: String
note: String note: String
} }
input ContactInformationUpdateInput { input ContactInformationUpdateInput {
id: ID! id: ID!
personId: ID personId: ID
phone: String phone: String
@ -763,14 +772,14 @@ input ContactInformationUpdateInput {
email2: String email2: String
note: String note: String
keepLock: Boolean keepLock: Boolean
} }
type Organisation { type Organisation {
id: ID! id: ID!
name: String! name: String!
address: Address address: Address
"(dt. Ausleihstation)" "(dt. Ausleihstation)"
lendingStations: [LendingStation] lendingStations: [LendingStation!]
"registration number of association" "registration number of association"
associationNo: String associationNo: String
"If Club, at what court registered" "If Club, at what court registered"
@ -783,9 +792,9 @@ type Organisation {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input OrganisationCreateInput { input OrganisationCreateInput {
address: AddressCreateInput! address: AddressCreateInput!
name: String! name: String!
"registration number of association" "registration number of association"
@ -794,9 +803,9 @@ input OrganisationCreateInput {
registeredAt: String registeredAt: String
contactInformationId: ID contactInformationId: ID
otherData: String otherData: String
} }
input OrganisationUpdateInput { input OrganisationUpdateInput {
id: ID! id: ID!
address: AddressCreateInput address: AddressCreateInput
name: String name: String
@ -807,18 +816,18 @@ input OrganisationUpdateInput {
contactInformationId: ID contactInformationId: ID
otherData: String otherData: String
keepLock: Boolean keepLock: Boolean
} }
"(dt. Standort)" "(dt. Standort)"
type LendingStation { type LendingStation {
id: ID! id: ID!
name: String! name: String!
contactInformationIntern: ContactInformation contactInformationIntern: ContactInformation
contactInformationExtern: ContactInformation contactInformationExtern: ContactInformation
address: Address! address: Address!
timeFrames: [TimeFrame]! timeFrames: [TimeFrame!]!
loanPeriod: LoanPeriod loanPeriod: LoanPeriod
cargoBikes: [CargoBike] cargoBikes: [CargoBike!]
"Total amount of cargoBikes currently assigned to the lending station" "Total amount of cargoBikes currently assigned to the lending station"
numCargoBikes: Int! numCargoBikes: Int!
organisation: Organisation organisation: Organisation
@ -827,24 +836,24 @@ type LendingStation {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
""" """
If you want to create LendingStation with cargoBikes, use createTimeFrame and set to: Date = null If you want to create LendingStation with cargoBikes, use createTimeFrame and set to: Date = null
""" """
input LendingStationCreateInput { input LendingStationCreateInput {
name: String! name: String!
contactInformationInternId: ID contactInformationInternId: ID
contactInformationExternId: ID contactInformationExternId: ID
address: AddressCreateInput! address: AddressCreateInput!
loanPeriod: LoanPeriodInput loanPeriod: LoanPeriodInput
organisationId: ID organisationId: ID
} }
""" """
If you want to create LendingStation with cargoBikes, use createTimeFrame and set to: Date = null If you want to create LendingStation with cargoBikes, use createTimeFrame and set to: Date = null
""" """
input LendingStationUpdateInput { input LendingStationUpdateInput {
id: ID! id: ID!
name: String name: String
contactInformationInternId: ID contactInformationInternId: ID
@ -853,12 +862,12 @@ input LendingStationUpdateInput {
loanPeriod: LoanPeriodInput loanPeriod: LoanPeriodInput
organisationId: ID organisationId: ID
keepLock: Boolean keepLock: Boolean
} }
""" """
(dt. Ausleihzeiten) not implemented (dt. Ausleihzeiten) not implemented
""" """
type LoanPeriod { type LoanPeriod {
generalRemark: String generalRemark: String
"notes for each day of the week, starting on Monday" "notes for each day of the week, starting on Monday"
notes: [String] notes: [String]
@ -867,24 +876,24 @@ type LoanPeriod {
Starting with Monday from, Monday to, Tuesday from, ..., Sunday to Starting with Monday from, Monday to, Tuesday from, ..., Sunday to
""" """
loanTimes: [String] loanTimes: [String]
} }
""" """
(dt. Ausleihzeiten) (dt. Ausleihzeiten)
""" """
input LoanPeriodInput { input LoanPeriodInput {
generalRemark: String generalRemark: String
"notes for each day of the week, starting on Monday" "notes for each day of the week, starting on Monday"
notes: [String] notes: [String!]
""" """
Loan times from and until for each day of the week. Loan times from and until for each day of the week.
Starting with Monday from, Monday to, Tuesday from, ..., Sunday to Starting with Monday from, Monday to, Tuesday from, ..., Sunday to
""" """
loanTimes: [String] loanTimes: [String!]
} }
"(dt. Zeitscheibe) When was a bike where" "(dt. Zeitscheibe) When was a bike where"
type TimeFrame { type TimeFrame {
id: ID! id: ID!
"format YYYY-MM-dd" "format YYYY-MM-dd"
from: Date! from: Date!
@ -898,17 +907,17 @@ type TimeFrame {
"null if not locked by other user" "null if not locked by other user"
lockedBy: ID lockedBy: ID
lockedUntil: Date lockedUntil: Date
} }
input TimeFrameCreateInput { input TimeFrameCreateInput {
from: Date! from: Date!
to: Date to: Date
note: String note: String
lendingStationId: ID! lendingStationId: ID!
cargoBikeId: ID! cargoBikeId: ID!
} }
input TimeFrameUpdateInput { input TimeFrameUpdateInput {
id: ID! id: ID!
from: Date from: Date
to: Date to: Date
@ -916,27 +925,27 @@ input TimeFrameUpdateInput {
lendingStationId: ID lendingStationId: ID
cargoBikeId: ID cargoBikeId: ID
keepLock: Boolean keepLock: Boolean
} }
type Address { type Address {
street: String! street: String!
number: String! number: String!
zip: String! zip: String!
} }
input AddressCreateInput { input AddressCreateInput {
street: String! street: String!
number: String! number: String!
zip: String! zip: String!
} }
input AddressUpdateInput { input AddressUpdateInput {
street: String street: String
number: String number: String
zip: String zip: String
} }
type ActionLog { type ActionLog {
id: ID! id: ID!
userId: ID! userId: ID!
date: Date! date: Date!
@ -946,56 +955,56 @@ type ActionLog {
entriesOld: String! entriesOld: String!
"in json format" "in json format"
entriesNew: String! entriesNew: String!
} }
type Query { type Query {
"Will (eventually) return all properties of cargo bike" "Will (eventually) return all properties of cargo bike"
cargoBikeById(id:ID!): CargoBike cargoBikeById(id:ID!): CargoBike
"returns cargoBikes ordered by name ascending, relations are not loaded, use cargoBikeById instead" "returns cargoBikes ordered by name ascending, relations are not loaded, use cargoBikeById instead"
cargoBikes(offset: Int!, limit: Int!): [CargoBike]! cargoBikes(offset: Int!, limit: Int!): [CargoBike!]!
engagementById(id: ID!): Engagement engagementById(id: ID!): Engagement
engagements(offset: Int!, limit: Int!): [Engagement]! engagements(offset: Int!, limit: Int!): [Engagement!]!
engagementTypeById(id: ID!): EngagementType engagementTypeById(id: ID!): EngagementType
engagementTypes(offset: Int!, limit: Int!): [EngagementType]! engagementTypes(offset: Int!, limit: Int!): [EngagementType!]!
"equipment by id, will return null if id not found" "equipment by id, will return null if id not found"
equipmentById(id: ID!): Equipment equipmentById(id: ID!): Equipment
equipment(offset: Int!, limit: Int!): [Equipment]! equipment(offset: Int!, limit: Int!): [Equipment!]!
equipmentTypeById(id: ID!): EquipmentType equipmentTypeById(id: ID!): EquipmentType
equipmentTypes(offset: Int!, limit: Int!): [EquipmentType]! equipmentTypes(offset: Int!, limit: Int!): [EquipmentType!]!
"return null if id not found" "return null if id not found"
providerById(id:ID!): Provider providerById(id:ID!): Provider
"unique equipment with pagination, contains relation to bike (with no further joins), so if you wanna know more about the bike, use cargoBikeById" "Returns providers with pagination"
providers(offset: Int!, limit: Int!): [Provider]! providers(offset: Int!, limit: Int!): [Provider!]!
"participant by id" "participant by id"
participantById(id:ID!): Participant participantById(id:ID!): Participant
participants(offset: Int!, limit: Int!): [ Participant]! participants(offset: Int!, limit: Int!): [Participant!]!
workshopTypeById(id: ID!): WorkshopType workshopTypeById(id: ID!): WorkshopType
workshopTypes(offset: Int!, limit: Int!): [WorkshopType]! workshopTypes(offset: Int!, limit: Int!): [WorkshopType!]!
workshopById(id: ID!): Workshop workshopById(id: ID!): Workshop
workshops(offset: Int!, limit: Int!): [Workshop]! workshops(offset: Int!, limit: Int!): [Workshop!]!
lendingStationById(id:ID!): LendingStation lendingStationById(id:ID!): LendingStation
lendingStations(offset: Int!, limit: Int!): [LendingStation]! lendingStations(offset: Int!, limit: Int!): [LendingStation!]!
organisationById(id: ID!): Organisation organisationById(id: ID!): Organisation
organisations(offset: Int!, limit: Int!): [Organisation]! organisations(offset: Int!, limit: Int!): [Organisation!]!
timeFrameById(id: ID!): TimeFrame timeFrameById(id: ID!): TimeFrame
timeframes(offset: Int!, limit: Int!): [TimeFrame]! timeFrames(offset: Int!, limit: Int!): [TimeFrame!]!
contactInformationById(id: ID!): ContactInformation contactInformationById(id: ID!): ContactInformation
contactInformation(offset: Int!, limit: Int!): [ContactInformation]! contactInformation(offset: Int!, limit: Int!): [ContactInformation!]!
personById(id: ID!): Person personById(id: ID!): Person
persons(offset: Int!, limit: Int!): [Person] persons(offset: Int!, limit: Int!): [Person!]
bikeEventTypes(offset: Int!, limit: Int!): [BikeEventType] bikeEventTypes(offset: Int!, limit: Int!): [BikeEventType!]
bikeEventTypeByd(id: ID!): BikeEventType bikeEventTypeByd(id: ID!): BikeEventType
bikeEvents(offset: Int!, limit: Int!): [BikeEvent]! bikeEvents(offset: Int!, limit: Int!): [BikeEvent!]!
bikeEventById(id:ID!): BikeEvent bikeEventById(id:ID!): BikeEvent
"actionLog for current user" "actionLog for current user"
actionLog: [ActionLog] actionLog: [ActionLog!]
"actionLog for specific user" "actionLog for specific user"
actionLogByUser(id: ID!): [ActionLog] actionLogByUser(id: ID!): [ActionLog!]
"actionLog form all users" "actionLog form all users"
actionLogAll: [ActionLog] actionLogAll: [ActionLog!]
} }
type Mutation { type Mutation {
""" """
CARGO BIKE CARGO BIKE
creates new cargoBike and returns cargobike with new ID creates new cargoBike and returns cargobike with new ID
@ -1105,6 +1114,6 @@ type Mutation {
unlockOrganisation(id: ID!): Boolean! unlockOrganisation(id: ID!): Boolean!
updateOrganisation(organisation: OrganisationUpdateInput!): Organisation! updateOrganisation(organisation: OrganisationUpdateInput!): Organisation!
deleteOrganisation(id: ID!): Boolean! deleteOrganisation(id: ID!): Boolean!
} }
`; `;

Loading…
Cancel
Save