@carddb/core 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -446,6 +446,22 @@ var SCHEMA_FIELDS = `
446
446
  }
447
447
  }
448
448
  `;
449
+ var DATASET_FILTER_VALUE_CONNECTION_FIELDS = `
450
+ field
451
+ edges {
452
+ cursor
453
+ node {
454
+ value
455
+ count
456
+ }
457
+ }
458
+ pageInfo {
459
+ hasNextPage
460
+ hasPreviousPage
461
+ startCursor
462
+ endCursor
463
+ }
464
+ `;
449
465
  var OBJECT_FIELD_FIELDS = `
450
466
  id
451
467
  objectTypeId
@@ -580,6 +596,103 @@ var DECK_VALIDATION_FIELDS = `
580
596
  }
581
597
  checkedAt
582
598
  `;
599
+ var RULESET_VERSION_FIELDS = `
600
+ id
601
+ rulesetId
602
+ versionLabel
603
+ status
604
+ rules
605
+ sectionDefinitions {
606
+ ${DECK_SECTION_DEFINITION_FIELDS}
607
+ }
608
+ cardDatasetId
609
+ cardDatasetVersionId
610
+ sourceDatasetId
611
+ sourceDatasetVersionId
612
+ sourceDatasetRecordId
613
+ sourceRecordIdentifier
614
+ rulesFingerprint
615
+ effectiveAt
616
+ changelog
617
+ createdByAccountId
618
+ publishedByAccountId
619
+ publishedAt
620
+ supersededAt
621
+ createdAt
622
+ updatedAt
623
+ `;
624
+ var RULESET_FIELDS = `
625
+ id
626
+ gameId
627
+ game {
628
+ id
629
+ key
630
+ name
631
+ }
632
+ key
633
+ name
634
+ description
635
+ tags
636
+ sortOrder
637
+ currentVersionId
638
+ currentVersion {
639
+ ${RULESET_VERSION_FIELDS}
640
+ }
641
+ archivedAt
642
+ isArchived
643
+ createdAt
644
+ updatedAt
645
+ `;
646
+ var DECK_VALIDATION_RULES_FIELDS = `
647
+ rulesetId
648
+ rulesetVersionId
649
+ rulesetKey
650
+ rulesetVersionLabel
651
+ rules
652
+ sections {
653
+ ${DECK_SECTION_DEFINITION_FIELDS}
654
+ }
655
+ `;
656
+ var RULESET_VALIDATION_IMPACT_DECK_FIELDS = `
657
+ deckId
658
+ title
659
+ slug
660
+ state
661
+ hasUnpublishedChanges
662
+ valid
663
+ blockerCount
664
+ warningCount
665
+ affectedEntryCount
666
+ issues {
667
+ ${DECK_VALIDATION_ISSUE_FIELDS}
668
+ }
669
+ `;
670
+ var RULESET_VALIDATION_IMPACT_FIELDS = `
671
+ rulesetId
672
+ rulesetVersionId
673
+ checkedAt
674
+ affectedDeckCount
675
+ invalidDeckCount
676
+ blockerCount
677
+ warningCount
678
+ results {
679
+ ${RULESET_VALIDATION_IMPACT_DECK_FIELDS}
680
+ }
681
+ `;
682
+ var RULESET_VERSION_DRAFT_IMPORT_PREVIEW_FIELDS = `
683
+ sourceDatasetId
684
+ sourceDatasetVersionId
685
+ sourceDatasetRecordId
686
+ sourceRecordIdentifier
687
+ rules
688
+ sectionDefinitions {
689
+ ${DECK_SECTION_DEFINITION_FIELDS}
690
+ }
691
+ rulesFingerprint
692
+ summary
693
+ sectionCount
694
+ copyLimitCount
695
+ `;
583
696
  var DECK_DIFF_FIELDS = `
584
697
  deckId
585
698
  fromVersionId
