Skip to content

Commit

Permalink
update : airlines | feathing by token
Browse files Browse the repository at this point in the history
  • Loading branch information
MRoyhanF committed Dec 18, 2024
1 parent 162bbce commit 150d189
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 78 deletions.
12 changes: 11 additions & 1 deletion src/modules/airline/airline.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,19 @@ import axios from "axios";
export const index = async (req, res, next) => {
try {
const api = process.env.API_URL;

const { token } = req;

const response = await axios.get(`${api}/api/v1/airlines`);
const airlines = response.data.data;

res.edge("pages/airline/index", { airlines, api });
const data = {
api: api,
token: token,
airlines: airlines,
};

res.edge("pages/airline/index", data);
} catch (error) {
next(error);
}
Expand All @@ -17,11 +25,13 @@ export const listAirplanes = async (req, res, next) => {
try {
const api = process.env.API_URL;
const code = req.params.code;
const { token } = req;

const airlinesResponse = await axios.get(`${api}/api/v1/airlines/${code}`);

const data = {
api: api,
token: token,
airlines: airlinesResponse.data.data,
};

Expand Down
76 changes: 40 additions & 36 deletions src/resources/views/pages/airline/index.edge
Original file line number Diff line number Diff line change
Expand Up @@ -69,50 +69,54 @@
</div>

<script>
$(document).ready(function () {
$('#airlineForm').on('submit', function (event) {
event.preventDefault();
const token = '{{ token }}'
$(document).ready(function () {
$('#airlineForm').on('submit', function (event) {
event.preventDefault();
const formData = new FormData(this);
const formData = new FormData(this);
$.ajax({
url: "{{ api }}/api/v1/airlines",
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (response) {
if (response.success) {
showToast("success", "Success", response.message || "Airline created successfully!");
setTimeout(() => {
window.location.reload();
}, 2000);
} else {
showToast("error", "Error", response.message || "An unexpected error occurred.");
}
},
error: function (xhr) {
if (xhr.status === 400 && xhr.responseJSON) {
const errorResponse = xhr.responseJSON;
let errorMessages = '';
if (errorResponse.errors && Array.isArray(errorResponse.errors)) {
errorResponse.errors.forEach(error => {
errorMessages += `${error.field}: ${error.message}\n`;
});
$.ajax({
url: "{{ api }}/api/v1/airlines",
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'Authorization': `Bearer ${token}`
},
success: function (response) {
if (response.success) {
showToast("success", "Success", response.message || "Airline created successfully!");
setTimeout(() => {
window.location.reload();
}, 2000);
} else {
errorMessages = errorResponse.message || "Validation failed. Please check your inputs.";
showToast("error", "Error", response.message || "An unexpected error occurred.");
}
},
error: function (xhr) {
if (xhr.status === 400 && xhr.responseJSON) {
const errorResponse = xhr.responseJSON;
let errorMessages = '';
if (errorResponse.errors && Array.isArray(errorResponse.errors)) {
errorResponse.errors.forEach(error => {
errorMessages += `${error.field}: ${error.message}\n`;
});
} else {
errorMessages = errorResponse.message || "Validation failed. Please check your inputs.";
}
showToast("error", "Validation Error", errorMessages);
} else {
const errorMessage = xhr.responseJSON?.message || `Error ${xhr.status}: ${xhr.statusText}`;
showToast("error", "Error", errorMessage);
showToast("error", "Validation Error", errorMessages);
} else {
const errorMessage = xhr.responseJSON?.message || `Error ${xhr.status}: ${xhr.statusText}`;
showToast("error", "Error", errorMessage);
}
}
}
});
});
});
});
</script>
Expand Down
86 changes: 45 additions & 41 deletions src/resources/views/pages/airline/listAirplanes.edge
Original file line number Diff line number Diff line change
Expand Up @@ -80,55 +80,59 @@
</div>

<script>
const token = '{{ token }}'
$(document).ready(function () {
$('#airplaneForm').on('submit', function (e) {
e.preventDefault();
$('#airplaneForm').on('submit', function (e) {
e.preventDefault();
// Ambil data dari form
const formData = {
airlineId: $('#airlineId').val(),
name: $('#name').val(),
type: $('#type').val(),
pricePerKm: parseFloat($('#pricePerKm').val()),
};
const formData = {
airlineId: $('#airlineId').val(),
name: $('#name').val(),
type: $('#type').val(),
pricePerKm: parseFloat($('#pricePerKm').val()),
};
$.ajax({
url: '{{ api }}/api/v1/airplanes',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(formData),
success: function (response) {
if (response.success) {
showToast("success", "Success", response.message || "Airplane created successfully!");
$.ajax({
url: '{{ api }}/api/v1/airplanes',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(formData),
headers: {
'Authorization': `Bearer ${token}`
},
success: function (response) {
if (response.success) {
showToast("success", "Success", response.message || "Airplane created successfully!");
setTimeout(() => {
window.location.reload();
}, 2000);
} else {
showToast("error", "Error", response.message || "An unexpected error occurred.");
}
},
error: function (xhr) {
if (xhr.responseJSON) {
if (xhr.responseJSON.errors) {
const errors = xhr.responseJSON.errors;
let errorMessages = '';
errors.forEach(error => {
errorMessages += `${error.field}: ${error.message}\n`;
});
showToast("error", "Validation Error", errorMessages);
} else if (xhr.responseJSON.message) {
showToast("error", "Error", xhr.responseJSON.message);
setTimeout(() => {
window.location.reload();
}, 2000);
} else {
showToast("error", "Error", response.message || "An unexpected error occurred.");
}
},
error: function (xhr) {
if (xhr.responseJSON) {
if (xhr.responseJSON.errors) {
const errors = xhr.responseJSON.errors;
let errorMessages = '';
errors.forEach(error => {
errorMessages += `${error.field}: ${error.message}\n`;
});
showToast("error", "Validation Error", errorMessages);
} else if (xhr.responseJSON.message) {
showToast("error", "Error", xhr.responseJSON.message);
} else {
showToast("error", "Error", "An unexpected error occurred. Please try again.");
}
} else {
showToast("error", "Error", "An unexpected error occurred. Please try again.");
showToast("error", "Error", `Error ${xhr.status}: ${xhr.statusText}`);
}
} else {
showToast("error", "Error", `Error ${xhr.status}: ${xhr.statusText}`);
}
},
},
});
});
});
});
</script>

Expand Down

0 comments on commit 150d189

Please sign in to comment.