@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.cjs CHANGED
@@ -499,6 +499,22 @@ var SCHEMA_FIELDS = `
499
499
  }
500
500
  }
501
501
  `;
502
+ var DATASET_FILTER_VALUE_CONNECTION_FIELDS = `
503
+ field
504
+ edges {
505
+ cursor
506
+ node {
507
+ value
508
+ count
509
+ }
510
+ }
511
+ pageInfo {
512
+ hasNextPage
513
+ hasPreviousPage
514
+ startCursor
515
+ endCursor
516
+ }
517
+ `;
502
518
  var OBJECT_FIELD_FIELDS = `
503
519
  id
504
520
  objectTypeId
@@ -633,6 +649,103 @@ var DECK_VALIDATION_FIELDS = `
633
649
  }
634
650
  checkedAt
635
651
  `;
652
+ var RULESET_VERSION_FIELDS = `
653
+ id
654
+ rulesetId
655
+ versionLabel
656
+ status
657
+ rules
658
+ sectionDefinitions {
659
+ ${DECK_SECTION_DEFINITION_FIELDS}
660
+ }
661
+ cardDatasetId
662
+ cardDatasetVersionId
663
+ sourceDatasetId
664
+ sourceDatasetVersionId
665
+ sourceDatasetRecordId
666
+ sourceRecordIdentifier
667
+ rulesFingerprint
668
+ effectiveAt
669
+ changelog
670
+ createdByAccountId
671
+ publishedByAccountId
672
+ publishedAt
673
+ supersededAt
674
+ createdAt
675
+ updatedAt
676
+ `;
677
+ var RULESET_FIELDS = `
678
+ id
679
+ gameId
680
+ game {
681
+ id
682
+ key
683
+ name
684
+ }
685
+ key
686
+ name
687
+ description
688
+ tags
689
+ sortOrder
690
+ currentVersionId
691
+ currentVersion {
692
+ ${RULESET_VERSION_FIELDS}
693
+ }
694
+ archivedAt
695
+ isArchived
696
+ createdAt
697
+ updatedAt
698
+ `;
699
+ var DECK_VALIDATION_RULES_FIELDS = `
700
+ rulesetId
701
+ rulesetVersionId
702
+ rulesetKey
703
+ rulesetVersionLabel
704
+ rules
705
+ sections {
706
+ ${DECK_SECTION_DEFINITION_FIELDS}
707
+ }
708
+ `;
709
+ var RULESET_VALIDATION_IMPACT_DECK_FIELDS = `
710
+ deckId
711
+ title
712
+ slug
713
+ state
714
+ hasUnpublishedChanges
715
+ valid
716
+ blockerCount
717
+ warningCount
718
+ affectedEntryCount
719
+ issues {
720
+ ${DECK_VALIDATION_ISSUE_FIELDS}
721
+ }
722
+ `;
723
+ var RULESET_VALIDATION_IMPACT_FIELDS = `
724
+ rulesetId
725
+ rulesetVersionId
726
+ checkedAt
727
+ affectedDeckCount
728
+ invalidDeckCount
729
+ blockerCount
730
+ warningCount
731
+ results {
732
+ ${RULESET_VALIDATION_IMPACT_DECK_FIELDS}
733
+ }
734
+ `;
735
+ var RULESET_VERSION_DRAFT_IMPORT_PREVIEW_FIELDS = `
736
+ sourceDatasetId
737
+ sourceDatasetVersionId
738
+ sourceDatasetRecordId
739
+ sourceRecordIdentifier
740
+ rules
741
+ sectionDefinitions {
742
+ ${DECK_SECTION_DEFINITION_FIELDS}
743
+ }
744
+ rulesFingerprint
745
+ summary
746
+ sectionCount
747
+ copyLimitCount
748
+ `;
636
749
  var DECK_DIFF_FIELDS = `
637
750
  deckId
638
751
  fromVersionId
