@vannizhang/living-atlas-content-validator 1.5.19 → 1.5.20

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.
Files changed (102) hide show
  1. package/README.md +230 -20
  2. package/dist/configureSettings.d.ts +1 -15
  3. package/dist/configureSettings.js +13 -9
  4. package/dist/configureSettings.js.map +1 -1
  5. package/dist/index.d.ts +18 -6
  6. package/dist/index.js +28 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/accessInformation/isValidAccessInformation.js +1 -0
  9. package/dist/lib/accessInformation/isValidAccessInformation.js.map +1 -1
  10. package/dist/lib/checkTitleAndSnippetSearchability/checkTitleAndSnippetSearchability.js +1 -0
  11. package/dist/lib/checkTitleAndSnippetSearchability/checkTitleAndSnippetSearchability.js.map +1 -1
  12. package/dist/lib/config.d.ts +5 -0
  13. package/dist/lib/config.js +37 -1
  14. package/dist/lib/config.js.map +1 -1
  15. package/dist/lib/deleteProtection/isDeleteProtectionEnabled.js +1 -0
  16. package/dist/lib/deleteProtection/isDeleteProtectionEnabled.js.map +1 -1
  17. package/dist/lib/deprecated/isDeprecated.js +1 -0
  18. package/dist/lib/deprecated/isDeprecated.js.map +1 -1
  19. package/dist/lib/description/isValidDescription.js +1 -0
  20. package/dist/lib/description/isValidDescription.js.map +1 -1
  21. package/dist/lib/featureServiceCDNSetting/checkFeatureServiceCDNSetting.d.ts +10 -0
  22. package/dist/lib/featureServiceCDNSetting/checkFeatureServiceCDNSetting.js +52 -0
  23. package/dist/lib/featureServiceCDNSetting/checkFeatureServiceCDNSetting.js.map +1 -0
  24. package/dist/lib/featureServiceExportDataSetting/checkFeatureServiceExportSetting.d.ts +8 -0
  25. package/dist/lib/featureServiceExportDataSetting/checkFeatureServiceExportSetting.js +54 -0
  26. package/dist/lib/featureServiceExportDataSetting/checkFeatureServiceExportSetting.js.map +1 -0
  27. package/dist/lib/featureServiceExtents/checkFeatureServiceExtents.d.ts +16 -0
  28. package/dist/lib/featureServiceExtents/checkFeatureServiceExtents.js +83 -0
  29. package/dist/lib/featureServiceExtents/checkFeatureServiceExtents.js.map +1 -0
  30. package/dist/lib/featureServiceExtents/checkFeatureServiceExtentsHelpers.d.ts +17 -0
  31. package/dist/lib/featureServiceExtents/checkFeatureServiceExtentsHelpers.js +33 -0
  32. package/dist/lib/featureServiceExtents/checkFeatureServiceExtentsHelpers.js.map +1 -0
  33. package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js +1 -0
  34. package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js.map +1 -1
  35. package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js +1 -0
  36. package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js.map +1 -1
  37. package/dist/lib/featureServiceFieldIndexes/checkFeatureServiceFieldIndexes.d.ts +10 -0
  38. package/dist/lib/featureServiceFieldIndexes/checkFeatureServiceFieldIndexes.js +53 -0
  39. package/dist/lib/featureServiceFieldIndexes/checkFeatureServiceFieldIndexes.js.map +1 -0
  40. package/dist/lib/featureServiceFieldIndexes/featureServiceFieldIndexesHelpers.d.ts +7 -0
  41. package/dist/lib/featureServiceFieldIndexes/featureServiceFieldIndexesHelpers.js +27 -0
  42. package/dist/lib/featureServiceFieldIndexes/featureServiceFieldIndexesHelpers.js.map +1 -0
  43. package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js +1 -0
  44. package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js.map +1 -1
  45. package/dist/lib/itemExtent/checkItemExtent.d.ts +27 -0
  46. package/dist/lib/itemExtent/checkItemExtent.js +102 -0
  47. package/dist/lib/itemExtent/checkItemExtent.js.map +1 -0
  48. package/dist/lib/itemExtent/checkItemExtentHelpers.d.ts +38 -0
  49. package/dist/lib/itemExtent/checkItemExtentHelpers.js +132 -0
  50. package/dist/lib/itemExtent/checkItemExtentHelpers.js.map +1 -0
  51. package/dist/lib/itemExtent/scoringConfig.d.ts +9 -0
  52. package/dist/lib/itemExtent/scoringConfig.js +13 -0
  53. package/dist/lib/itemExtent/scoringConfig.js.map +1 -0
  54. package/dist/lib/licenseInfo/isValidLicenseInfo.js +1 -0
  55. package/dist/lib/licenseInfo/isValidLicenseInfo.js.map +1 -1
  56. package/dist/lib/sharing/isValidAccess.js +1 -0
  57. package/dist/lib/sharing/isValidAccess.js.map +1 -1
  58. package/dist/lib/ssl/isValidSSL.js +3 -0
  59. package/dist/lib/ssl/isValidSSL.js.map +1 -1
  60. package/dist/lib/summary/isValidSummary.js +1 -0
  61. package/dist/lib/summary/isValidSummary.js.map +1 -1
  62. package/dist/lib/tags/isValidTags.js +1 -0
  63. package/dist/lib/tags/isValidTags.js.map +1 -1
  64. package/dist/lib/thumbnail/isValidThumbnail.js +1 -0
  65. package/dist/lib/thumbnail/isValidThumbnail.js.map +1 -1
  66. package/dist/lib/title/isValidTitle.js +1 -0
  67. package/dist/lib/title/isValidTitle.js.map +1 -1
  68. package/dist/lib/userProfileDescription/isValidUserProfileDescription.js +1 -0
  69. package/dist/lib/userProfileDescription/isValidUserProfileDescription.js.map +1 -1
  70. package/dist/lib/userProfileName/isValidUserProfileName.js +1 -0
  71. package/dist/lib/userProfileName/isValidUserProfileName.js.map +1 -1
  72. package/dist/lib/userProfileThumbnail/isValidUserProfileThumbnail.js +1 -0
  73. package/dist/lib/userProfileThumbnail/isValidUserProfileThumbnail.js.map +1 -1
  74. package/dist/lib/util/isFeatureService.d.ts +6 -0
  75. package/dist/lib/util/isFeatureService.js +21 -1
  76. package/dist/lib/util/isFeatureService.js.map +1 -1
  77. package/dist/lib/util/shouldValidateByBetaRules.d.ts +0 -1
  78. package/dist/lib/util/shouldValidateByBetaRules.js +27 -26
  79. package/dist/lib/util/shouldValidateByBetaRules.js.map +1 -1
  80. package/dist/lib/util/stringsConfig.d.ts +5 -1
  81. package/dist/lib/util/stringsConfig.js +60 -22
  82. package/dist/lib/util/stringsConfig.js.map +1 -1
  83. package/dist/lib/validate/validate.d.ts +14 -2
  84. package/dist/lib/validate/validate.js +28 -1
  85. package/dist/lib/validate/validate.js.map +1 -1
  86. package/dist/locale/en.json +49 -6
  87. package/dist/package-info.json +1 -1
  88. package/dist/services/feature-service/fetchFeatureServiceAdminJSON.d.ts +14 -0
  89. package/dist/services/feature-service/fetchFeatureServiceAdminJSON.js +57 -0
  90. package/dist/services/feature-service/fetchFeatureServiceAdminJSON.js.map +1 -0
  91. package/dist/services/feature-service/fetchFeatureServiceRootJSON.d.ts +16 -0
  92. package/dist/services/feature-service/fetchFeatureServiceRootJSON.js +84 -0
  93. package/dist/services/feature-service/fetchFeatureServiceRootJSON.js.map +1 -0
  94. package/dist/types/index.d.ts +179 -2
  95. package/dist/types/index.js +5 -0
  96. package/dist/types/index.js.map +1 -1
  97. package/package.json +2 -2
  98. package/dist/locale/de.json +0 -201
  99. package/dist/locale/es.json +0 -201
  100. package/dist/locale/fr.json +0 -201
  101. package/dist/locale/ja.json +0 -201
  102. package/dist/locale/pt-br.json +0 -201