@@ -1730,6 +1843,67 @@ var QueryBuilder = {
1730
1843
  `
1731
1844
  };
1732
1845
  },
1846
+ fetchDatasetFilterValues(params) {
1847
+ if (params.fields.length === 0) {
1848
+ throw new ValidationError("fields must contain at least one field key");
1849
+ }
1850
+ const byId = params.id !== void 0;
1851
+ const byKeys = params.publisherSlug !== void 0 && params.gameKey !== void 0 && params.datasetKey !== void 0;
1852
+ if (!byId && !byKeys) {
1853
+ throw new ValidationError("provide either id or publisherSlug, gameKey, and datasetKey");
1854
+ }
1855
+ const definitions = ["$fields: [String!]!"];
1856
+ const filterValueArgs = ["fields: $fields"];
1857
+ const variables = { fields: params.fields };
1858
+ if (params.search !== void 0) {
1859
+ definitions.push("$search: String");
1860
+ filterValueArgs.push("search: $search");
1861
+ variables["search"] = params.search;
1862
+ }
1863
+ if (params.includeCounts !== void 0) {
1864
+ definitions.push("$includeCounts: Boolean");
1865
+ filterValueArgs.push("includeCounts: $includeCounts");
1866
+ variables["includeCounts"] = params.includeCounts;
1867
+ }
1868
+ if (params.first !== void 0) {
1869
+ definitions.push("$first: Int");
1870
+ filterValueArgs.push("first: $first");
1871
+ variables["first"] = params.first;
1872
+ }
1873
+ if (params.after !== void 0) {
1874
+ definitions.push("$after: String");
1875
+ filterValueArgs.push("after: $after");
1876
+ variables["after"] = params.after;
1877
+ }
1878
+ const datasetArgs = [];
1879
+ if (byId) {
1880
+ definitions.push("$id: UUID!");
1881
+ datasetArgs.push("id: $id");
1882
+ variables["id"] = params.id;
1883
+ } else {
1884
+ definitions.push("$publisherSlug: String!", "$gameKey: String!", "$datasetKey: String!");
1885
+ datasetArgs.push(
1886
+ "publisherSlug: $publisherSlug",
1887
+ "gameKey: $gameKey",
1888
+ "datasetKey: $datasetKey"
1889
+ );
1890
+ variables["publisherSlug"] = params.publisherSlug;
1891
+ variables["gameKey"] = params.gameKey;
1892
+ variables["datasetKey"] = params.datasetKey;
1893
+ }
1894
+ return {
1895
+ query: `
1896
+ query FetchDatasetFilterValues(${definitions.join(", ")}) {
1897
+ fetchDataset(${datasetArgs.join(", ")}) {
1898
+ filterValues(${filterValueArgs.join(", ")}) {
1899
+ ${DATASET_FILTER_VALUE_CONNECTION_FIELDS}
1900
+ }
1901
+ }
1902
+ }
1903
+ `,
1904
+ variables
1905
+ };
1906
+ },
1733
1907
  listDatasets(params) {
1734
1908
  const variables = { publisherId: params.publisherId };
1735
1909
  const args = ["publisherId: $publisherId"];
@@ -2635,6 +2809,261 @@ ${RESOLVED_LINKS_FIELDS}` : selectedRecordFields;
2635
2809
  `
2636
2810
  };
2637
2811
  },
2812
+ // Rulesets
2813
+ rulesets(params) {
2814
+ const variables = { gameId: params.gameId };
2815
+ const args = ["gameId: $gameId"];
2816
+ const defs = ["$gameId: UUID!"];
2817
+ if (params.includeArchived !== void 0) {
2818
+ defs.push("$includeArchived: Boolean");
2819
+ args.push("includeArchived: $includeArchived");
2820
+ variables["includeArchived"] = params.includeArchived;
2821
+ }
2822
+ if (params.first !== void 0) {
2823
+ defs.push("$first: Int");
2824
+ args.push("first: $first");
2825
+ variables["first"] = params.first;
2826
+ }
2827
+ if (params.after !== void 0) {
2828
+ defs.push("$after: String");
2829
+ args.push("after: $after");
2830
+ variables["after"] = params.after;
2831
+ }
2832
+ return {
2833
+ query: `
2834
+ query Rulesets(${defs.join(", ")}) {
2835
+ rulesets(${args.join(", ")}) {
2836
+ ${connectionFields(RULESET_FIELDS)}
2837
+ }
2838
+ }
2839
+ `,
2840
+ variables
2841
+ };
2842
+ },
2843
+ publicRulesets(params) {
2844
+ const variables = { gameId: params.gameId };
2845
+ const args = ["gameId: $gameId"];
2846
+ const defs = ["$gameId: UUID!"];
2847
+ if (params.first !== void 0) {
2848
+ defs.push("$first: Int");
2849
+ args.push("first: $first");
2850
+ variables["first"] = params.first;
2851
+ }
2852
+ if (params.after !== void 0) {
2853
+ defs.push("$after: String");
2854
+ args.push("after: $after");
2855
+ variables["after"] = params.after;
2856
+ }
2857
+ return {
2858
+ query: `
2859
+ query PublicRulesets(${defs.join(", ")}) {
2860
+ publicRulesets(${args.join(", ")}) {
2861
+ ${connectionFields(RULESET_FIELDS)}
2862
+ }
2863
+ }
2864
+ `,
2865
+ variables
2866
+ };
2867
+ },
2868
+ ruleset(params) {
2869
+ const variables = {};
2870
+ const args = [];
2871
+ const defs = [];
2872
+ if (params.id !== void 0) {
2873
+ defs.push("$id: UUID");
2874
+ args.push("id: $id");
2875
+ variables["id"] = params.id;
2876
+ }
2877
+ if (params.gameId !== void 0) {
2878
+ defs.push("$gameId: UUID");
2879
+ args.push("gameId: $gameId");
2880
+ variables["gameId"] = params.gameId;
2881
+ }
2882
+ if (params.key !== void 0) {
2883
+ defs.push("$key: String");
2884
+ args.push("key: $key");
2885
+ variables["key"] = params.key;
2886
+ }
2887
+ return {
2888
+ query: `
2889
+ query Ruleset(${defs.join(", ")}) {
2890
+ ruleset(${args.join(", ")}) {
2891
+ ${RULESET_FIELDS}
2892
+ }
2893
+ }
2894
+ `,
2895
+ variables
2896
+ };
2897
+ },
2898
+ rulesetVersions(params) {
2899
+ const variables = { rulesetId: params.rulesetId };
2900
+ const args = ["rulesetId: $rulesetId"];
2901
+ const defs = ["$rulesetId: UUID!"];
2902
+ if (params.status !== void 0) {
2903
+ defs.push("$status: RulesetVersionStatus");
2904
+ args.push("status: $status");
2905
+ variables["status"] = params.status;
2906
+ }
2907
+ if (params.first !== void 0) {
2908
+ defs.push("$first: Int");
2909
+ args.push("first: $first");
2910
+ variables["first"] = params.first;
2911
+ }
2912
+ if (params.after !== void 0) {
2913
+ defs.push("$after: String");
2914
+ args.push("after: $after");
2915
+ variables["after"] = params.after;
2916
+ }
2917
+ return {
2918
+ query: `
2919
+ query RulesetVersions(${defs.join(", ")}) {
2920
+ rulesetVersions(${args.join(", ")}) {
2921
+ ${connectionFields(RULESET_VERSION_FIELDS)}
2922
+ }
2923
+ }
2924
+ `,
2925
+ variables
2926
+ };
2927
+ },
2928
+ rulesetVersion() {
2929
+ return {
2930
+ query: `
2931
+ query RulesetVersion($id: UUID!) {
2932
+ rulesetVersion(id: $id) {
2933
+ ${RULESET_VERSION_FIELDS}
2934
+ }
2935
+ }
2936
+ `
2937
+ };
2938
+ },
2939
+ rulesetValidationRules() {
2940
+ return {
2941
+ query: `
2942
+ query RulesetValidationRules($gameId: UUID!, $rulesetKey: String!, $rulesetVersionId: UUID) {
2943
+ rulesetValidationRules(gameId: $gameId, rulesetKey: $rulesetKey, rulesetVersionId: $rulesetVersionId)
2944
+ }
2945
+ `
2946
+ };
2947
+ },
2948
+ deckValidationRules() {
2949
+ return {
2950
+ query: `
2951
+ query DeckValidationRules($gameId: UUID!, $rulesetKey: String!, $rulesetVersionId: UUID) {
2952
+ deckValidationRules(gameId: $gameId, rulesetKey: $rulesetKey, rulesetVersionId: $rulesetVersionId) {
2953
+ ${DECK_VALIDATION_RULES_FIELDS}
2954
+ }
2955
+ }
2956
+ `
2957
+ };
2958
+ },
2959
+ rulesetVersionDraftImportPreview() {
2960
+ return {
2961
+ query: `
2962
+ query RulesetVersionDraftImportPreview($rulesetId: UUID!, $input: RulesetVersionDraftImportFromDatasetRecordInput!) {
2963
+ rulesetVersionDraftImportPreview(rulesetId: $rulesetId, input: $input) {
2964
+ ${RULESET_VERSION_DRAFT_IMPORT_PREVIEW_FIELDS}
2965
+ }
2966
+ }
2967
+ `
2968
+ };
2969
+ },
2970
+ rulesetValidationImpact(params) {
2971
+ const variables = { rulesetVersionId: params.rulesetVersionId };
2972
+ const args = ["rulesetVersionId: $rulesetVersionId"];
2973
+ const defs = ["$rulesetVersionId: UUID!"];
2974
+ if (params.first !== void 0) {
2975
+ defs.push("$first: Int");
2976
+ args.push("first: $first");
2977
+ variables["first"] = params.first;
2978
+ }
2979
+ return {
2980
+ query: `
2981
+ query RulesetValidationImpact(${defs.join(", ")}) {
2982
+ rulesetValidationImpact(${args.join(", ")}) {
2983
+ ${RULESET_VALIDATION_IMPACT_FIELDS}
2984
+ }
2985
+ }
2986
+ `,
2987
+ variables
2988
+ };
2989
+ },
2990
+ createRuleset() {
2991
+ return {
2992
+ query: `
2993
+ mutation RulesetCreate($input: RulesetCreateInput!) {
2994
+ rulesetCreate(input: $input) {
2995
+ ${RULESET_FIELDS}
2996
+ }
2997
+ }
2998
+ `
2999
+ };
3000
+ },
3001
+ updateRuleset() {
3002
+ return {
3003
+ query: `
3004
+ mutation RulesetUpdate($id: UUID!, $input: RulesetUpdateInput!) {
3005
+ rulesetUpdate(id: $id, input: $input) {
3006
+ ${RULESET_FIELDS}
3007
+ }
3008
+ }
3009
+ `
3010
+ };
3011
+ },
3012
+ createRulesetVersionDraft() {
3013
+ return {
3014
+ query: `
3015
+ mutation RulesetVersionDraftCreate($rulesetId: UUID!, $input: RulesetVersionDraftCreateInput!) {
3016
+ rulesetVersionDraftCreate(rulesetId: $rulesetId, input: $input) {
3017
+ ${RULESET_VERSION_FIELDS}
3018
+ }
3019
+ }
3020
+ `
3021
+ };
3022
+ },
3023
+ importRulesetVersionDraftFromDatasetRecord() {
3024
+ return {
3025
+ query: `
3026
+ mutation RulesetVersionDraftImportFromDatasetRecord($rulesetId: UUID!, $input: RulesetVersionDraftImportFromDatasetRecordInput!) {
3027
+ rulesetVersionDraftImportFromDatasetRecord(rulesetId: $rulesetId, input: $input) {
3028
+ ${RULESET_VERSION_FIELDS}
3029
+ }
3030
+ }
3031
+ `
3032
+ };
3033
+ },
3034
+ updateRulesetVersionDraft() {
3035
+ return {
3036
+ query: `
3037
+ mutation RulesetVersionDraftUpdate($id: UUID!, $input: RulesetVersionDraftUpdateInput!) {
3038
+ rulesetVersionDraftUpdate(id: $id, input: $input) {
3039
+ ${RULESET_VERSION_FIELDS}
3040
+ }
3041
+ }
3042
+ `
3043
+ };
3044
+ },
3045
+ publishRulesetVersion() {
3046
+ return {
3047
+ query: `
3048
+ mutation RulesetVersionPublish($id: UUID!, $input: RulesetVersionPublishInput) {
3049
+ rulesetVersionPublish(id: $id, input: $input) {
3050
+ ${RULESET_VERSION_FIELDS}
3051
+ }
3052
+ }
3053
+ `
3054
+ };
3055
+ },
3056
+ activateRulesetVersion() {
3057
+ return {
3058
+ query: `
3059
+ mutation RulesetVersionActivate($id: UUID!) {
3060
+ rulesetVersionActivate(id: $id) {
3061
+ ${RULESET_VERSION_FIELDS}
3062
+ }
3063
+ }
3064
+ `
3065
+ };
3066
+ },
2638
3067
  // Decks
2639
3068
  listMyDecks(params = {}) {
2640
3069
  const variables = {};
@@ -3409,6 +3838,30 @@ ${RESOLVED_LINKS_FIELDS}` : selectedRecordFields;
3409
3838
  `
3410
3839
  };
3411
3840
  },
3841
+ rulesetValidationRulesVariables(gameId, rulesetKey, rulesetVersionId) {
3842
+ return rulesetVersionId === void 0 ? { gameId, rulesetKey } : { gameId, rulesetKey, rulesetVersionId };
3843
+ },
3844
+ rulesetVersionDraftImportPreviewVariables(rulesetId, input) {
3845
+ return { rulesetId, input };
3846
+ },
3847
+ rulesetCreateVariables(input) {
3848
+ return { input };
3849
+ },
3850
+ rulesetUpdateVariables(id, input) {
3851
+ return { id, input };
3852
+ },
3853
+ rulesetVersionDraftCreateVariables(rulesetId, input) {
3854
+ return { rulesetId, input };
3855
+ },
3856
+ rulesetVersionDraftImportFromDatasetRecordVariables(rulesetId, input) {
3857
+ return { rulesetId, input };
3858
+ },
3859
+ rulesetVersionDraftUpdateVariables(id, input) {
3860
+ return { id, input };
3861
+ },
3862
+ rulesetVersionPublishVariables(id, input) {
3863
+ return input === void 0 ? { id } : { id, input };
3864
+ },
3412
3865
  deckCreateVariables(input) {
3413
3866
  return { input: normalizeDeckJsonInput(input) };
3414
3867
  },