decidim-bulletin_board 0.6.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,15 +8,7 @@ module Decidim
8
8
  class Command
9
9
  include Wisper::Publisher
10
10
 
11
- delegate :authority_slug, :private_key, to: :class
12
-
13
- def unique_election_id(election_id)
14
- Decidim::BulletinBoard::MessageIdentifier.unique_election_id(authority_slug, election_id)
15
- end
16
-
17
- def message_id(unique_election_id, type_subtype, voter_id = nil)
18
- Decidim::BulletinBoard::MessageIdentifier.format(unique_election_id, type_subtype, voter_id ? :voter : :authority, voter_id || authority_slug)
19
- end
11
+ delegate :authority_slug, :private_key, :unique_election_id, :build_message_id, to: :class
20
12
 
21
13
  def sign_message(message_id, message)
22
14
  JWT.encode(complete_message(message_id, message), private_key.keypair, "RS256")
@@ -45,6 +37,14 @@ module Decidim
45
37
  def authority_slug
46
38
  @authority_slug ||= BulletinBoard.authority_name.parameterize
47
39
  end
40
+
41
+ def unique_election_id(election_id)
42
+ Decidim::BulletinBoard::MessageIdentifier.unique_election_id(authority_slug, election_id)
43
+ end
44
+
45
+ def build_message_id(unique_election_id, type_subtype, voter_id = nil)
46
+ Decidim::BulletinBoard::MessageIdentifier.format(unique_election_id, type_subtype, voter_id ? :voter : :authority, voter_id || authority_slug)
47
+ end
48
48
  end
49
49
  end
50
50
  end
@@ -7,9 +7,7 @@
7
7
  "mutationType": {
8
8
  "name": "Mutation"
9
9
  },
