Skip to content

Commit 55d5e2c

Browse files
committed
Refactor questionnaire version DB model
1 parent 4d8cfa5 commit 55d5e2c

File tree

64 files changed

+593
-300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+593
-300
lines changed

registry-public/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,18 @@ library:
3333
default-extensions:
3434
- DataKinds
3535
- DeriveGeneric
36+
- DisambiguateRecordFields
3637
- DuplicateRecordFields
3738
- ExistentialQuantification
3839
- ExtendedDefaultRules
3940
- FlexibleContexts
4041
- FlexibleInstances
4142
- FunctionalDependencies
4243
- GeneralizedNewtypeDeriving
44+
- LambdaCase
4345
- MultiParamTypeClasses
4446
- OverloadedStrings
47+
- OverloadedRecordDot
4548
- QuasiQuotes
4649
- RankNTypes
4750
- RecordWildCards
@@ -52,5 +55,3 @@ default-extensions:
5255
- TypeOperators
5356
- TypeSynonymInstances
5457
- UnicodeSyntax
55-
- OverloadedRecordDot
56-
- DisambiguateRecordFields

registry-server/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,18 @@ tests:
140140
default-extensions:
141141
- DataKinds
142142
- DeriveGeneric
143+
- DisambiguateRecordFields
143144
- DuplicateRecordFields
144145
- ExistentialQuantification
145146
- ExtendedDefaultRules
146147
- FlexibleContexts
147148
- FlexibleInstances
148149
- FunctionalDependencies
149150
- GeneralizedNewtypeDeriving
151+
- LambdaCase
150152
- MultiParamTypeClasses
151153
- OverloadedStrings
154+
- OverloadedRecordDot
152155
- QuasiQuotes
153156
- RankNTypes
154157
- RecordWildCards
@@ -159,5 +162,3 @@ default-extensions:
159162
- TypeOperators
160163
- TypeSynonymInstances
161164
- UnicodeSyntax
162-
- OverloadedRecordDot
163-
- DisambiguateRecordFields

shared-common/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,18 @@ tests:
120120
default-extensions:
121121
- DataKinds
122122
- DeriveGeneric
123+
- DisambiguateRecordFields
123124
- DuplicateRecordFields
124125
- ExistentialQuantification
125126
- ExtendedDefaultRules
126127
- FlexibleContexts
127128
- FlexibleInstances
128129
- FunctionalDependencies
129130
- GeneralizedNewtypeDeriving
131+
- LambdaCase
130132
- MultiParamTypeClasses
131133
- OverloadedStrings
134+
- OverloadedRecordDot
132135
- QuasiQuotes
133136
- RankNTypes
134137
- RecordWildCards
@@ -139,5 +142,3 @@ default-extensions:
139142
- TypeOperators
140143
- TypeSynonymInstances
141144
- UnicodeSyntax
142-
- OverloadedRecordDot
143-
- DisambiguateRecordFields

shared-common/src/Shared/Common/Database/DAO/Common.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,8 +365,8 @@ createDeleteEntitiesByFn entityName queryParams = do
365365
let action conn = execute conn sql params
366366
runDB action
367367

368-
createDeleteEntityLikeFn :: AppContextC s sc m => String -> String -> [String] -> m Int64
369-
createDeleteEntityLikeFn entityName key params = do
368+
createDeleteEntityWhereInFn :: AppContextC s sc m => String -> String -> [String] -> m Int64
369+
createDeleteEntityWhereInFn entityName key params = do
370370
let sql = fromString $ f' "DELETE FROM %s WHERE %s IN (%s)" [entityName, key, generateQuestionMarks params]
371371
logQuery sql params
372372
let action conn = execute conn sql params

shared-common/src/Shared/Common/Util/List.hs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,20 @@ takeWhileInclusive p (x : xs) =
5555
then takeWhileInclusive p xs
5656
else []
5757

58+
dropWhileInclusive :: (a -> Bool) -> [a] -> [a]
59+
dropWhileInclusive _ [] = []
60+
dropWhileInclusive p (x : xs) =
61+
if p x
62+
then dropWhileInclusive p xs
63+
else x : xs
64+
65+
dropWhileExclusive :: (a -> Bool) -> [a] -> [a]
66+
dropWhileExclusive _ [] = []
67+
dropWhileExclusive p (x : xs) =
68+
if p x
69+
then dropWhileExclusive p xs
70+
else xs
71+
5872
generateList :: Int -> [Int]
5973
generateList size = [0 .. (size - 1)]
6074

shared-common/src/Shared/PersistentCommand/Database/DAO/PersistentCommand/PersistentCommandDAO.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ deletePersistentCommands :: AppContextC s sc m => m Int64
9696
deletePersistentCommands = createDeleteEntitiesFn entityName
9797

9898
deletePersistentCommandsByCreatedBy :: AppContextC s sc m => [U.UUID] -> m Int64
99-
deletePersistentCommandsByCreatedBy createdBys = createDeleteEntityLikeFn entityName "created_by" (fmap U.toString createdBys)
99+
deletePersistentCommandsByCreatedBy createdBys = createDeleteEntityWhereInFn entityName "created_by" (fmap U.toString createdBys)
100100

101101
deletePersistentCommandByUuid :: AppContextC s sc m => U.UUID -> m Int64
102102
deletePersistentCommandByUuid uuid = createDeleteEntityByFn entityName [("uuid", U.toString uuid)]

shared-common/test/Shared/Specs/Common/Util/ListSpec.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ listSpec =
2323
it "[1,2] -> [1,2]" $ [1, 2] `elems` [1, 2] `shouldBe` True
2424
it "[2,1] -> [1,2]" $ [2, 1] `elems` [1, 2] `shouldBe` True
2525
it "[1,2] -> [1]" $ [1, 2] `elems` [1] `shouldBe` False
26+
describe "dropWhileInclusive" $ do
27+
it "(<= 3) [] -> []" $ dropWhileInclusive (<= 3) [] `shouldBe` []
28+
it "(<= 3) [1,2,3,4,5,6] -> [4,5,6]" $ dropWhileInclusive (<= 3) [1, 2, 3, 4, 5, 6] `shouldBe` [4, 5, 6]
29+
it "(/= 3) [1,2,3,4,5,6] -> [3,4,5,6]" $ dropWhileInclusive (/= 3) [1, 2, 3, 4, 5, 6] `shouldBe` [3, 4, 5, 6]
30+
describe "dropWhileExclusive" $ do
31+
it "(<= 3) [] -> []" $ dropWhileExclusive (<= 3) [] `shouldBe` []
32+
it "(<= 3) [1,2,3,4,5,6] -> [5,6]" $ dropWhileExclusive (<= 3) [1, 2, 3, 4, 5, 6] `shouldBe` [5, 6]
33+
it "(/= 3) [1,2,3,4,5,6] -> [4,5,6]" $ dropWhileExclusive (/= 3) [1, 2, 3, 4, 5, 6] `shouldBe` [4, 5, 6]
2634
describe "generateList" $ do
2735
it "0 -> []" $ generateList 0 `shouldBe` []
2836
it "1 -> [0]" $ generateList 1 `shouldBe` [0]

wizard-common/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,18 @@ tests:
100100
default-extensions:
101101
- DataKinds
102102
- DeriveGeneric
103+
- DisambiguateRecordFields
103104
- DuplicateRecordFields
104105
- ExistentialQuantification
105106
- ExtendedDefaultRules
106107
- FlexibleContexts
107108
- FlexibleInstances
108109
- FunctionalDependencies
109110
- GeneralizedNewtypeDeriving
111+
- LambdaCase
110112
- MultiParamTypeClasses
111113
- OverloadedStrings
114+
- OverloadedRecordDot
112115
- QuasiQuotes
113116
- RankNTypes
114117
- RecordWildCards
@@ -119,5 +122,3 @@ default-extensions:
119122
- TypeOperators
120123
- TypeSynonymInstances
121124
- UnicodeSyntax
122-
- OverloadedRecordDot
123-
- DisambiguateRecordFields

wizard-public/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,18 @@ library:
4040
default-extensions:
4141
- DataKinds
4242
- DeriveGeneric
43+
- DisambiguateRecordFields
4344
- DuplicateRecordFields
4445
- ExistentialQuantification
4546
- ExtendedDefaultRules
4647
- FlexibleContexts
4748
- FlexibleInstances
4849
- FunctionalDependencies
4950
- GeneralizedNewtypeDeriving
51+
- LambdaCase
5052
- MultiParamTypeClasses
5153
- OverloadedStrings
54+
- OverloadedRecordDot
5255
- QuasiQuotes
5356
- RankNTypes
5457
- RecordWildCards
@@ -59,5 +62,3 @@ default-extensions:
5962
- TypeOperators
6063
- TypeSynonymInstances
6164
- UnicodeSyntax
62-
- OverloadedRecordDot
63-
- DisambiguateRecordFields

wizard-server/package.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,18 @@ tests:
164164
default-extensions:
165165
- DataKinds
166166
- DeriveGeneric
167+
- DisambiguateRecordFields
167168
- DuplicateRecordFields
168169
- ExistentialQuantification
169170
- ExtendedDefaultRules
170171
- FlexibleContexts
171172
- FlexibleInstances
172173
- FunctionalDependencies
173174
- GeneralizedNewtypeDeriving
175+
- LambdaCase
174176
- MultiParamTypeClasses
175177
- OverloadedStrings
178+
- OverloadedRecordDot
176179
- QuasiQuotes
177180
- RankNTypes
178181
- RecordWildCards
@@ -183,5 +186,3 @@ default-extensions:
183186
- TypeOperators
184187
- TypeSynonymInstances
185188
- UnicodeSyntax
186-
- OverloadedRecordDot
187-
- DisambiguateRecordFields

0 commit comments

Comments
 (0)