@@ -1783,6 +1896,67 @@ var QueryBuilder = {
1783
1896
  `
1784
1897
  };
1785
1898
  },
1899
+ fetchDatasetFilterValues(params) {
1900
+ if (params.fields.length === 0) {
1901
+ throw new ValidationError("fields must contain at least one field key");
1902
+ }
1903
+ const byId = params.id !== void 0;
1904
+ const byKeys = params.publisherSlug !== void 0 && params.gameKey !== void 0 && params.datasetKey !== void 0;
1905
+ if (!byId && !byKeys) {
1906
+ throw new ValidationError("provide either id or publisherSlug, gameKey, and datasetKey");
1907
+ }
1908
+ const definitions = ["$fields: [String!]!"];
1909
+ const filterValueArgs = ["fields: $fields"];
1910
+ const variables = { fields: params.fields };
1911
+ if (params.search !== void 0) {
1912
+ definitions.push("$search: String");
1913
+ filterValueArgs.push("search: $search");
1914
+ variables["search"] = params.search;
1915
+ }
1916
+ if (params.includeCounts !== void 0) {
1917
+ definitions.push("$includeCounts: Boolean");
1918
+ filterValueArgs.push("includeCounts: $includeCounts");
1919
+ variables["includeCounts"] = params.includeCounts;
1920
+ }
1921
+ if (params.first !== void 0) {
1922
+ definitions.push("$first: Int");
1923
+ filterValueArgs.push("first: $first");
1924
+ variables["first"] = params.first;
1925
+ }
1926
+ if (params.after !== void 0) {
1927
+ definitions.push("$after: String");
1928
+ filterValueArgs.push("after: $after");
1929
+ variables["after"] = params.after;
1930
+ }
1931
+ const datasetArgs = [];
1932
+ if (byId) {
1933
+ definitions.push("$id: UUID!");
1934
+ datasetArgs.push("id: $id");
1935
+ variables["id"] = params.id;
1936
+ } else {
1937
+ definitions.push("$publisherSlug: String!", "$gameKey: String!", "$datasetKey: String!");
1938
+ datasetArgs.push(
1939
+ "publisherSlug: $publisherSlug",
1940
+ "gameKey: $gameKey",
1941
+ "datasetKey: $datasetKey"
1942
+ );
1943
+ variables["publisherSlug"] = params.publisherSlug;
1944
+ variables["gameKey"] = params.gameKey;
1945
+ variables["datasetKey"] = params.datasetKey;
1946
+ }
1947
+ return {
1948
+ query: `
1949
+ query FetchDatasetFilterValues(${definitions.join(", ")}) {
1950
+ fetchDataset(${datasetArgs.join(", ")}) {
1951
+ filterValues(${filterValueArgs.join(", ")}) {
1952
+ ${DATASET_FILTER_VALUE_CONNECTION_FIELDS}
1953
+ }
1954
+ }
1955
+ }
1956
+ `,
1957
+ variables
1958
+ };
1959
+ },
1786
1960
  listDatasets(params) {
1787
1961
  const variables = { publisherId: params.publisherId };
1788
1962
  const args = ["publisherId: $publisherId"];
@@ -2688,6 +2862,261 @@ ${RESOLVED_LINKS_FIELDS}` : selectedRecordFields;
2688
2862
  `
2689
2863
  };
2690
2864
  },
2865
+ // Rulesets
2866
+ rulesets(params) {
2867
+ const variables = { gameId: params.gameId };
2868
+ const args = ["gameId: $gameId"];
2869
+ const defs = ["$gameId: UUID!"];
2870
+ if (params.includeArchived !== void 0) {
2871
+ defs.push("$includeArchived: Boolean");
2872
+ args.push("includeArchived: $includeArchived");
2873
+ variables["includeArchived"] = params.includeArchived;
2874
+ }
2875
+ if (params.first !== void 0) {
2876
+ defs.push("$first: Int");
2877
+ args.push("first: $first");
2878
+ variables["first"] = params.first;
2879
+ }
2880
+ if (params.after !== void 0) {
2881
+ defs.push("$after: String");
2882
+ args.push("after: $after");
2883
+ variables["after"] = params.after;
2884
+ }
2885
+ return {
2886
+ query: `
2887
+ query Rulesets(${defs.join(", ")}) {
2888
+ rulesets(${args.join(", ")}) {
2889
+ ${connectionFields(RULESET_FIELDS)}
2890
+ }
2891
+ }
2892
+ `,
2893
+ variables
2894
+ };
2895
+ },
2896
+ publicRulesets(params) {
2897
+ const variables = { gameId: params.gameId };
2898
+ const args = ["gameId: $gameId"];
2899
+ const defs = ["$gameId: UUID!"];
2900
+ if (params.first !== void 0) {
2901
+ defs.push("$first: Int");
2902
+ args.push("first: $first");
2903
+ variables["first"] = params.first;
2904
+ }
2905
+ if (params.after !== void 0) {
2906
+ defs.push("$after: String");
2907
+ args.push("after: $after");
2908
+ variables["after"] = params.after;
2909
+ }
2910
+ return {
2911
+ query: `
2912
+ query PublicRulesets(${defs.join(", ")}) {
2913
+ publicRulesets(${args.join(", ")}) {
2914
+ ${connectionFields(RULESET_FIELDS)}
2915
+ }
2916
+ }
2917
+ `,
2918
+ variables
2919
+ };
2920
+ },
2921
+ ruleset(params) {
2922
+ const variables = {};
2923
+ const args = [];
2924
+ const defs = [];
2925
+ if (params.id !== void 0) {
2926
+ defs.push("$id: UUID");
2927
+ args.push("id: $id");
2928
+ variables["id"] = params.id;
2929
+ }
2930
+ if (params.gameId !== void 0) {
2931
+ defs.push("$gameId: UUID");
2932
+ args.push("gameId: $gameId");
2933
+ variables["gameId"] = params.gameId;
2934
+ }
2935
+ if (params.key !== void 0) {
2936
+ defs.push("$key: String");
2937
+ args.push("key: $key");
2938
+ variables["key"] = params.key;
2939
+ }
2940
+ return {
2941
+ query: `
2942
+ query Ruleset(${defs.join(", ")}) {
2943
+ ruleset(${args.join(", ")}) {
2944
+ ${RULESET_FIELDS}
2945
+ }
2946
+ }
2947
+ `,
2948
+ variables
2949
+ };
2950
+ },
2951
+ rulesetVersions(params) {
2952
+ const variables = { rulesetId: params.rulesetId };
2953
+ const args = ["rulesetId: $rulesetId"];
2954
+ const defs = ["$rulesetId: UUID!"];
2955
+ if (params.status !== void 0) {
2956
+ defs.push("$status: RulesetVersionStatus");
2957
+ args.push("status: $status");
2958
+ variables["status"] = params.status;
2959
+ }
2960
+ if (params.first !== void 0) {
2961
+ defs.push("$first: Int");
2962
+ args.push("first: $first");
2963
+ variables["first"] = params.first;
2964
+ }
2965
+ if (params.after !== void 0) {
2966
+ defs.push("$after: String");
2967
+ args.push("after: $after");
2968
+ variables["after"] = params.after;
2969
+ }
2970
+ return {
2971
+ query: `
2972
+ query RulesetVersions(${defs.join(", ")}) {
2973
+ rulesetVersions(${args.join(", ")}) {
2974
+ ${connectionFields(RULESET_VERSION_FIELDS)}
2975
+ }
2976
+ }
2977
+ `,
2978
+ variables
2979
+ };
2980
+ },
2981
+ rulesetVersion() {
2982
+ return {
2983
+ query: `
2984
+ query RulesetVersion($id: UUID!) {
2985
+ rulesetVersion(id: $id) {
2986
+ ${RULESET_VERSION_FIELDS}
2987
+ }
2988
+ }
2989
+ `
2990
+ };
2991
+ },
2992
+ rulesetValidationRules() {
2993
+ return {
2994
+ query: `
2995
+ query RulesetValidationRules($gameId: UUID!, $rulesetKey: String!, $rulesetVersionId: UUID) {
2996
+ rulesetValidationRules(gameId: $gameId, rulesetKey: $rulesetKey, rulesetVersionId: $rulesetVersionId)
2997
+ }
2998
+ `
2999
+ };
3000
+ },
3001
+ deckValidationRules() {
3002
+ return {
3003
+ query: `
3004
+ query DeckValidationRules($gameId: UUID!, $rulesetKey: String!, $rulesetVersionId: UUID) {
3005
+ deckValidationRules(gameId: $gameId, rulesetKey: $rulesetKey, rulesetVersionId: $rulesetVersionId) {
3006
+ ${DECK_VALIDATION_RULES_FIELDS}
3007
+ }
3008
+ }
3009
+ `
3010
+ };
3011
+ },
3012
+ rulesetVersionDraftImportPreview() {
3013
+ return {
3014
+ query: `
3015
+ query RulesetVersionDraftImportPreview($rulesetId: UUID!, $input: RulesetVersionDraftImportFromDatasetRecordInput!) {
3016
+ rulesetVersionDraftImportPreview(rulesetId: $rulesetId, input: $input) {
3017
+ ${RULESET_VERSION_DRAFT_IMPORT_PREVIEW_FIELDS}
3018
+ }
3019
+ }
3020
+ `
3021
+ };
3022
+ },
3023
+ rulesetValidationImpact(params) {
3024
+ const variables = { rulesetVersionId: params.rulesetVersionId };
3025
+ const args = ["rulesetVersionId: $rulesetVersionId"];
3026
+ const defs = ["$rulesetVersionId: UUID!"];
3027
+ if (params.first !== void 0) {
3028
+ defs.push("$first: Int");
3029
+ args.push("first: $first");
3030
+ variables["first"] = params.first;
3031
+ }
3032
+ return {
3033
+ query: `
3034
+ query RulesetValidationImpact(${defs.join(", ")}) {
3035
+ rulesetValidationImpact(${args.join(", ")}) {
3036
+ ${RULESET_VALIDATION_IMPACT_FIELDS}
3037
+ }
3038
+ }
3039
+ `,
3040
+ variables
3041
+ };
3042
+ },
3043
+ createRuleset() {
3044
+ return {
3045
+ query: `
3046
+ mutation RulesetCreate($input: RulesetCreateInput!) {
3047
+ rulesetCreate(input: $input) {
3048
+ ${RULESET_FIELDS}
3049
+ }
3050
+ }
3051
+ `
3052
+ };
3053
+ },
3054
+ updateRuleset() {
3055
+ return {
3056
+ query: `
3057
+ mutation RulesetUpdate($id: UUID!, $input: RulesetUpdateInput!) {
3058
+ rulesetUpdate(id: $id, input: $input) {
3059
+ ${RULESET_FIELDS}
3060
+ }
3061
+ }
3062
+ `
3063
+ };
3064
+ },
3065
+ createRulesetVersionDraft() {
3066
+ return {
3067
+ query: `
3068
+ mutation RulesetVersionDraftCreate($rulesetId: UUID!, $input: RulesetVersionDraftCreateInput!) {
3069
+ rulesetVersionDraftCreate(rulesetId: $rulesetId, input: $input) {
3070
+ ${RULESET_VERSION_FIELDS}
3071
+ }
3072
+ }
3073
+ `
3074
+ };
3075
+ },
3076
+ importRulesetVersionDraftFromDatasetRecord() {
3077
+ return {
3078
+ query: `
3079
+ mutation RulesetVersionDraftImportFromDatasetRecord($rulesetId: UUID!, $input: RulesetVersionDraftImportFromDatasetRecordInput!) {
3080
+ rulesetVersionDraftImportFromDatasetRecord(rulesetId: $rulesetId, input: $input) {
3081
+ ${RULESET_VERSION_FIELDS}
3082
+ }
3083
+ }
3084
+ `
3085
+ };
3086
+ },
3087
+ updateRulesetVersionDraft() {
3088
+ return {
3089
+ query: `
3090
+ mutation RulesetVersionDraftUpdate($id: UUID!, $input: RulesetVersionDraftUpdateInput!) {
3091
+ rulesetVersionDraftUpdate(id: $id, input: $input) {
3092
+ ${RULESET_VERSION_FIELDS}
3093
+ }
3094
+ }
3095
+ `
3096
+ };
3097
+ },
3098
+ publishRulesetVersion() {
3099
+ return {
3100
+ query: `
3101
+ mutation RulesetVersionPublish($id: UUID!, $input: RulesetVersionPublishInput) {
3102
+ rulesetVersionPublish(id: $id, input: $input) {
3103
+ ${RULESET_VERSION_FIELDS}
3104
+ }
3105
+ }
3106
+ `
3107
+ };
3108
+ },
3109
+ activateRulesetVersion() {
3110
+ return {
3111
+ query: `
3112
+ mutation RulesetVersionActivate($id: UUID!) {
3113
+ rulesetVersionActivate(id: $id) {
3114
+ ${RULESET_VERSION_FIELDS}
3115
+ }
3116
+ }
3117
+ `
3118
+ };
3119
+ },
2691
3120
  // Decks
2692
3121
  listMyDecks(params = {}) {
2693
3122
  const variables = {};
@@ -3462,6 +3891,30 @@ ${RESOLVED_LINKS_FIELDS}` : selectedRecordFields;
3462
3891
  `
3463
3892
  };
3464
3893
  },
3894
+ rulesetValidationRulesVariables(gameId, rulesetKey, rulesetVersionId) {
3895
+ return rulesetVersionId === void 0 ? { gameId, rulesetKey } : { gameId, rulesetKey, rulesetVersionId };
3896
+ },
3897
+ rulesetVersionDraftImportPreviewVariables(rulesetId, input) {
3898
+ return { rulesetId, input };
3899
+ },
3900
+ rulesetCreateVariables(input) {
3901
+ return { input };
3902
+ },
3903
+ rulesetUpdateVariables(id, input) {
3904
+ return { id, input };
3905
+ },
3906
+ rulesetVersionDraftCreateVariables(rulesetId, input) {
3907
+ return { rulesetId, input };
3908
+ },
3909
+ rulesetVersionDraftImportFromDatasetRecordVariables(rulesetId, input) {
3910
+ return { rulesetId, input };
3911
+ },
3912
+ rulesetVersionDraftUpdateVariables(id, input) {
3913
+ return { id, input };
3914
+ },
3915
+ rulesetVersionPublishVariables(id, input) {
3916
+ return input === void 0 ? { id } : { id, input };
3917
+ },
3465
3918
  deckCreateVariables(input) {
3466
3919
  return { input: normalizeDeckJsonInput(input) };
3467
3920
  },