@@ -14,3 +14,8 @@ export declare const LIVING_ATLAS_SUPPORTED_ITEM_TYPES: readonly ["CityEngine We
14
14
  * Type definition for Living Atlas supported item types.
15
15
  */
16
16
  export type LivingAtlasSupportedItemType = (typeof LIVING_ATLAS_SUPPORTED_ITEM_TYPES)[number];
17
+ /**
18
+ * Account that are recognized as official Esri accounts.
19
+ * This list is used in the Living Atlas Browse page to query Esri-owned content.
20
+ */
21
+ export declare const ESRI_OFFICIAL_ACCOUNTS: string[];
@@ -28,7 +28,7 @@
28
28
  // // CITY_ENGINE: 'City Engine',
29
29
  // };
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.LIVING_ATLAS_SUPPORTED_ITEM_TYPES = exports.PROHIBITED_LIST = exports.MINIMUM_SCORE_THRESHHOLD = void 0;
31
+ exports.ESRI_OFFICIAL_ACCOUNTS = exports.LIVING_ATLAS_SUPPORTED_ITEM_TYPES = exports.PROHIBITED_LIST = exports.MINIMUM_SCORE_THRESHHOLD = void 0;
32
32
  /**
33
33
  * Threshold of the minimum total score
34
34
  */
@@ -170,4 +170,40 @@ exports.LIVING_ATLAS_SUPPORTED_ITEM_TYPES = [
170
170
  'Geoprocessing Sample',
171
171
  ];
172
172
  // export default config;
173
+ /**
174
+ * Account that are recognized as official Esri accounts.
175
+ * This list is used in the Living Atlas Browse page to query Esri-owned content.
176
+ */
177
+ exports.ESRI_OFFICIAL_ACCOUNTS = [
178
+ 'esri',
179
+ 'esri_Landscape',
180
+ 'esri_dm',
181
+ 'esri_basemaps',
182
+ 'esri_vector',
183
+ 'esri_livefeeds',
184
+ 'esri_oceans',
185
+ 'esri_demographics',
186
+ 'esri_observations',
187
+ 'esri_landscape2',
188
+ 'Esri_GI',
189
+ 'esri_livefeeds2',
190
+ 'esri_analytics',
191
+ 'esri_imagery',
192
+ 'Esri_US_Federal_Data',
193
+ 'esri_environment',
194
+ 'esri_webstyles',
195
+ 'esri_atlas',
196
+ 'esri_communitymaps',
197
+ 'esri_dashboardpub',
198
+ 'esri_data_development',
199
+ 'esri_ecm',
200
+ 'esri_elevation',
201
+ 'esri_historical',
202
+ 'esri_hydro',
203
+ 'esri_policymaps',
204
+ 'esri_premium',
205
+ 'esri_storymaps',
206
+ 'Federal_User_Community',
207
+ 'StoryMaps',
208
+ ];
173
209
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";AAAA,mBAAmB;AACnB,qDAAqD;AACrD,8BAA8B;AAC9B,sCAAsC;AACtC,gDAAgD;AAChD,0CAA0C;AAC1C,sCAAsC;AACtC,kCAAkC;AAClC,0CAA0C;AAC1C,4DAA4D;AAC5D,oCAAoC;AACpC,sDAAsD;AACtD,sCAAsC;AACtC,6BAA6B;AAC7B,sBAAsB;AACtB,sCAAsC;AACtC,kDAAkD;AAClD,wCAAwC;AACxC,0DAA0D;AAC1D,0BAA0B;AAC1B,0DAA0D;AAC1D,8BAA8B;AAC9B,kBAAkB;AAClB,yDAAyD;AACzD,yCAAyC;AACzC,mDAAmD;AACnD,qCAAqC;AACrC,KAAK;;;AAEL;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;GAEG;AACU,QAAA,eAAe,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,iCAAiC,GAAG;IAC7C;;;OAGG;IACH,sBAAsB;IACtB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,uBAAuB;IACvB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,eAAe;IACf,oBAAoB;IACpB;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,aAAa;IACb;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,0BAA0B;IAC1B;;;OAGG;IACH,cAAc;IACd;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,UAAU;IACV;;;OAGG;IACH,OAAO;IACP;;;OAGG;IACH,qBAAqB;IACrB;;;OAGG;IACH,gBAAgB;IAChB;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,SAAS;IACT;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,KAAK;IACL;;;OAGG;IACH,aAAa;IACb,MAAM;IACN,cAAc;IACd,+EAA+E;IAC/E,MAAM;IACN,iBAAiB;IACjB;;;;OAIG;IACH,sBAAsB;CAChB,CAAC;AAQX,yBAAyB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";AAAA,mBAAmB;AACnB,qDAAqD;AACrD,8BAA8B;AAC9B,sCAAsC;AACtC,gDAAgD;AAChD,0CAA0C;AAC1C,sCAAsC;AACtC,kCAAkC;AAClC,0CAA0C;AAC1C,4DAA4D;AAC5D,oCAAoC;AACpC,sDAAsD;AACtD,sCAAsC;AACtC,6BAA6B;AAC7B,sBAAsB;AACtB,sCAAsC;AACtC,kDAAkD;AAClD,wCAAwC;AACxC,0DAA0D;AAC1D,0BAA0B;AAC1B,0DAA0D;AAC1D,8BAA8B;AAC9B,kBAAkB;AAClB,yDAAyD;AACzD,yCAAyC;AACzC,mDAAmD;AACnD,qCAAqC;AACrC,KAAK;;;AAEL;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;GAEG;AACU,QAAA,eAAe,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,iCAAiC,GAAG;IAC7C;;;OAGG;IACH,sBAAsB;IACtB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,uBAAuB;IACvB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,eAAe;IACf,oBAAoB;IACpB;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,aAAa;IACb;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,0BAA0B;IAC1B;;;OAGG;IACH,cAAc;IACd;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,UAAU;IACV;;;OAGG;IACH,OAAO;IACP;;;OAGG;IACH,qBAAqB;IACrB;;;OAGG;IACH,gBAAgB;IAChB;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,SAAS;IACT;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,KAAK;IACL;;;OAGG;IACH,aAAa;IACb,MAAM;IACN,cAAc;IACd,+EAA+E;IAC/E,MAAM;IACN,iBAAiB;IACjB;;;;OAIG;IACH,sBAAsB;CAChB,CAAC;AAQX,yBAAyB;AAEzB;;;GAGG;AACU,QAAA,sBAAsB,GAAG;IAClC,MAAM;IACN,gBAAgB;IAChB,SAAS;IACT,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,wBAAwB;IACxB,WAAW;CACd,CAAC"}
@@ -29,6 +29,7 @@ const isDeleteProtectionEnabled = (item) => {
29
29
  // the status will be updated afterward based on the validation result
30
30
  status: 'unknown',
31
31
  isBinaryCheck: true,
32
+ isAdvisory: false,
32
33
  };
33
34
  if (!isProtected) {
34
35
  validationOutput.messages.push({
@@ -1 +1 @@
1
- {"version":3,"file":"isDeleteProtectionEnabled.js","sourceRoot":"","sources":["../../../src/lib/deleteProtection/isDeleteProtectionEnabled.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;GAOG;AACI,MAAM,yBAAyB,GAAG,CAAC,IAAW,EAAkB,EAAE;IACrE,MAAM,WAAW,GAAY,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAE/C,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,wBAAwB;QAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,qFAAqF;QACrF,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,kBAAkB;QAClB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACtB,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,qCAAqC;SACzD,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC1B,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC;IAEjE,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAnCW,QAAA,yBAAyB,6BAmCpC"}
1
+ {"version":3,"file":"isDeleteProtectionEnabled.js","sourceRoot":"","sources":["../../../src/lib/deleteProtection/isDeleteProtectionEnabled.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;GAOG;AACI,MAAM,yBAAyB,GAAG,CAAC,IAAW,EAAkB,EAAE;IACrE,MAAM,WAAW,GAAY,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAE/C,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,wBAAwB;QAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,qFAAqF;QACrF,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,kBAAkB;QAClB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,qCAAqC;SACzD,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC1B,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC;IAEjE,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AApCW,QAAA,yBAAyB,6BAoCpC"}
@@ -27,6 +27,7 @@ const isDeprecated = (item) => {
27
27
  // the status will be updated afterward based on the validation result
28
28
  status: 'unknown',
29
29
  isBinaryCheck: true,
30
+ isAdvisory: false,
30
31
  };
31
32
  if (contentStatus === 'deprecated') {
32
33
  validationOutput.messages.push({
@@ -1 +1 @@
1
- {"version":3,"file":"isDeprecated.js","sourceRoot":"","sources":["../../../src/lib/deprecated/isDeprecated.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;GAOG;AACI,MAAM,YAAY,GAAG,CAAC,IAAW,EAAkB,EAAE;IACxD,MAAM,aAAa,GAAW,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,KAAI,EAAE,CAAC;IAExD,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;IAEzC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,iBAAiB;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACtB,CAAC;IAEF,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,kBAAkB;SACtC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC1B,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAE/D,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAjCW,QAAA,YAAY,gBAiCvB"}
1
+ {"version":3,"file":"isDeprecated.js","sourceRoot":"","sources":["../../../src/lib/deprecated/isDeprecated.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;GAOG;AACI,MAAM,YAAY,GAAG,CAAC,IAAW,EAAkB,EAAE;IACxD,MAAM,aAAa,GAAW,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,KAAI,EAAE,CAAC;IAExD,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;IAEzC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,iBAAiB;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,kBAAkB;SACtC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC1B,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAE/D,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
@@ -63,6 +63,7 @@ const isValidDescription = (item) => {
63
63
  // the status will be updated afterward based on the validation result
64
64
  status: 'unknown',
65
65
  isBinaryCheck: false,
66
+ isAdvisory: false,
66
67
  };
67
68
  // /**
68
69
  // * We should check the Description and see if it contains key words like "Data Source" or similar
@@ -1 +1 @@
1
- {"version":3,"file":"isValidDescription.js","sourceRoot":"","sources":["../../../src/lib/description/isValidDescription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isValidDescription.js","sourceRoot":"","sources":["../../../src/lib/description/isValidDescription.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,yDAAyD;AACzD,uDAAoD;AACpD,+DAA4D;AAC5D,6CAA0C;AAC1C,6DAGiC;AAEjC,yDAAyD;AACzD,mDAAgD;AAIhD;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAW,EAAkB,EAAE;IAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE7B,8CAA8C;IAC9C,sCAAsC;IAEtC,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAC1D,kBAAkB;IAClB,6CAA6C;IAC7C,oDAAoD;IAEpD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,+DAA+D;QAC/D,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,aAAa,CAAC;IAChE,CAAC;IACD,sBAAsB;IACtB,oDAAoD;IACpD,4DAA4D;IAC5D,IAAI;IAEJ,mBAAmB;IACnB,6DAA6D;IAE7D,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,kBAAkB;QACpC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK;QACtC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK;QACtC,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,kBAAkB;QAClB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,MAAM;IACN,oGAAoG;IACpG,yCAAyC;IACzC,MAAM;IACN,4DAA4D;IAE5D,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAA,uBAAY,EAAC,WAAW,EAAE;QAC3C,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,0DAA0D;IAC1D,oDAAoD;IACpD,IACI,CAAC,IAAA,2BAAY,EAAC,WAAW,CAAC;QAC1B,IAAA,iBAAO,EAAC,WAAW,CAAC;QACpB,IAAA,iBAAO,EAAC,YAAY,CAAC,EACvB,CAAC;QACC,gBAAgB,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,oBAAoB,CAAC;QACxE,uDAAuD;QACvD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,qDAAqD;YACrD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,oBAAoB;SAC1D,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,qDAAqD;IACrD,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,iBAAiB,CAAC;IAEnE,sGAAsG;IACtG,0DAA0D;IAC1D,+CAA+C;IAC/C,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,uDAAuD;YACvD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,sBAAsB;SAC5D,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,oDAAoD;QACpD,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC;IACrE,CAAC;IAED,8EAA8E;IAC9E,IAAI,MAAM,KAAK,IAAI,IAAI,IAAA,mCAAgB,EAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,2DAA2D;YAC3D,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,0BAA0B;SAChE,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,sDAAsD;QACtD,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,iBAAiB,CAAC;IACvE,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AApGW,QAAA,kBAAkB,sBAoG7B"}
@@ -0,0 +1,10 @@
1
+ import { FeatureServiceAdminJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ * Checks if the Feature Service has CDN enabled.
4
+ * @param item - The ArcGIS item to validate
5
+ * @param featureServiceAdminJSON - The admin JSON of the Feature Service
6
+ * @returns A ValidationInfo object containing the validation result
7
+ *
8
+ * @see https://developers.arcgis.com/documentation/portal-and-data-services/data-services/feature-services/cdn-caching/#how-the-cdn-cache-works
9
+ */
10
+ export declare const checkFeatureServiceCDNSetting: (item: IItem, featureServiceAdminJSON: FeatureServiceAdminJSON) => ValidationInfo;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkFeatureServiceCDNSetting = void 0;
4
+ const isFeatureService_1 = require("../util/isFeatureService");
5
+ const stringsConfig_1 = require("../util/stringsConfig");
6
+ /**
7
+ * Checks if the Feature Service has CDN enabled.
8
+ * @param item - The ArcGIS item to validate
9
+ * @param featureServiceAdminJSON - The admin JSON of the Feature Service
10
+ * @returns A ValidationInfo object containing the validation result
11
+ *
12
+ * @see https://developers.arcgis.com/documentation/portal-and-data-services/data-services/feature-services/cdn-caching/#how-the-cdn-cache-works
13
+ */
14
+ const checkFeatureServiceCDNSetting = (item, featureServiceAdminJSON) => {
15
+ const strings = (0, stringsConfig_1.getStringsConfig)();
16
+ const { LABEL, TITLE, CDN_NOT_ENABLED_MESSAGE } = strings.featureServiceCDNSetting;
17
+ const validationOutput = {
18
+ validationRuleId: 'feature-service-cdn-setting',
19
+ label: LABEL,
20
+ title: TITLE,
21
+ maxScore: 0,
22
+ score: 0,
23
+ messages: [],
24
+ weight: 0,
25
+ scoringFactor: 0,
26
+ status: 'unknown',
27
+ isBinaryCheck: true,
28
+ isAdvisory: true,
29
+ };
30
+ if ((0, isFeatureService_1.isFeatureService)(item) === false) {
31
+ return Object.assign(Object.assign({}, validationOutput), { status: 'not-applicable' });
32
+ }
33
+ // Return early if no admin JSON is provided with the status 'unknown',
34
+ // this happens when validate an item that is not owned by the user
35
+ if (!featureServiceAdminJSON) {
36
+ return validationOutput;
37
+ }
38
+ const { adminServiceInfo } = featureServiceAdminJSON;
39
+ // if cacheMaxAge is not set or is 0, then CDN is not enabled
40
+ // return warning status with message to enable CDN
41
+ if (!(adminServiceInfo === null || adminServiceInfo === void 0 ? void 0 : adminServiceInfo.cacheMaxAge)) {
42
+ validationOutput.messages.push({
43
+ message: CDN_NOT_ENABLED_MESSAGE,
44
+ });
45
+ validationOutput.status = 'warning';
46
+ return validationOutput;
47
+ }
48
+ validationOutput.status = 'pass';
49
+ return validationOutput;
50
+ };
51
+ exports.checkFeatureServiceCDNSetting = checkFeatureServiceCDNSetting;
52
+ //# sourceMappingURL=checkFeatureServiceCDNSetting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkFeatureServiceCDNSetting.js","sourceRoot":"","sources":["../../../src/lib/featureServiceCDNSetting/checkFeatureServiceCDNSetting.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAC5D,yDAAyD;AAEzD;;;;;;;GAOG;AACI,MAAM,6BAA6B,GAAG,CACzC,IAAW,EACX,uBAAgD,EAClC,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAC3C,OAAO,CAAC,wBAAwB,CAAC;IAErC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,6BAA6B;QAC/C,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,IAAA,mCAAgB,EAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,uCACO,gBAAgB,KACnB,MAAM,EAAE,gBAAgB,IAC1B;IACN,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,uBAAuB,CAAC;IAErD,6DAA6D;IAC7D,mDAAmD;IACnD,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,uBAAuB;SACnC,CAAC,CAAC;QACH,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC;QAEpC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAnDW,QAAA,6BAA6B,iCAmDxC"}
@@ -0,0 +1,8 @@
1
+ import { FeatureServiceAdminJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ *
4
+ * @param item ArcGIS Online item to validate
5
+ * @param featureServiceAdminJSON Feature Service admin JSON
6
+ * @returns ValidationInfo object containing the validation result
7
+ */
8
+ export declare const checkFeatureServiceExportSetting: (item: IItem, featureServiceAdminJSON: FeatureServiceAdminJSON) => ValidationInfo;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkFeatureServiceExportSetting = void 0;
4
+ const isFeatureService_1 = require("../util/isFeatureService");
5
+ const stringsConfig_1 = require("../util/stringsConfig");
6
+ /**
7
+ *
8
+ * @param item ArcGIS Online item to validate
9
+ * @param featureServiceAdminJSON Feature Service admin JSON
10
+ * @returns ValidationInfo object containing the validation result
11
+ */
12
+ const checkFeatureServiceExportSetting = (item, featureServiceAdminJSON) => {
13
+ const strings = (0, stringsConfig_1.getStringsConfig)();
14
+ const { LABEL, TITLE, EXPORT_DATA_ENABLED_MESSAGE } = strings.featureServiceExportDataSetting;
15
+ const validationOutput = {
16
+ validationRuleId: 'feature-service-export-data-setting',
17
+ label: LABEL,
18
+ title: TITLE,
19
+ maxScore: 0,
20
+ score: 0,
21
+ messages: [],
22
+ weight: 0,
23
+ scoringFactor: 0,
24
+ status: 'unknown',
25
+ isBinaryCheck: true,
26
+ isAdvisory: true,
27
+ };
28
+ if ((0, isFeatureService_1.isFeatureService)(item) === false) {
29
+ return Object.assign(Object.assign({}, validationOutput), { status: 'not-applicable' });
30
+ }
31
+ // Return early if no admin JSON is provided with the status 'unknown',
32
+ // this happens when validate an item that is not owned by the user
33
+ if (!featureServiceAdminJSON) {
34
+ return validationOutput;
35
+ }
36
+ const capabilities = featureServiceAdminJSON === null || featureServiceAdminJSON === void 0 ? void 0 : featureServiceAdminJSON.capabilities;
37
+ // Return unknown status if capabilities is not defined
38
+ if (!capabilities) {
39
+ return Object.assign(Object.assign({}, validationOutput), { status: 'unknown' });
40
+ }
41
+ // if the feature service has Extract capability, then export is enabled,
42
+ // should return warning status to indicate export is enabled
43
+ // so that user can confirm this setting is intentional.
44
+ if (capabilities === null || capabilities === void 0 ? void 0 : capabilities.toLowerCase().includes('extract')) {
45
+ validationOutput.messages.push({
46
+ message: EXPORT_DATA_ENABLED_MESSAGE,
47
+ });
48
+ validationOutput.status = 'warning';
49
+ return validationOutput;
50
+ }
51
+ return Object.assign(Object.assign({}, validationOutput), { status: 'pass' });
52
+ };
53
+ exports.checkFeatureServiceExportSetting = checkFeatureServiceExportSetting;
54
+ //# sourceMappingURL=checkFeatureServiceExportSetting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkFeatureServiceExportSetting.js","sourceRoot":"","sources":["../../../src/lib/featureServiceExportDataSetting/checkFeatureServiceExportSetting.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAC5D,yDAAyD;AAEzD;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,CAC5C,IAAW,EACX,uBAAgD,EAClC,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,GAC/C,OAAO,CAAC,+BAA+B,CAAC;IAE5C,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,qCAAqC;QACvD,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,IAAA,mCAAgB,EAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,uCACO,gBAAgB,KACnB,MAAM,EAAE,gBAAgB,IAC1B;IACN,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,YAAY,CAAC;IAE3D,uDAAuD;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,uCACO,gBAAgB,KACnB,MAAM,EAAE,SAAS,IACnB;IACN,CAAC;IAED,yEAAyE;IACzE,6DAA6D;IAC7D,wDAAwD;IACxD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,2BAA2B;SACvC,CAAC,CAAC;QACH,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC;QAEpC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,uCACO,gBAAgB,KACnB,MAAM,EAAE,MAAM,IAChB;AACN,CAAC,CAAC;AA9DW,QAAA,gCAAgC,oCA8D3C"}
@@ -0,0 +1,16 @@
1
+ import { FeatureLayerJSON, FeatureServiceAdminJSON, FeatureServiceJSON, IItem, ValidationInfo } from '../../types';
2
+ type CheckFeatureServiceExtentsOptions = {
3
+ layers: FeatureLayerJSON[];
4
+ featureServiceAdminJSON?: FeatureServiceAdminJSON;
5
+ featureServiceRootJSON?: FeatureServiceJSON;
6
+ };
7
+ /**
8
+ * Check the Full Extent, Initial Extent and Layers Extents of a Feature Service
9
+ * @param item ArcGIS Online item to validate
10
+ * @param options.layers Array of FeatureLayerJSON representing the layers in the Feature Service
11
+ * @param options.featureServiceAdminJSON Feature Service admin JSON, if not provided, Full Extent and Initial Extent will be checked from Feature Service root JSON
12
+ * @param options.featureServiceRootJSON Feature Service root JSON, used to check Full Extent and Initial Extent if admin JSON is not provided
13
+ * @returns ValidationInfo object containing the validation result
14
+ */
15
+ export declare const checkFeatureServiceExtents: (item: IItem, { layers, featureServiceAdminJSON, featureServiceRootJSON, }: CheckFeatureServiceExtentsOptions) => ValidationInfo;
16
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkFeatureServiceExtents = void 0;
4
+ const isFeatureService_1 = require("../util/isFeatureService");
5
+ const stringsConfig_1 = require("../util/stringsConfig");
6
+ const checkFeatureServiceExtentsHelpers_1 = require("./checkFeatureServiceExtentsHelpers");
7
+ /**
8
+ * Check the Full Extent, Initial Extent and Layers Extents of a Feature Service
9
+ * @param item ArcGIS Online item to validate
10
+ * @param options.layers Array of FeatureLayerJSON representing the layers in the Feature Service
11
+ * @param options.featureServiceAdminJSON Feature Service admin JSON, if not provided, Full Extent and Initial Extent will be checked from Feature Service root JSON
12
+ * @param options.featureServiceRootJSON Feature Service root JSON, used to check Full Extent and Initial Extent if admin JSON is not provided
13
+ * @returns ValidationInfo object containing the validation result
14
+ */
15
+ const checkFeatureServiceExtents = (item, { layers, featureServiceAdminJSON, featureServiceRootJSON, }) => {
16
+ const strings = (0, stringsConfig_1.getStringsConfig)();
17
+ const { LABEL, TITLE, FULL_EXTENT_ISSUE_MESSAGE, INITIAL_EXTENT_ISSUE_MESSAGE, LAYER_EXTENT_ISSUE_MESSAGE, } = strings.featureServiceExtents;
18
+ const validationOutput = {
19
+ validationRuleId: 'feature-service-extents',
20
+ label: LABEL,
21
+ title: TITLE,
22
+ maxScore: 0,
23
+ score: 0,
24
+ messages: [],
25
+ weight: 0,
26
+ scoringFactor: 0,
27
+ status: 'unknown',
28
+ isBinaryCheck: true,
29
+ isAdvisory: true,
30
+ };
31
+ // If item is not a Feature Service or is a Feature Table, return not-applicable
32
+ if ((0, isFeatureService_1.isFeatureService)(item) === false || (0, isFeatureService_1.isFeatureTable)(item) === true) {
33
+ return Object.assign(Object.assign({}, validationOutput), { status: 'not-applicable' });
34
+ }
35
+ // If both admin and root JSON are not provided, return unknown
36
+ // as the initial extent and full extent cannot be validated
37
+ if (!featureServiceAdminJSON && !featureServiceRootJSON) {
38
+ return Object.assign(Object.assign({}, validationOutput), { status: 'unknown' });
39
+ }
40
+ // Check Full Extent of the Feature Service
41
+ const fullExtent = (featureServiceAdminJSON === null || featureServiceAdminJSON === void 0 ? void 0 : featureServiceAdminJSON.fullExtent) ||
42
+ (featureServiceRootJSON === null || featureServiceRootJSON === void 0 ? void 0 : featureServiceRootJSON.fullExtent) ||
43
+ null;
44
+ const hasValidFullExtent = (0, checkFeatureServiceExtentsHelpers_1.isValidFeatureServiceExtent)(fullExtent);
45
+ if (!hasValidFullExtent) {
46
+ validationOutput.messages.push({
47
+ message: FULL_EXTENT_ISSUE_MESSAGE,
48
+ });
49
+ }
50
+ // Check initial Extent of the Feature Service
51
+ const initialExtent = (featureServiceAdminJSON === null || featureServiceAdminJSON === void 0 ? void 0 : featureServiceAdminJSON.initialExtent) ||
52
+ (featureServiceRootJSON === null || featureServiceRootJSON === void 0 ? void 0 : featureServiceRootJSON.initialExtent) ||
53
+ null;
54
+ const hasValidInitialExtent = (0, checkFeatureServiceExtentsHelpers_1.isValidFeatureServiceExtent)(initialExtent);
55
+ if (!hasValidInitialExtent) {
56
+ validationOutput.messages.push({
57
+ message: INITIAL_EXTENT_ISSUE_MESSAGE,
58
+ });
59
+ }
60
+ let hasValidLayerExtents = true;
61
+ // Check Extent of each layer
62
+ for (const layer of layers) {
63
+ const layerExtent = layer.extent || null;
64
+ const isLayerExtentValid = (0, checkFeatureServiceExtentsHelpers_1.isValidFeatureServiceExtent)(layerExtent);
65
+ if (!isLayerExtentValid) {
66
+ hasValidLayerExtents = false;
67
+ const layerName = layer.name || layer.id.toString();
68
+ validationOutput.messages.push({
69
+ message: LAYER_EXTENT_ISSUE_MESSAGE.replace('{{layerName}}', layerName),
70
+ });
71
+ }
72
+ }
73
+ // return warning if any of the extents are invalid
74
+ if (!hasValidFullExtent ||
75
+ !hasValidInitialExtent ||
76
+ !hasValidLayerExtents) {
77
+ return Object.assign(Object.assign({}, validationOutput), { status: 'warning' });
78
+ }
79
+ // all extents are valid
80
+ return Object.assign(Object.assign({}, validationOutput), { status: 'pass' });
81
+ };
82
+ exports.checkFeatureServiceExtents = checkFeatureServiceExtents;
83
+ //# sourceMappingURL=checkFeatureServiceExtents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkFeatureServiceExtents.js","sourceRoot":"","sources":["../../../src/lib/featureServiceExtents/checkFeatureServiceExtents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ type ExtentObject = {
2
+ xmin: number;
3
+ ymin: number;
4
+ xmax: number;
5
+ ymax: number;
6
+ spatialReference: {
7
+ wkid: number;
8
+ latestWkid?: number;
9
+ };
10
+ };
11
+ /**
12
+ * This function checks if a given extent object is a valid extent for a Feature Service.
13
+ * @param extent
14
+ * @returns
15
+ */
16
+ export declare const isValidFeatureServiceExtent: (extent: ExtentObject) => boolean;
17
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidFeatureServiceExtent = void 0;
4
+ /**
5
+ * This function checks if a given extent object is a valid extent for a Feature Service.
6
+ * @param extent
7
+ * @returns
8
+ */
9
+ const isValidFeatureServiceExtent = (extent) => {
10
+ // Check if extent is defined
11
+ if (!extent) {
12
+ return false;
13
+ }
14
+ // Check if extent is an object
15
+ if (typeof extent !== 'object') {
16
+ return false;
17
+ }
18
+ // Check if xmin, ymin, xmax, ymax are numbers and xmin < xmax and ymin < ymax
19
+ const { xmin, ymin, xmax, ymax } = extent || {};
20
+ // Validate the extent values
21
+ if (typeof xmin !== 'number' ||
22
+ typeof ymin !== 'number' ||
23
+ typeof xmax !== 'number' ||
24
+ typeof ymax !== 'number') {
25
+ return false;
26
+ }
27
+ if (xmin >= xmax || ymin >= ymax) {
28
+ return false;
29
+ }
30
+ return true;
31
+ };
32
+ exports.isValidFeatureServiceExtent = isValidFeatureServiceExtent;
33
+ //# sourceMappingURL=checkFeatureServiceExtentsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkFeatureServiceExtentsHelpers.js","sourceRoot":"","sources":["../../../src/lib/featureServiceExtents/checkFeatureServiceExtentsHelpers.ts"],"names":[],"mappings":";;;AAWA;;;;GAIG;AACI,MAAM,2BAA2B,GAAG,CAAC,MAAoB,EAAW,EAAE;IACzE,6BAA6B;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,8EAA8E;IAC9E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEhD,6BAA6B;IAC7B,IACI,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,QAAQ,EAC1B,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AA7BW,QAAA,2BAA2B,+BA6BtC"}
@@ -44,6 +44,7 @@ const checkFeatureServiceFieldAliases = (item, featureLayers) => {
44
44
  scoringFactor: 0,
45
45
  status: 'unknown',
46
46
  isBinaryCheck: false,
47
+ isAdvisory: false,
47
48
  };
48
49
  // Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
49
50
  // if the item is not a feature layer.
@@ -1 +1 @@
1
- {"version":3,"file":"checkFeatureServiceFieldAliases.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA0D;AAC1D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,+BAA+B,GAAG,CAC3C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,+BAA+B;QACjD,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,gBAAgB;SAC7D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,oEAAoE;IACpE,yEAAyE;IACzE,0DAA0D;IAC1D,aAAa;IAEb,2EAA2E;IAE3E,MAAM,gBAAgB,GAAG,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IAEvE,qEAAqE;IACrE,uEAAuE;IACvE,gCAAgC;IAChC,uCAAuC;IACvC,qEAAqE;IACrE,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,sCAA8B,EAAE,CAAC;QACpD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,mBAAmB;SAChE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAhFW,QAAA,+BAA+B,mCAgF1C"}
1
+ {"version":3,"file":"checkFeatureServiceFieldAliases.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA0D;AAC1D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,+BAA+B,GAAG,CAC3C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,+BAA+B;QACjD,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,gBAAgB;SAC7D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,oEAAoE;IACpE,yEAAyE;IACzE,0DAA0D;IAC1D,aAAa;IAEb,2EAA2E;IAE3E,MAAM,gBAAgB,GAAG,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IAEvE,qEAAqE;IACrE,uEAAuE;IACvE,gCAAgC;IAChC,uCAAuC;IACvC,qEAAqE;IACrE,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,sCAA8B,EAAE,CAAC;QACpD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,mBAAmB;SAChE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAjFW,QAAA,+BAA+B,mCAiF1C"}
@@ -43,6 +43,7 @@ const checkFeatureServiceFieldDescriptions = (item, featureLayers) => {
43
43
  scoringFactor: 0,
44
44
  status: 'unknown',
45
45
  isBinaryCheck: false,
46
+ isAdvisory: false,
46
47
  };
47
48
  // Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
48
49
  // if the item is not a feature layer.
@@ -1 +1 @@
1
- {"version":3,"file":"checkFeatureServiceFieldDescriptions.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA+D;AAC/D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,oCAAoC,GAAG,CAChD,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,oCAAoC;QACtD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,gBAAgB;SAClE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,iEAAiE;IACjE,6EAA6E;IAC7E,6DAA6D;IAC7D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,sDAAsD;IACtD,4CAA4C;IAC5C,2BAA2B;IAC3B,iDAAiD;IACjD,8DAA8D;IAC9D,oBAAoB;IAEpB,yCAAyC;IACzC,iDAAiD;IACjD,oBAAoB;IAEpB,mBAAmB;IACnB,uBAAuB;IACvB,oDAAoD;IACpD,mCAAmC;IACnC,aAAa;IACb,iBAAiB;IAEjB,iCAAiC;IACjC,4DAA4D;IAE5D,MAAM,sBAAsB,GACxB,IAAA,4CAAkC,EAAC,cAAc,CAAC,CAAC;IAEvD,2EAA2E;IAC3E,uEAAuE;IACvE,sCAAsC;IACtC,uCAAuC;IACvC,mBAAmB;IACnB,2EAA2E;IAC3E,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,sFAAsF;IACtF,yEAAyE;IACzE,IAAI,sBAAsB,GAAG,2CAAmC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EACH,OAAO,CAAC,6BAA6B,CAAC,yBAAyB;SACtE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,yFAAyF;IACzF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AApGW,QAAA,oCAAoC,wCAoG/C"}
1
+ {"version":3,"file":"checkFeatureServiceFieldDescriptions.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA+D;AAC/D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,oCAAoC,GAAG,CAChD,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,oCAAoC;QACtD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,gBAAgB;SAClE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,iEAAiE;IACjE,6EAA6E;IAC7E,6DAA6D;IAC7D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,sDAAsD;IACtD,4CAA4C;IAC5C,2BAA2B;IAC3B,iDAAiD;IACjD,8DAA8D;IAC9D,oBAAoB;IAEpB,yCAAyC;IACzC,iDAAiD;IACjD,oBAAoB;IAEpB,mBAAmB;IACnB,uBAAuB;IACvB,oDAAoD;IACpD,mCAAmC;IACnC,aAAa;IACb,iBAAiB;IAEjB,iCAAiC;IACjC,4DAA4D;IAE5D,MAAM,sBAAsB,GACxB,IAAA,4CAAkC,EAAC,cAAc,CAAC,CAAC;IAEvD,2EAA2E;IAC3E,uEAAuE;IACvE,sCAAsC;IACtC,uCAAuC;IACvC,mBAAmB;IACnB,2EAA2E;IAC3E,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,sFAAsF;IACtF,yEAAyE;IACzE,IAAI,sBAAsB,GAAG,2CAAmC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EACH,OAAO,CAAC,6BAA6B,CAAC,yBAAyB;SACtE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,yFAAyF;IACzF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AArGW,QAAA,oCAAoC,wCAqG/C"}
@@ -0,0 +1,10 @@
1
+ import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ * Check if feature layers have appropriate field indexes set.
4
+ * @param item ArcGIS Online item to validate
5
+ * @param featureLayers Array of feature layers JSON objects from the feature service
6
+ * @returns ValidationInfo object containing the validation result
7
+ *
8
+ * @see https://developers.arcgis.com/documentation/portal-and-data-services/data-services/feature-services/field-and-spatial-indexes/
9
+ */
10
+ export declare const checkFeatureServiceFieldIndexes: (item: IItem, featureLayers: FeatureLayerJSON[]) => ValidationInfo;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkFeatureServiceFieldIndexes = void 0;
4
+ const isFeatureService_1 = require("../util/isFeatureService");
5
+ const stringsConfig_1 = require("../util/stringsConfig");
6
+ const featureServiceFieldIndexesHelpers_1 = require("./featureServiceFieldIndexesHelpers");
7
+ /**
8
+ * Check if feature layers have appropriate field indexes set.
9
+ * @param item ArcGIS Online item to validate
10
+ * @param featureLayers Array of feature layers JSON objects from the feature service
11
+ * @returns ValidationInfo object containing the validation result
12
+ *
13
+ * @see https://developers.arcgis.com/documentation/portal-and-data-services/data-services/feature-services/field-and-spatial-indexes/
14
+ */
15
+ const checkFeatureServiceFieldIndexes = (item, featureLayers) => {
16
+ const strings = (0, stringsConfig_1.getStringsConfig)();
17
+ const { LABEL, TITLE, IMRPOVE_FIELD_INDEXES } = strings.featureServiceFieldIndexes;
18
+ const validationOutput = {
19
+ validationRuleId: 'feature-service-field-indexes',
20
+ label: LABEL,
21
+ title: TITLE,
22
+ maxScore: 0,
23
+ score: 0,
24
+ messages: [],
25
+ weight: 0,
26
+ scoringFactor: 0,
27
+ status: 'unknown',
28
+ isBinaryCheck: true,
29
+ isAdvisory: true,
30
+ };
31
+ if ((0, isFeatureService_1.isFeatureService)(item) === false) {
32
+ return Object.assign(Object.assign({}, validationOutput), { status: 'not-applicable' });
33
+ }
34
+ if (!Array.isArray(featureLayers) || featureLayers.length === 0) {
35
+ validationOutput.messages.push({
36
+ message: strings.featureServiceFieldIndexes.NO_FEATURE_LAYER,
37
+ });
38
+ validationOutput.status = 'warning';
39
+ return validationOutput;
40
+ }
41
+ for (const layer of featureLayers) {
42
+ const indexes = layer.indexes || [];
43
+ const nonSystemFieldIndexes = (0, featureServiceFieldIndexesHelpers_1.getNonSystemAttributeFieldIndexes)(indexes);
44
+ if (nonSystemFieldIndexes.length === 0) {
45
+ validationOutput.messages.push({
46
+ message: IMRPOVE_FIELD_INDEXES.replace('{{layerName}}', layer.name || layer.id.toString()),
47
+ });
48
+ }
49
+ }
50
+ return Object.assign(Object.assign({}, validationOutput), { status: validationOutput.messages.length > 0 ? 'warning' : 'pass' });
51
+ };
52
+ exports.checkFeatureServiceFieldIndexes = checkFeatureServiceFieldIndexes;
53
+ //# sourceMappingURL=checkFeatureServiceFieldIndexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkFeatureServiceFieldIndexes.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldIndexes/checkFeatureServiceFieldIndexes.ts"],"names":[],"mappings":";;;AAOA,+DAA4D;AAC5D,yDAAyD;AACzD,2FAAwF;AAExF;;;;;;;GAOG;AACI,MAAM,+BAA+B,GAAG,CAC3C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,GACzC,OAAO,CAAC,0BAA0B,CAAC;IAEvC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,+BAA+B;QACjD,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,IAAA,mCAAgB,EAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,uCACO,gBAAgB,KACnB,MAAM,EAAE,gBAAgB,IAC1B;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,gBAAgB;SAC/D,CAAC,CAAC;QACH,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC;QACpC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,qBAAqB,GACvB,IAAA,qEAAiC,EAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAClC,eAAe,EACf,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,uCACO,gBAAgB,KACnB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IACnE;AACN,CAAC,CAAC;AAzDW,QAAA,+BAA+B,mCAyD1C"}
@@ -0,0 +1,7 @@
1
+ import { FeatureLayerFieldIndex } from '../../types';
2
+ /**
3
+ * This function filters out system field indexes from the provided array of field indexes.
4
+ * @param fieldIndexes Field indexes array from Feature Layer JSON
5
+ * @returns Non-system field indexes
6
+ */
7
+ export declare const getNonSystemAttributeFieldIndexes: (fieldIndexes: FeatureLayerFieldIndex[]) => FeatureLayerFieldIndex[];
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNonSystemAttributeFieldIndexes = void 0;
4
+ /**
5
+ * This function filters out system field indexes from the provided array of field indexes.
6
+ * @param fieldIndexes Field indexes array from Feature Layer JSON
7
+ * @returns Non-system field indexes
8
+ */
9
+ const getNonSystemAttributeFieldIndexes = (fieldIndexes) => {
10
+ if (!Array.isArray(fieldIndexes) || fieldIndexes.length === 0) {
11
+ return [];
12
+ }
13
+ // filter out system indexes
14
+ const nonSystemIndexes = fieldIndexes.filter((index) => {
15
+ const { indexType, fields } = index;
16
+ const fieldsUpperCase = fields.toUpperCase();
17
+ return (indexType === 'Attribute' &&
18
+ !fieldsUpperCase.includes('OBJECTID') &&
19
+ !fieldsUpperCase.includes('SHAPE') &&
20
+ !fieldsUpperCase.includes('GLOBALID') &&
21
+ !fieldsUpperCase.includes('SHAPE__AREA') &&
22
+ !fieldsUpperCase.includes('SHAPE__LENGTH'));
23
+ });
24
+ return nonSystemIndexes;
25
+ };
26
+ exports.getNonSystemAttributeFieldIndexes = getNonSystemAttributeFieldIndexes;
27
+ //# sourceMappingURL=featureServiceFieldIndexesHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureServiceFieldIndexesHelpers.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldIndexes/featureServiceFieldIndexesHelpers.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACI,MAAM,iCAAiC,GAAG,CAC7C,YAAsC,EACd,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACnD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEpC,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE7C,OAAO,CACH,SAAS,KAAK,WAAW;YACzB,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;YAClC,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrC,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC;YACxC,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC7C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAxBW,QAAA,iCAAiC,qCAwB5C"}
@@ -40,6 +40,7 @@ const checkFeatureServiceFieldValueTypes = (item, featureLayers) => {
40
40
  scoringFactor: 0,
41
41
  status: 'unknown',
42
42
  isBinaryCheck: false,
43
+ isAdvisory: false,
43
44
  };
44
45
  // Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
45
46
  // if the item is not a feature layer.
@@ -1 +1 @@
1
- {"version":3,"file":"checkFeatureServiceFieldValueTypes.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA0D;AAC1D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,kCAAkC,GAAG,GAAG,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACI,MAAM,kCAAkC,GAAG,CAC9C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB;SAC3D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,oDAAoD;IACpD,4CAA4C;IAC5C,oEAAoE;IAEpE,+BAA+B;IAC/B,0DAA0D;IAE1D,MAAM,oBAAoB,GAAG,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IAE3E,yEAAyE;IACzE,uEAAuE;IACvE,oCAAoC;IACpC,uCAAuC;IACvC,kEAAkE;IAClE,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,oFAAoF;IACpF,yEAAyE;IACzE,IAAI,oBAAoB,GAAG,0CAAkC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,kBAAkB;SAC7D,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,iDAAiD;QACjD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,uFAAuF;IACvF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAjFW,QAAA,kCAAkC,sCAiF7C"}
1
+ {"version":3,"file":"checkFeatureServiceFieldValueTypes.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA0D;AAC1D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,kCAAkC,GAAG,GAAG,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACI,MAAM,kCAAkC,GAAG,CAC9C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,mCAAmC;QACrD,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;KACpB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB;SAC3D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,oDAAoD;IACpD,4CAA4C;IAC5C,oEAAoE;IAEpE,+BAA+B;IAC/B,0DAA0D;IAE1D,MAAM,oBAAoB,GAAG,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IAE3E,yEAAyE;IACzE,uEAAuE;IACvE,oCAAoC;IACpC,uCAAuC;IACvC,kEAAkE;IAClE,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,oFAAoF;IACpF,yEAAyE;IACzE,IAAI,oBAAoB,GAAG,0CAAkC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,kBAAkB;SAC7D,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,iDAAiD;QACjD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,uFAAuF;IACvF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAlFW,QAAA,kCAAkC,sCAkF7C"}