Update VAC fees to 2026-27 schedule, add WP media proxy
- VAC_FEES updated to 1 July 2026 rates (DHA 2026-27 schedule) - 482 renamed to Skills in Demand (SID); 187 RSMS removed (closed 2019) - Added subclass 191 (Permanent Residence Skilled Regional) - All fee page year labels bumped to 2026-27 - /wp-content/* proxy routes to 62.169.17.14 (LiteSpeed origin) so WordPress images and logos render through the Worker Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ce771edec5
commit
f4d87a46fa
3 changed files with 56 additions and 19 deletions
37
src/index.js
37
src/index.js
|
|
@ -25,6 +25,43 @@ app.use('*', async (c, next) => {
|
|||
await next();
|
||||
});
|
||||
|
||||
// ── WordPress media proxy — serves /wp-content/* from origin host ────────────
|
||||
const WP_ORIGIN = '62.169.17.14';
|
||||
app.get('/wp-content/*', async c => {
|
||||
const path = new URL(c.req.url).pathname + new URL(c.req.url).search;
|
||||
const originUrl = `https://${WP_ORIGIN}${path}`;
|
||||
const res = await fetch(originUrl, {
|
||||
headers: {
|
||||
'Host': 'careersgateway.com.au',
|
||||
'User-Agent': 'Mozilla/5.0',
|
||||
},
|
||||
cf: { cacheTtl: 86400, cacheEverything: true },
|
||||
}).catch(() => null);
|
||||
if (!res || !res.ok) {
|
||||
// Fallback: try HTTP
|
||||
const httpRes = await fetch(`http://${WP_ORIGIN}${path}`, {
|
||||
headers: { 'Host': 'careersgateway.com.au' },
|
||||
}).catch(() => null);
|
||||
if (!httpRes || !httpRes.ok) return c.notFound();
|
||||
return new Response(httpRes.body, {
|
||||
status: httpRes.status,
|
||||
headers: {
|
||||
'Content-Type': httpRes.headers.get('Content-Type') || 'application/octet-stream',
|
||||
'Cache-Control': 'public, max-age=86400',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
},
|
||||
});
|
||||
}
|
||||
return new Response(res.body, {
|
||||
status: res.status,
|
||||
headers: {
|
||||
'Content-Type': res.headers.get('Content-Type') || 'application/octet-stream',
|
||||
'Cache-Control': 'public, max-age=86400',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
// ── Auth middleware (attaches user to context) ──────────────────────────────
|
||||
app.use('*', async (c, next) => {
|
||||
c.set('user', await getCurrentUser(c.env, c));
|
||||
|
|
|
|||
|
|
@ -93,25 +93,25 @@ export function calcPoints(profile) {
|
|||
return { total: pts, breakdown };
|
||||
}
|
||||
|
||||
// ── VAC FEES — updated 1 July 2025 (2025-26 financial year) ──────────────────
|
||||
// ── VAC FEES — updated 1 July 2026 (2026-27 financial year) ──────────────────
|
||||
// Source: Department of Home Affairs — immi.homeaffairs.gov.au/visas/fees
|
||||
// Fees increase annually on 1 July. Always verify before lodging.
|
||||
export const VAC_FEES = [
|
||||
{ subclass: '189', name: 'Skilled Independent', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '190', name: 'Skilled Nominated', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '491', name: 'Skilled Work Regional', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '186', name: 'Employer Nomination (ENS)', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '187', name: 'Regional Sponsored (RSMS)', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '482', name: 'Temporary Skill Shortage (TSS)', primary: 3270, secondary: 1635, child: 1635 },
|
||||
{ subclass: '494', name: 'Skilled Employer Sponsored Regional', primary: 4990, secondary: 2495, child: 1250 },
|
||||
{ subclass: '500', name: 'Student Visa', primary: 750, secondary: 375, child: 375 },
|
||||
{ subclass: '485', name: 'Graduate Temporary', primary: 1985, secondary: 995, child: 500 },
|
||||
{ subclass: '820', name: 'Partner (onshore)', primary: 9265, secondary: 4635, child: 0, note: 'Includes 801 permanent component' },
|
||||
{ subclass: '189', name: 'Skilled Independent', primary: 6135, secondary: 3070, child: 1540 },
|
||||
{ subclass: '190', name: 'Skilled Nominated', primary: 6140, secondary: 3070, child: 1535 },
|
||||
{ subclass: '491', name: 'Skilled Work Regional', primary: 6140, secondary: 3070, child: 1535 },
|
||||
{ subclass: '186', name: 'Employer Nomination (ENS)', primary: 6140, secondary: 3070, child: 1535 },
|
||||
{ subclass: '482', name: 'Skills in Demand (SID)', primary: 4015, secondary: 4015, child: 1005 },
|
||||
{ subclass: '494', name: 'Skilled Employer Sponsored Regional', primary: 6140, secondary: 3070, child: 1535 },
|
||||
{ subclass: '191', name: 'Permanent Residence (Skilled Regional)', primary: 630, secondary: 315, child: 160 },
|
||||
{ subclass: '500', name: 'Student Visa', primary: 2500, secondary: 1530, child: 500 },
|
||||
{ subclass: '485', name: 'Graduate Temporary', primary: 5750, secondary: 2875, child: 1450 },
|
||||
{ subclass: '820', name: 'Partner (onshore)', primary: 11710, secondary: 5860, child: 2935, note: 'Includes 801 permanent component' },
|
||||
{ subclass: '801', name: 'Partner (permanent onshore)', primary: 0, secondary: 0, child: 0, note: 'No additional fee if applying with 820' },
|
||||
{ subclass: '309', name: 'Partner (offshore)', primary: 9265, secondary: 4635, child: 0 },
|
||||
{ subclass: '309', name: 'Partner (offshore)', primary: 11710, secondary: 5860, child: 2935 },
|
||||
{ subclass: '100', name: 'Partner (permanent offshore)', primary: 0, secondary: 0, child: 0, note: 'No additional fee if applying with 309' },
|
||||
{ subclass: '600', name: 'Visitor Visa', primary: 195, secondary: 195, child: 195 },
|
||||
{ subclass: '407', name: 'Training Visa', primary: 350, secondary: 175, child: 175 },
|
||||
{ subclass: '600', name: 'Visitor Visa', primary: 250, secondary: 250, child: 250 },
|
||||
{ subclass: '407', name: 'Training Visa', primary: 535, secondary: 535, child: 135 },
|
||||
];
|
||||
|
||||
// ── PROCESSING TIMES ──────────────────────────────────────────────────────────
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ export function documentsPage(user, docs, flash) {
|
|||
export function feesPage(user) {
|
||||
const body = `
|
||||
<div class="vt-section-title">💰 VAC Fee Calculator</div>
|
||||
<p class="vt-section-sub">Estimate your Visa Application Charge (as at 2025–26)</p>
|
||||
<p class="vt-section-sub">Estimate your Visa Application Charge (as at 2026–27)</p>
|
||||
|
||||
<div class="vt-card">
|
||||
<h3>Select Visa & Applicants</h3>
|
||||
|
|
@ -351,7 +351,7 @@ export function feesPage(user) {
|
|||
</div>
|
||||
<div id="vac-note" style="font-size:.82rem;color:#64748b"></div>
|
||||
<div style="font-size:.78rem;color:#94a3b8;margin-top:8px">
|
||||
Figures in AUD. Fees current as at <strong>1 July 2025</strong> (2025–26 financial year).
|
||||
Figures in AUD. Fees current as at <strong>1 July 2026</strong> (2026–27 financial year).
|
||||
Fees increase annually on 1 July — always
|
||||
<a href="https://immi.homeaffairs.gov.au/visas/getting-a-visa/fees-and-charges/current-visa-pricing" target="_blank" style="color:#1a5bb8">verify at homeaffairs.gov.au</a>
|
||||
before lodging.
|
||||
|
|
@ -433,7 +433,7 @@ export function occupationsPage(user, query) {
|
|||
export function stateCriteriaPage(user) {
|
||||
const body = `
|
||||
<div class="vt-section-title">🗺️ State Nomination Criteria</div>
|
||||
<p class="vt-section-sub">Minimum points and key requirements for SC 190 and SC 491 by state/territory (2025–26)</p>
|
||||
<p class="vt-section-sub">Minimum points and key requirements for SC 190 and SC 491 by state/territory (2026–27)</p>
|
||||
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px">
|
||||
${STATE_CRITERIA.map(s => `
|
||||
|
|
@ -468,7 +468,7 @@ export function stateCriteriaPage(user) {
|
|||
export function processingTimesPage(user) {
|
||||
const body = `
|
||||
<div class="vt-section-title">⏱️ Visa Processing Times</div>
|
||||
<p class="vt-section-sub">Estimated processing times in months (percentile-based, 2025–26)</p>
|
||||
<p class="vt-section-sub">Estimated processing times in months (percentile-based, 2026–27)</p>
|
||||
|
||||
<div class="vt-card">
|
||||
<div class="proc-row proc-header" style="border-bottom:2px solid #e8f0fe;margin-bottom:4px">
|
||||
|
|
@ -586,7 +586,7 @@ export function studentFundPage(user) {
|
|||
</div>
|
||||
|
||||
<div class="vt-card">
|
||||
<h3>2025–26 Living Cost Figures (DHA)</h3>
|
||||
<h3>2026–27 Living Cost Figures (DHA)</h3>
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.9rem">
|
||||
<div>Principal applicant: <strong>$${STUDENT_FUND.livingCostPerYear.toLocaleString()}/year</strong></div>
|
||||
<div>Partner: <strong>$${STUDENT_FUND.partnerPerYear.toLocaleString()}/year</strong></div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue