@aws-amplify/cli-internal
Version:
Amplify CLI
53 lines • 2.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataAssessor = void 0;
const assessment_1 = require("../assessment");
const gen1_app_1 = require("../../_common/gen1-app");
const amplify_cli_core_1 = require("@aws-amplify/amplify-cli-core");
class DataAssessor {
constructor(gen1App, resource) {
this.gen1App = gen1App;
this.resource = resource;
}
record(assessment) {
this.gen1App.ensureCliInputs(this.resource.category, this.resource.resourceName);
const transformerVersion = amplify_cli_core_1.FeatureFlags.getNumber('graphQLTransformer.transformerVersion');
if (transformerVersion !== 2) {
assessment.recordResource({
resource: this.resource,
generate: (0, assessment_1.unsupported)('Transformer V1 is not supported in Gen2'),
refactor: (0, assessment_1.notApplicable)(),
});
}
else {
assessment.recordResource({ resource: this.resource, generate: (0, assessment_1.supported)(), refactor: (0, assessment_1.notApplicable)() });
}
const overridesPath = `api/${this.resource.resourceName}/override.ts`;
if (this.gen1App.fileExists(overridesPath)) {
assessment.recordFeature({
feature: { name: gen1_app_1.KNOWN_FEATURES.OVERRIDES, path: overridesPath },
generate: (0, assessment_1.unsupported)('requires adding code after generate'),
refactor: (0, assessment_1.notApplicable)(),
});
}
if (this.hasConflictResolution()) {
const cliInputsPath = `api/${this.resource.resourceName}/cli-inputs.json`;
assessment.recordFeature({
feature: { name: gen1_app_1.KNOWN_FEATURES.CONFLICT_RESOLUTION, path: cliInputsPath },
generate: (0, assessment_1.unsupported)('conflict resolution (DataStore) is not supported in Gen2'),
refactor: (0, assessment_1.unsupported)('conflict resolution (DataStore) is not supported in Gen2'),
});
}
}
hasConflictResolution() {
var _a;
const cliInputs = this.gen1App.cliInputs(this.resource.category, this.resource.resourceName);
const conflictResolution = (_a = cliInputs === null || cliInputs === void 0 ? void 0 : cliInputs.serviceConfiguration) === null || _a === void 0 ? void 0 : _a.conflictResolution;
return (conflictResolution != null &&
typeof conflictResolution === 'object' &&
!Array.isArray(conflictResolution) &&
Object.keys(conflictResolution).length > 0);
}
}
exports.DataAssessor = DataAssessor;
//# sourceMappingURL=data.assessor.js.map