diff --git a/client/js/apikeys.js b/client/js/apikeys.js
index 3e9d9f3..19fb1f9 100644
--- a/client/js/apikeys.js
+++ b/client/js/apikeys.js
@@ -11,7 +11,9 @@ async function loadApiKeys() {
container.innerHTML = '
';
try {
- const apiKeys = await apiClient.getApiKeys();
+ const response = await apiClient.getApiKeys();
+ // Handle structured response - extract api_keys array from response object
+ const apiKeys = response.api_keys || response;
displayApiKeys(apiKeys);
} catch (error) {
handleApiError(error, 'loading API keys');
@@ -252,7 +254,9 @@ async function copyApiKey(key) {
// View API key details
async function viewApiKey(keyId) {
try {
- const apiKeys = await apiClient.getApiKeys();
+ const response = await apiClient.getApiKeys();
+ // Handle structured response - extract api_keys array from response object
+ const apiKeys = response.api_keys || response;
const apiKey = apiKeys.find(k => k.id === keyId);
if (!apiKey) {
diff --git a/client/js/images.js b/client/js/images.js
index 205b25e..ceaf52a 100644
--- a/client/js/images.js
+++ b/client/js/images.js
@@ -16,9 +16,11 @@ async function loadImages(page = 1, tags = null) {
try {
const response = await apiClient.getImages(page, 20, tags);
currentPage = page;
- totalPages = Math.ceil(response.total / response.limit);
+ totalPages = Math.ceil(response.total / (response.limit || 20));
- displayImages(response.images);
+ // Handle structured response - extract images array from response object
+ const images = response.images || response;
+ displayImages(images);
displayPagination(response);
} catch (error) {
handleApiError(error, 'loading images');
diff --git a/client/js/teams.js b/client/js/teams.js
index ae29786..157ae2e 100644
--- a/client/js/teams.js
+++ b/client/js/teams.js
@@ -11,7 +11,9 @@ async function loadTeams() {
container.innerHTML = '';
try {
- const teams = await apiClient.getTeams();
+ const response = await apiClient.getTeams();
+ // Handle structured response - extract teams array from response object
+ const teams = response.teams || response;
displayTeams(teams);
} catch (error) {
handleApiError(error, 'loading teams');
@@ -147,7 +149,9 @@ async function createTeam() {
// View team details
async function viewTeam(teamId) {
try {
- const teams = await apiClient.getTeams();
+ const response = await apiClient.getTeams();
+ // Handle structured response - extract teams array from response object
+ const teams = response.teams || response;
const team = teams.find(t => t.id === teamId);
if (!team) {
@@ -198,7 +202,9 @@ async function viewTeam(teamId) {
// Load team member count
async function loadTeamMemberCount(teamId) {
try {
- const users = await apiClient.getUsers();
+ const response = await apiClient.getUsers();
+ // Handle structured response - extract users array from response object
+ const users = response.users || response;
const teamMembers = users.filter(user => user.team_id === teamId);
document.getElementById('teamMemberCount').textContent = teamMembers.length;
} catch (error) {
@@ -209,7 +215,9 @@ async function loadTeamMemberCount(teamId) {
// Edit team
async function editTeam(teamId) {
try {
- const teams = await apiClient.getTeams();
+ const response = await apiClient.getTeams();
+ // Handle structured response - extract teams array from response object
+ const teams = response.teams || response;
const team = teams.find(t => t.id === teamId);
if (!team) {
diff --git a/client/js/users.js b/client/js/users.js
index cedd9c2..550e043 100644
--- a/client/js/users.js
+++ b/client/js/users.js
@@ -11,7 +11,9 @@ async function loadUsers() {
container.innerHTML = '';
try {
- const users = await apiClient.getUsers();
+ const response = await apiClient.getUsers();
+ // Handle structured response - extract users array from response object
+ const users = response.users || response;
displayUsers(users);
} catch (error) {
handleApiError(error, 'loading users');
@@ -102,7 +104,9 @@ function displayUsers(users) {
// Load team names for display
async function loadTeamNames() {
try {
- const teams = await apiClient.getTeams();
+ const response = await apiClient.getTeams();
+ // Handle structured response - extract teams array from response object
+ const teams = response.teams || response;
teams.forEach(team => {
const teamBadges = document.querySelectorAll(`#team-${team.id}`);
teamBadges.forEach(badge => {
@@ -117,7 +121,9 @@ async function loadTeamNames() {
// Show create user modal
async function showCreateUserModal() {
try {
- const teams = await apiClient.getTeams();
+ const response = await apiClient.getTeams();
+ // Handle structured response - extract teams array from response object
+ const teams = response.teams || response;
const modalBody = `