From 49bc8bdcfcc1e14fe0b0fc000cca93131eed578b Mon Sep 17 00:00:00 2001 From: leonnicolas Date: Wed, 2 Dec 2020 10:22:01 +0100 Subject: [PATCH] src/schema/*: explicit time for loanPeriod instead of an array, all day of the week are listed and their type is string for simplicity incase of several time frames in a day. --- src/model/LendingStation.ts | 33 +++++++++++- src/resolvers/lendingStationResolvers.ts | 5 -- src/schema/type-defs.ts | 64 ++++++++++++------------ 3 files changed, 64 insertions(+), 38 deletions(-) diff --git a/src/model/LendingStation.ts b/src/model/LendingStation.ts index 34dc79a..9c266de 100644 --- a/src/model/LendingStation.ts +++ b/src/model/LendingStation.ts @@ -44,10 +44,39 @@ export class LoanPeriod { to: Date; @Column({ - type: 'simple-array', nullable: true }) - loanTimes: string[]; + mo: string; + + @Column({ + nullable: true + }) + tu: string; + + @Column({ + nullable: true + }) + we: string; + + @Column({ + nullable: true + }) + th: string; + + @Column({ + nullable: true + }) + fr: string; + + @Column({ + nullable: true + }) + sa: string; + + @Column({ + nullable: true + }) + su: string; } @Entity() diff --git a/src/resolvers/lendingStationResolvers.ts b/src/resolvers/lendingStationResolvers.ts index 91d25bb..2a615c3 100644 --- a/src/resolvers/lendingStationResolvers.ts +++ b/src/resolvers/lendingStationResolvers.ts @@ -99,11 +99,6 @@ export default { isLockedByMe: (parent: any, __: any, { req }: { req: any }) => isLockedByMe(parent, { req }), isLocked: (parent: any, __: any, { req }: { req: any }) => isLocked(parent, { req }) }, - LoanPeriod: { - loanTimes (parent: any) { - return parent.loanTimes ? parent.loanTimes : []; - } - }, DateRange: { from (parent: string) { return parent.replace(/^\[(.*),.*\)$/, '$1'); diff --git a/src/schema/type-defs.ts b/src/schema/type-defs.ts index 309f9df..cbb0e5b 100644 --- a/src/schema/type-defs.ts +++ b/src/schema/type-defs.ts @@ -21,8 +21,10 @@ import { gql } from 'apollo-server-express'; export default gql` - "timestamp object YYYY-MM-ddThh:mm:ss.sssZ" + "date object YYYY-MM-dd" scalar Date + "timestamp object YYYY-MM-ddThh:mm:ss.sssZ" + scalar DateTime "only time hh-mm-ss" scalar Time """ @@ -82,7 +84,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } """ @@ -429,7 +431,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input ParticipantCreateInput { @@ -482,7 +484,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input WorkshopCreateInput { @@ -512,7 +514,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input WorkshopTypeCreateInput { @@ -532,7 +534,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input EngagementTypeCreateInput { @@ -557,7 +559,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input EngagementCreateInput { @@ -609,7 +611,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input EquipmentCreateInput { @@ -641,7 +643,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input EquipmentTypeCreateInput { @@ -674,7 +676,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input BikeEventCreateInput { @@ -714,7 +716,7 @@ export default gql` isLocked: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input BikeEventTypeUpdateInput { @@ -734,7 +736,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } "(dt. Anbieter)" @@ -768,7 +770,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input PersonCreateInput { @@ -795,7 +797,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input ContactInformationCreateInput { @@ -835,7 +837,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input OrganisationCreateInput { @@ -879,7 +881,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } """ @@ -913,13 +915,13 @@ export default gql` """ type LoanPeriod { generalRemark: String - "notes for each day of the week, starting on Monday" - notes: [String] - """ - Loan times from and until for each day of the week. - Starting with Monday from, Monday to, Tuesday from, ..., Sunday to - """ - loanTimes: [String] + mo: String + tu: String + we: String + th: String + fr: String + sa: String + su: String } """ @@ -927,13 +929,13 @@ export default gql` """ input LoanPeriodInput { generalRemark: String - "notes for each day of the week, starting on Monday" - notes: [String!] - """ - Loan times from and until for each day of the week. - Starting with Monday from, Monday to, Tuesday from, ..., Sunday to - """ - loanTimes: [String!] + mo: String + tu: String + we: String + th: String + fr: String + sa: String + su: String } type DateRange{ @@ -963,7 +965,7 @@ export default gql` isLockedByMe: Boolean! "null if not locked by other user" lockedBy: ID - lockedUntil: Date + lockedUntil: DateTime } input TimeFrameCreateInput {