10
- "subscriptionType": {
11
- "name": "Subscription"
12
- },
10
+ "subscriptionType": null,
13
11
  "types": [
14
12
  {
15
13
  "kind": "SCALAR",
@@ -116,47 +114,6 @@
116
114
  "enumValues": null,
117
115
  "possibleTypes": null
118
116
  },
119
- {
120
- "kind": "OBJECT",
121
- "name": "CloseBallotBoxMutationPayload",
122
- "description": "Autogenerated return type of CloseBallotBoxMutation",
123
- "fields": [
124
- {
125
- "name": "election",
126
- "description": null,
127
- "args": [
128
-
129
- ],
130
- "type": {
131
- "kind": "OBJECT",
132
- "name": "Election",
133
- "ofType": null
134
- },
135
- "isDeprecated": false,
136
- "deprecationReason": null
137
- },
138
- {
139
- "name": "error",
140
- "description": null,
141
- "args": [
142
-
143
- ],
144
- "type": {
145
- "kind": "SCALAR",
146
- "name": "String",
147
- "ofType": null
148
- },
149
- "isDeprecated": false,
150
- "deprecationReason": null
151
- }
152
- ],
153
- "inputFields": null,
154
- "interfaces": [
155
-
156
- ],
157
- "enumValues": null,
158
- "possibleTypes": null
159
- },
160
117
  {
161
118
  "kind": "OBJECT",
162
119
  "name": "CreateElectionMutationPayload",
@@ -346,23 +303,33 @@
346
303
  },
347
304
  {
348
305
  "kind": "OBJECT",
349
- "name": "ElectionLogEntryAddedPayload",
350
- "description": "Autogenerated return type of ElectionLogEntryAdded",
306
+ "name": "EndVoteMutationPayload",
307
+ "description": "Autogenerated return type of EndVoteMutation",
351
308
  "fields": [
352
309
  {
353
- "name": "logEntry",
310
+ "name": "error",
354
311
  "description": null,
355
312
  "args": [
356
313
 
357
314
  ],
358
315
  "type": {
359
- "kind": "NON_NULL",
360
- "name": null,
361
- "ofType": {
362
- "kind": "OBJECT",
363
- "name": "LogEntry",
364
- "ofType": null
365
- }
316
+ "kind": "SCALAR",
317
+ "name": "String",
318
+ "ofType": null
319
+ },
320
+ "isDeprecated": false,
321
+ "deprecationReason": null
322
+ },
323
+ {
324
+ "name": "pendingMessage",
325
+ "description": null,
326
+ "args": [
327
+
328
+ ],
329
+ "type": {
330
+ "kind": "OBJECT",
331
+ "name": "PendingMessage",
332
+ "ofType": null
366
333
  },
367
334
  "isDeprecated": false,
368
335
  "deprecationReason": null
@@ -509,6 +476,91 @@
509
476
  "description": null,
510
477
  "args": [
511
478
 
479
+ ],
480
+ "type": {
481
+ "kind": "SCALAR",
482
+ "name": "String",
483
+ "ofType": null
484
+ },
485
+ "isDeprecated": false,
486
+ "deprecationReason": null
487
+ }
488
+ ],
489
+ "inputFields": null,
490
+ "interfaces": [
491
+ {
492
+ "kind": "INTERFACE",
493
+ "name": "MessageInterface",
494
+ "ofType": null
495
+ }
496
+ ],
497
+ "enumValues": null,
498
+ "possibleTypes": null
499
+ },
500
+ {
501
+ "kind": "INTERFACE",
502
+ "name": "MessageInterface",
503
+ "description": null,
504
+ "fields": [
505
+ {
506
+ "name": "client",
507
+ "description": null,
508
+ "args": [
509
+
510
+ ],
511
+ "type": {
512
+ "kind": "NON_NULL",
513
+ "name": null,
514
+ "ofType": {
515
+ "kind": "OBJECT",
516
+ "name": "Client",
517
+ "ofType": null
518
+ }
519
+ },
520
+ "isDeprecated": false,
521
+ "deprecationReason": null
522
+ },
523
+ {
524
+ "name": "election",
525
+ "description": null,
526
+ "args": [
527
+
528
+ ],
529
+ "type": {
530
+ "kind": "NON_NULL",
531
+ "name": null,
532
+ "ofType": {
533
+ "kind": "OBJECT",
534
+ "name": "Election",
535
+ "ofType": null
536
+ }
537
+ },
538
+ "isDeprecated": false,
539
+ "deprecationReason": null
540
+ },
541
+ {
542
+ "name": "id",
543
+ "description": null,
544
+ "args": [
545
+
546
+ ],
547
+ "type": {
548
+ "kind": "NON_NULL",
549
+ "name": null,
550
+ "ofType": {
551
+ "kind": "SCALAR",
552
+ "name": "ID",
553
+ "ofType": null
554
+ }
555
+ },
556
+ "isDeprecated": false,
557
+ "deprecationReason": null
558
+ },
559
+ {
560
+ "name": "messageId",
561
+ "description": null,
562
+ "args": [
563
+
512
564
  ],
513
565
  "type": {
514
566
  "kind": "NON_NULL",
@@ -521,14 +573,37 @@
521
573
  },
522
574
  "isDeprecated": false,
523
575
  "deprecationReason": null
576
+ },
577
+ {
578
+ "name": "signedData",
579
+ "description": null,
580
+ "args": [
581
+
582
+ ],
583
+ "type": {
584
+ "kind": "SCALAR",
585
+ "name": "String",
586
+ "ofType": null
587
+ },
588
+ "isDeprecated": false,
589
+ "deprecationReason": null
524
590
  }
525
591
  ],
526
592
  "inputFields": null,
527
- "interfaces": [
528
-
529
- ],
593
+ "interfaces": null,
530
594
  "enumValues": null,
531
- "possibleTypes": null
595
+ "possibleTypes": [
596
+ {
597
+ "kind": "OBJECT",
598
+ "name": "LogEntry",
599
+ "ofType": null
600
+ },
601
+ {
602
+ "kind": "OBJECT",
603
+ "name": "PendingMessage",
604
+ "ofType": null
605
+ }
606
+ ]
532
607
  },
533
608
  {
534
609
  "kind": "OBJECT",
@@ -536,7 +611,7 @@
536
611
  "description": null,
537
612
  "fields": [
538
613
  {
539
- "name": "closeBallotBox",
614
+ "name": "createElection",
540
615
  "description": null,
541
616
  "args": [
542
617
  {
@@ -570,14 +645,14 @@
570
645
  ],
571
646
  "type": {
572
647
  "kind": "OBJECT",
573
- "name": "CloseBallotBoxMutationPayload",
648
+ "name": "CreateElectionMutationPayload",
574
649
  "ofType": null
575
650
  },
576
651
  "isDeprecated": false,
577
652
  "deprecationReason": null
578
653
  },
579
654
  {
580
- "name": "createElection",
655
+ "name": "endVote",
581
656
  "description": null,
582
657
  "args": [
583
658
  {
@@ -611,14 +686,14 @@
611
686
  ],
612
687
  "type": {
613
688
  "kind": "OBJECT",
614
- "name": "CreateElectionMutationPayload",
689
+ "name": "EndVoteMutationPayload",
615
690
  "ofType": null
616
691
  },
617
692
  "isDeprecated": false,
618
693
  "deprecationReason": null
619
694
  },
620
695
  {
621
- "name": "openBallotBox",
696
+ "name": "processKeyCeremonyStep",
622
697
  "description": null,
623
698
  "args": [
624
699
  {
@@ -652,14 +727,14 @@
652
727
  ],
653
728
  "type": {
654
729
  "kind": "OBJECT",
655
- "name": "OpenBallotBoxMutationPayload",
730
+ "name": "ProcessKeyCeremonyStepMutationPayload",
656
731
  "ofType": null
657
732
  },
658
733
  "isDeprecated": false,
659
734
  "deprecationReason": null
660
735
  },
661
736
  {
662
- "name": "processKeyCeremonyStep",
737
+ "name": "processTallyStep",
663
738
  "description": null,
664
739
  "args": [
665
740
  {
@@ -693,14 +768,14 @@
693
768
  ],
694
769
  "type": {
695
770
  "kind": "OBJECT",
696
- "name": "ProcessKeyCeremonyStepMutationPayload",
771
+ "name": "ProcessTallyStepMutationPayload",
697
772
  "ofType": null
698
773
  },
699
774
  "isDeprecated": false,
700
775
  "deprecationReason": null
701
776
  },
702
777
  {
703
- "name": "vote",
778
+ "name": "publishResults",
704
779
  "description": null,
705
780
  "args": [
706
781
  {
@@ -734,48 +809,171 @@
734
809
  ],
735
810
  "type": {
736
811
  "kind": "OBJECT",
737
- "name": "VoteMutationPayload",
812
+ "name": "PublishResultsMutationPayload",
738
813
  "ofType": null
739
814
  },
740
815
  "isDeprecated": false,
741
816
  "deprecationReason": null
742
- }
743
- ],
744
- "inputFields": null,
745
- "interfaces": [
746
-
747
- ],
748
- "enumValues": null,
749
- "possibleTypes": null
750
- },
751
- {
752
- "kind": "OBJECT",
753
- "name": "OpenBallotBoxMutationPayload",
754
- "description": "Autogenerated return type of OpenBallotBoxMutation",
755
- "fields": [
817
+ },
756
818
  {
757
- "name": "election",
819
+ "name": "startKeyCeremony",
758
820
  "description": null,
759
821
  "args": [
760
-
822
+ {
823
+ "name": "messageId",
824
+ "description": null,
825
+ "type": {
826
+ "kind": "NON_NULL",
827
+ "name": null,
828
+ "ofType": {
829
+ "kind": "SCALAR",
830
+ "name": "String",
831
+ "ofType": null
832
+ }
833
+ },
834
+ "defaultValue": null
835
+ },
836
+ {
837
+ "name": "signedData",
838
+ "description": null,
839
+ "type": {
840
+ "kind": "NON_NULL",
841
+ "name": null,
842
+ "ofType": {
843
+ "kind": "SCALAR",
844
+ "name": "String",
845
+ "ofType": null
846
+ }
847
+ },
848
+ "defaultValue": null
849
+ }
761
850
  ],
762
851
  "type": {
763
852
  "kind": "OBJECT",
764
- "name": "Election",
853
+ "name": "StartKeyCeremonyMutationPayload",
765
854
  "ofType": null
766
855
  },
767
856
  "isDeprecated": false,
768
857
  "deprecationReason": null
769
858
  },
770
859
  {
771
- "name": "error",
860
+ "name": "startTally",
772
861
  "description": null,
773
862
  "args": [
774
-
863
+ {
864
+ "name": "messageId",
865
+ "description": null,
866
+ "type": {
867
+ "kind": "NON_NULL",
868
+ "name": null,
869
+ "ofType": {
870
+ "kind": "SCALAR",
871
+ "name": "String",
872
+ "ofType": null
873
+ }
874
+ },
875
+ "defaultValue": null
876
+ },
877
+ {
878
+ "name": "signedData",
879
+ "description": null,
880
+ "type": {
881
+ "kind": "NON_NULL",
882
+ "name": null,
883
+ "ofType": {
884
+ "kind": "SCALAR",
885
+ "name": "String",
886
+ "ofType": null
887
+ }
888
+ },
889
+ "defaultValue": null
890
+ }
775
891
  ],
776
892
  "type": {
777
- "kind": "SCALAR",
778
- "name": "String",
893
+ "kind": "OBJECT",
894
+ "name": "StartTallyMutationPayload",
895
+ "ofType": null
896
+ },
897
+ "isDeprecated": false,
898
+ "deprecationReason": null
899
+ },
900
+ {
901
+ "name": "startVote",
902
+ "description": null,
903
+ "args": [
904
+ {
905
+ "name": "messageId",
906
+ "description": null,
907
+ "type": {
908
+ "kind": "NON_NULL",
909
+ "name": null,
910
+ "ofType": {
911
+ "kind": "SCALAR",
912
+ "name": "String",
913
+ "ofType": null
914
+ }
915
+ },
916
+ "defaultValue": null
917
+ },
918
+ {
919
+ "name": "signedData",
920
+ "description": null,
921
+ "type": {
922
+ "kind": "NON_NULL",
923
+ "name": null,
924
+ "ofType": {
925
+ "kind": "SCALAR",
926
+ "name": "String",
927
+ "ofType": null
928
+ }
929
+ },
930
+ "defaultValue": null
931
+ }
932
+ ],
933
+ "type": {
934
+ "kind": "OBJECT",
935
+ "name": "StartVoteMutationPayload",
936
+ "ofType": null
937
+ },
938
+ "isDeprecated": false,
939
+ "deprecationReason": null
940
+ },
941
+ {
942
+ "name": "vote",
943
+ "description": null,
944
+ "args": [
945
+ {
946
+ "name": "messageId",
947
+ "description": null,
948
+ "type": {
949
+ "kind": "NON_NULL",
950
+ "name": null,
951
+ "ofType": {
952
+ "kind": "SCALAR",
953
+ "name": "String",
954
+ "ofType": null
955
+ }
956
+ },
957
+ "defaultValue": null
958
+ },
959
+ {
960
+ "name": "signedData",
961
+ "description": null,
962
+ "type": {
963
+ "kind": "NON_NULL",
964
+ "name": null,
965
+ "ofType": {
966
+ "kind": "SCALAR",
967
+ "name": "String",
968
+ "ofType": null
969
+ }
970
+ },
971
+ "defaultValue": null
972
+ }
973
+ ],
974
+ "type": {
975
+ "kind": "OBJECT",
976
+ "name": "VoteMutationPayload",
779
977
  "ofType": null
780
978
  },
781
979
  "isDeprecated": false,
@@ -819,9 +1017,13 @@
819
1017
 
820
1018
  ],
821
1019
  "type": {
822
- "kind": "OBJECT",
823
- "name": "Election",
824
- "ofType": null
1020
+ "kind": "NON_NULL",
1021
+ "name": null,
1022
+ "ofType": {
1023
+ "kind": "OBJECT",
1024
+ "name": "Election",
1025
+ "ofType": null
1026
+ }
825
1027
  },
826
1028
  "isDeprecated": false,
827
1029
  "deprecationReason": null
@@ -869,13 +1071,9 @@
869
1071
 
870
1072
  ],
871
1073
  "type": {
872
- "kind": "NON_NULL",
873
- "name": null,
874
- "ofType": {
875
- "kind": "SCALAR",
876
- "name": "String",
877
- "ofType": null
878
- }
1074
+ "kind": "SCALAR",
1075
+ "name": "String",
1076
+ "ofType": null
879
1077
  },
880
1078
  "isDeprecated": false,
881
1079
  "deprecationReason": null
@@ -901,7 +1099,11 @@
901
1099
  ],
902
1100
  "inputFields": null,
903
1101
  "interfaces": [
904
-
1102
+ {
1103
+ "kind": "INTERFACE",
1104
+ "name": "MessageInterface",
1105
+ "ofType": null
1106
+ }
905
1107
  ],
906
1108
  "enumValues": null,
907
1109
  "possibleTypes": null
@@ -947,6 +1149,88 @@
947
1149
  "enumValues": null,
948
1150
  "possibleTypes": null
949
1151
  },
1152
+ {
1153
+ "kind": "OBJECT",
1154
+ "name": "ProcessTallyStepMutationPayload",
1155
+ "description": "Autogenerated return type of ProcessTallyStepMutation",
1156
+ "fields": [
1157
+ {
1158
+ "name": "error",
1159
+ "description": null,
1160
+ "args": [
1161
+
1162
+ ],
1163
+ "type": {
1164
+ "kind": "SCALAR",
1165
+ "name": "String",
1166
+ "ofType": null
1167
+ },
1168
+ "isDeprecated": false,
1169
+ "deprecationReason": null
1170
+ },
1171
+ {
1172
+ "name": "pendingMessage",
1173
+ "description": null,
1174
+ "args": [
1175
+
1176
+ ],
1177
+ "type": {
1178
+ "kind": "OBJECT",
1179
+ "name": "PendingMessage",
1180
+ "ofType": null
1181
+ },
1182
+ "isDeprecated": false,
1183
+ "deprecationReason": null
1184
+ }
1185
+ ],
1186
+ "inputFields": null,
1187
+ "interfaces": [
1188
+
1189
+ ],
1190
+ "enumValues": null,
1191
+ "possibleTypes": null
1192
+ },
1193
+ {
1194
+ "kind": "OBJECT",
1195
+ "name": "PublishResultsMutationPayload",
1196
+ "description": "Autogenerated return type of PublishResultsMutation",
1197
+ "fields": [
1198
+ {
1199
+ "name": "election",
1200
+ "description": null,
1201
+ "args": [
1202
+
1203
+ ],
1204
+ "type": {
1205
+ "kind": "OBJECT",
1206
+ "name": "Election",
1207
+ "ofType": null
1208
+ },
1209
+ "isDeprecated": false,
1210
+ "deprecationReason": null
1211
+ },
1212
+ {
1213
+ "name": "error",
1214
+ "description": null,
1215
+ "args": [
1216
+
1217
+ ],
1218
+ "type": {
1219
+ "kind": "SCALAR",
1220
+ "name": "String",
1221
+ "ofType": null
1222
+ },
1223
+ "isDeprecated": false,
1224
+ "deprecationReason": null
1225
+ }
1226
+ ],
1227
+ "inputFields": null,
1228
+ "interfaces": [
1229
+
1230
+ ],
1231
+ "enumValues": null,
1232
+ "possibleTypes": null
1233
+ },
950
1234
  {
951
1235
  "kind": "OBJECT",
952
1236
  "name": "Query",
@@ -1098,13 +1382,19 @@
1098
1382
  "name": "id",
1099
1383
  "description": null,
1100
1384
  "type": {
1101
- "kind": "NON_NULL",
1102
- "name": null,
1103
- "ofType": {
1104
- "kind": "SCALAR",
1105
- "name": "ID",
1106
- "ofType": null
1107
- }
1385
+ "kind": "SCALAR",
1386
+ "name": "ID",
1387
+ "ofType": null
1388
+ },
1389
+ "defaultValue": null
1390
+ },
1391
+ {
1392
+ "name": "messageId",
1393
+ "description": null,
1394
+ "type": {
1395
+ "kind": "SCALAR",
1396
+ "name": "String",
1397
+ "ofType": null
1108
1398
  },
1109
1399
  "defaultValue": null
1110
1400
  }
@@ -1126,47 +1416,75 @@
1126
1416
  "possibleTypes": null
1127
1417
  },
1128
1418
  {
1129
- "kind": "SCALAR",
1130
- "name": "String",
1131
- "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.",
1132
- "fields": null,
1419
+ "kind": "OBJECT",
1420
+ "name": "StartKeyCeremonyMutationPayload",
1421
+ "description": "Autogenerated return type of StartKeyCeremonyMutation",
1422
+ "fields": [
1423
+ {
1424
+ "name": "error",
1425
+ "description": null,
1426
+ "args": [
1427
+
1428
+ ],
1429
+ "type": {
1430
+ "kind": "SCALAR",
1431
+ "name": "String",
1432
+ "ofType": null
1433
+ },
1434
+ "isDeprecated": false,
1435
+ "deprecationReason": null
1436
+ },
1437
+ {
1438
+ "name": "pendingMessage",
1439
+ "description": null,
1440
+ "args": [
1441
+
1442
+ ],
1443
+ "type": {
1444
+ "kind": "OBJECT",
1445
+ "name": "PendingMessage",
1446
+ "ofType": null
1447
+ },
1448
+ "isDeprecated": false,
1449
+ "deprecationReason": null
1450
+ }
1451
+ ],
1133
1452
  "inputFields": null,
1134
- "interfaces": null,
1453
+ "interfaces": [
1454
+
1455
+ ],
1135
1456
  "enumValues": null,
1136
1457
  "possibleTypes": null
1137
1458
  },
1138
1459
  {
1139
1460
  "kind": "OBJECT",
1140
- "name": "Subscription",
1141
- "description": null,
1461
+ "name": "StartTallyMutationPayload",
1462
+ "description": "Autogenerated return type of StartTallyMutation",
1142
1463
  "fields": [
1143
1464
  {
1144
- "name": "electionLogEntryAdded",
1465
+ "name": "error",
1145
1466
  "description": null,
1146
1467
  "args": [
1147
- {
1148
- "name": "electionUniqueId",
1149
- "description": null,
1150
- "type": {
1151
- "kind": "NON_NULL",
1152
- "name": null,
1153
- "ofType": {
1154
- "kind": "SCALAR",
1155
- "name": "String",
1156
- "ofType": null
1157
- }
1158
- },
1159
- "defaultValue": null
1160
- }
1468
+
1161
1469
  ],
1162
1470
  "type": {
1163
- "kind": "NON_NULL",
1164
- "name": null,
1165
- "ofType": {
1166
- "kind": "OBJECT",
1167
- "name": "ElectionLogEntryAddedPayload",
1168
- "ofType": null
1169
- }
1471
+ "kind": "SCALAR",
1472
+ "name": "String",
1473
+ "ofType": null
1474
+ },
1475
+ "isDeprecated": false,
1476
+ "deprecationReason": null
1477
+ },
1478
+ {
1479
+ "name": "pendingMessage",
1480
+ "description": null,
1481
+ "args": [
1482
+
1483
+ ],
1484
+ "type": {
1485
+ "kind": "OBJECT",
1486
+ "name": "PendingMessage",
1487
+ "ofType": null
1170
1488
  },
1171
1489
  "isDeprecated": false,
1172
1490
  "deprecationReason": null
@@ -1179,6 +1497,57 @@
1179
1497
  "enumValues": null,
1180
1498
  "possibleTypes": null
1181
1499
  },
1500
+ {
1501
+ "kind": "OBJECT",
1502
+ "name": "StartVoteMutationPayload",
1503
+ "description": "Autogenerated return type of StartVoteMutation",
1504
+ "fields": [
1505
+ {
1506
+ "name": "error",
1507
+ "description": null,
1508
+ "args": [
1509
+
1510
+ ],
1511
+ "type": {
1512
+ "kind": "SCALAR",
1513
+ "name": "String",
1514
+ "ofType": null
1515
+ },
1516
+ "isDeprecated": false,
1517
+ "deprecationReason": null
1518
+ },
1519
+ {
1520
+ "name": "pendingMessage",
1521
+ "description": null,
1522
+ "args": [
1523
+
1524
+ ],
1525
+ "type": {
1526
+ "kind": "OBJECT",
1527
+ "name": "PendingMessage",
1528
+ "ofType": null
1529
+ },
1530
+ "isDeprecated": false,
1531
+ "deprecationReason": null
1532
+ }
1533
+ ],
1534
+ "inputFields": null,
1535
+ "interfaces": [
1536
+
1537
+ ],
1538
+ "enumValues": null,
1539
+ "possibleTypes": null
1540
+ },
1541
+ {
1542
+ "kind": "SCALAR",
1543
+ "name": "String",
1544
+ "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.",
1545
+ "fields": null,
1546
+ "inputFields": null,
1547
+ "interfaces": null,
1548
+ "enumValues": null,
1549
+ "possibleTypes": null
1550
+ },
1182
1551
  {
1183
1552
  "kind": "OBJECT",
1184
1553
  "name": "VoteMutationPayload",