Remove auth profile references from secrets page
Deploy / deploy (push) Successful in 2m42s
CI / Rust Checks (push) Successful in 6m5s
CI / UI Checks (push) Successful in 6s
CI / Deployment Manifests (push) Successful in 3s
CI / Frontend E2E (push) Successful in 8m3s

This commit is contained in:
github-ops
2026-06-19 18:42:17 +00:00
parent fc1d3c8867
commit db97d37868
3 changed files with 15 additions and 251 deletions
-156
View File
@@ -18,9 +18,7 @@ function initSecretsPage() {
var modal = document.getElementById('secret-modal');
var tbody = document.getElementById('secrets-tbody');
var cardList = document.getElementById('secrets-card-list');
var profilesList = document.getElementById('auth-profiles-list');
var summary = document.getElementById('secrets-summary');
var profilesSummary = document.getElementById('secret-profiles-summary');
var searchInput = document.getElementById('secret-search');
var modalTitle = document.getElementById('secret-modal-title');
var modalName = document.getElementById('secret-name');
@@ -55,10 +53,6 @@ function initSecretsPage() {
return tKey('secrets.kind.' + String(kind || '').toLowerCase());
}
function authKindLabel(kind) {
return tKey('secrets.auth_kind.' + String(kind || '').toLowerCase());
}
function formatDate(value) {
if (!value) return '—';
return new Date(value).toLocaleDateString();
@@ -73,40 +67,6 @@ function initSecretsPage() {
return [];
}
function profileSummary(profile, secretsById) {
var config = profile && profile.config ? profile.config : {};
if (config.bearer) {
return tfKey('secrets.profiles.summary_bearer', {
header: config.bearer.header_name,
secret: secretName(secretsById, config.bearer.secret_id),
});
}
if (config.basic) {
return tfKey('secrets.profiles.summary_basic', {
username: secretName(secretsById, config.basic.username_secret_id),
password: secretName(secretsById, config.basic.password_secret_id),
});
}
if (config.api_key_header) {
return tfKey('secrets.profiles.summary_api_key_header', {
header: config.api_key_header.header_name,
secret: secretName(secretsById, config.api_key_header.secret_id),
});
}
if (config.api_key_query) {
return tfKey('secrets.profiles.summary_api_key_query', {
param: config.api_key_query.param_name,
secret: secretName(secretsById, config.api_key_query.secret_id),
});
}
return tKey('secrets.profiles.summary_unknown');
}
function secretName(secretsById, secretId) {
var secret = secretsById[secretId];
return secret ? secret.name : secretId;
}
function buildUsageBySecret() {
var usage = {};
state.profiles.forEach(function (profile) {
@@ -451,125 +411,11 @@ function initSecretsPage() {
return item;
}
function renderProfiles() {
var usage = state.derived.usageBySecret;
var secretsById = state.derived.secretsById;
profilesSummary.textContent = window.tPlural(
'secrets.profiles.subtitle_count',
state.profiles.length,
{ count: state.profiles.length }
);
window.CrankDom.clear(profilesList);
if (state.error) {
profilesList.appendChild(window.CrankDom.createEmptyState(
tKey('secrets.profiles.error_title'),
state.error
));
return;
}
if (state.loading && state.profiles.length === 0) {
profilesList.appendChild(window.CrankDom.createEmptyState(
tKey('secrets.profiles.loading_title'),
tKey('secrets.profiles.loading_body')
));
return;
}
if (!state.profiles.length) {
profilesList.appendChild(window.CrankDom.createEmptyState(
tKey('secrets.profiles.empty_title'),
tKey('secrets.profiles.empty_body')
));
return;
}
state.profiles.forEach(function (profile) {
var secretIds = secretIdsForProfile(profile);
var card = document.createElement('div');
card.className = 'resource-card';
var header = document.createElement('div');
header.className = 'resource-card-header';
var headerBody = document.createElement('div');
var title = document.createElement('div');
title.className = 'resource-card-title';
title.textContent = profile.name;
headerBody.appendChild(title);
var subtitle = document.createElement('div');
subtitle.className = 'resource-card-subtitle';
subtitle.textContent = profileSummary(profile, secretsById);
headerBody.appendChild(subtitle);
var pillRow = document.createElement('div');
pillRow.className = 'resource-pill-row';
var statusPill = document.createElement('span');
statusPill.className = 'resource-status-pill active';
statusPill.textContent = authKindLabel(profile.kind);
pillRow.appendChild(statusPill);
headerBody.appendChild(pillRow);
header.appendChild(headerBody);
card.appendChild(header);
var metaGrid = document.createElement('div');
metaGrid.className = 'resource-meta-grid';
[
[tKey('secrets.profiles.meta.created'), formatDate(profile.created_at)],
[tKey('secrets.profiles.meta.updated'), formatDate(profile.updated_at)]
].forEach(function(entry) {
var item = document.createElement('div');
item.className = 'resource-meta-item';
var label = document.createElement('div');
label.className = 'resource-meta-label';
label.textContent = entry[0];
var value = document.createElement('div');
value.className = 'resource-meta-value';
value.textContent = entry[1];
item.appendChild(label);
item.appendChild(value);
metaGrid.appendChild(item);
});
card.appendChild(metaGrid);
var detail = document.createElement('div');
detail.className = 'resource-detail-block';
var detailTitle = document.createElement('div');
detailTitle.className = 'resource-detail-title';
detailTitle.textContent = tKey('secrets.profiles.references');
detail.appendChild(detailTitle);
var refList = document.createElement('div');
refList.className = 'secret-ref-list';
secretIds.forEach(function(secretId) {
var users = usage[secretId] || [];
var pill = document.createElement('span');
pill.className = 'secret-ref-pill';
var strong = document.createElement('strong');
strong.textContent = secretName(secretsById, secretId);
var count = document.createElement('span');
count.textContent = tfKey('secrets.profiles.reference_count', { count: users.length });
pill.appendChild(strong);
pill.appendChild(count);
refList.appendChild(pill);
});
detail.appendChild(refList);
card.appendChild(detail);
profilesList.appendChild(card);
});
}
async function load() {
state.workspaceId = currentWorkspaceId();
state.loading = true;
state.error = '';
renderSecrets();
renderProfiles();
if (!state.workspaceId) {
state.secrets = [];
@@ -578,7 +424,6 @@ function initSecretsPage() {
state.loading = false;
state.error = tKey('secrets.error.workspace');
renderSecrets();
renderProfiles();
return;
}
@@ -598,7 +443,6 @@ function initSecretsPage() {
} finally {
state.loading = false;
renderSecrets();
renderProfiles();
}
}