nhance/app/Views/fedeploy.php

79 lines
2.9 KiB
PHP

<form action="<?= base_url('fedeploy'); ?>" method="post" enctype="multipart/form-data">
<!-- Single zip upload -->
<div>
<label for="zip_file">Zip File</label>
<input type="file" name="zip_file" id="zip_file" required>
</div>
<div>
<label for="zip_folder">Zip Folder (inside zip to deploy)</label>
<select name="zip_folder" id="zip_folder">
<option value="web/">web/</option>
<!-- <option value="dist/">dist/</option> -->
</select>
</div>
<div>
<label for="s3_bucket">S3 Bucket</label>
<select name="s3_bucket" id="s3_bucket">
<option value="uat-benefits-app-bucket">UAT Benefits</option>
<option value="uat-hr-app-bucket">UAT HR</option>
<option value="benefits-app-bucket">Live Benefits</option>
<option value="live-hr-app-bucket">Live HR</option>
</select>
</div>
<div>
<label for="s3_prefix">S3 Prefix</label>
<input type="text" name="s3_prefix" id="s3_prefix" value="/*">
</div>
<div>
<label for="cf_distribution_id">CloudFront Distribution ID (optional)</label>
<!-- <input type="text" name="cf_distribution_id" id="cf_distribution_id" value="E1MKRK4U5MZ3BD"> -->
<select name="cf_distribution_id" id="cf_distribution_id">
<option value="EUBZ8CDSV9KZZ">UAT Benefits</option>
<option value="E9TNPRI9ITM1M">UAT HR</option>
<option value="E1MKRK4U5MZ3BD">Live Benefits</option>
<option value="E3TE01DPKHTD8B">Live HR</option>
</select>
</div>
<div>
<label for="cf_paths">
CloudFront Invalidation Paths (comma or newline separated, e.g. <code>/hr/*,/hr/special/*</code>)
</label>
<input type="text" name="cf_paths" id="cf_paths" value="/*">
<!-- If you prefer multi-line, use <textarea> instead of <input> -->
</div>
<button type="submit">Deploy</button>
</form>
<script>
document.addEventListener('DOMContentLoaded', function () {
const bucketToDistributionMap = {
'uat-benefits-app-bucket': 'EUBZ8CDSV9KZZ',
'uat-hr-app-bucket': 'E9TNPRI9ITM1M',
'benefits-app-bucket': 'E1MKRK4U5MZ3BD',
'live-hr-app-bucket': 'E3TE01DPKHTD8B'
};
const s3BucketEl = document.getElementById('s3_bucket');
const cfDistributionEl = document.getElementById('cf_distribution_id');
s3BucketEl.addEventListener('change', function () {
const selectedBucket = this.value;
if (bucketToDistributionMap[selectedBucket]) {
cfDistributionEl.value = bucketToDistributionMap[selectedBucket];
} else {
// Optional: reset if no mapping found
cfDistributionEl.value = '';
}
});
// Auto-select on page load (useful for edit forms)
s3BucketEl.dispatchEvent(new Event('change'));
});
</script>