feat: add call checks

This commit is contained in:
2024-12-26 13:06:44 +09:00
parent eb30242fe1
commit abacea4f71
10 changed files with 247 additions and 64 deletions

View File

@ -0,0 +1,8 @@
<td>
<div class="btn-group">
<button type="button" class="btn btn-primary">Fix</button>
<button type="button" class="btn btn-secondary">Recheck</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="collapse" data-bs-target="#detail-<%= metadata.idx %>">Details</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="collapse" data-bs-target="#logs-<%= metadata.idx %>">Logs</button>
</div>
</td>

View File

@ -0,0 +1,59 @@
<%
const priorityLabel = ['CRITICAL', 'Required', 'Recommend'][metadata.priority-1] || 'Recommend'
const priorityColor = ['danger', 'warning', 'secondary'][metadata.priority-1] || 'secondary'
%>
<tr>
<td colspan="7" class="p-0">
<div class="collapse" id="detail-<%= metadata.idx %>">
<div class="bg-light p-3">
<h3><%= metadata.name %></h3>
<p><%= metadata.description %></p>
<p>
Category:
<span class="badge text-bg-secondary"><%= metadata.bestPracticeCategory %></span>
<%= metadata.awsServiceCategory %> - <%= metadata.awsService %>
</p>
<p>
Priority:
<span class="badge text-bg-<%= priorityColor %>">
<%= metadata.priority %> - <%= priorityLabel %>
</span>
<%= metadata.priorityReason %>
</p>
<h4>Operations used in check function</h4>
<div class="row row-cols-3">
<% metadata.commandUsedInCheckFunction.forEach(({ name, reason }) => { %>
<div class="col">
<div class="card">
<h5 class="card-header"><%= name %></h5>
<div class="card-body">
<%= reason %>
</div>
</div>
</div>
<% }) %>
</div>
<br>
<h4>Operations used in fix function</h4>
<div class="row row-cols-3">
<% metadata.commandUsedInFixFunction.forEach(({ name, reason }) => { %>
<div class="col">
<div class="card">
<h5 class="card-header"><%= name %></h5>
<div class="card-body">
<%= reason %>
</div>
</div>
</div>
<% }) %>
</div>
</div>
</div>
</td>
</tr>

View File

@ -0,0 +1,19 @@
<%
const priorityLabel = ['CRITICAL', 'Required', 'Recommend'][metadata.priority-1] || 'Recommend'
const priorityColor = ['danger', 'warning', 'secondary'][metadata.priority-1] || 'secondary'
%>
<tr>
<td class="fw-bold">#<%= metadata.idx + 1 %></td>
<td><%= metadata.name %></td>
<td><%= metadata.bestPracticeCategory %></td>
<td>
<span class="badge text-bg-<%= priorityColor %>">
<%= metadata.priority %> - <%= priorityLabel %>
</span>
</td>
<%- include('./bpset_progress.ejs', { metadata }) %>
<%- include('./bpset_actions.ejs', { metadata }) %>
</tr>

View File

@ -0,0 +1,34 @@
<tr>
<td colspan="7" class="p-0">
<div class="collapse" id="logs-<%= metadata.idx %>">
<div class="bg-light p-3">
<h4>Non-Compliant Resources</h4>
<ul>
<% metadata.nonCompliantResources.forEach((id) => { %>
<li><%= id %></li>
<% }) %>
</ul>
<br>
<h4>Compliant Resources</h4>
<ul>
<% metadata.compliantResources.forEach((id) => { %>
<li><%= id %></li>
<% }) %>
</ul>
<br>
<h4>Error Logs</h4>
<ul>
<% metadata.errorMessage.forEach((log) => { %>
<li>
<p><%= log.date %></p>
<pre><%= log.message %></pre>
</li>
<% }) %>
</ul>
</div>
</div>
</td>
</tr>

View File

@ -0,0 +1,57 @@
<%
const passResources = metadata.compliantResources.length
const failResources = metadata.nonCompliantResources.length
const totalResources = passResources + failResources
const passPercent =
totalResources > 0
? passResources / totalResources * 100
: 100
const isPass = failResources < 1
%>
<% if (metadata.status === 'FINISHED') { %>
<td>
<span class="badge text-bg-<%= isPass ? 'success' : 'danger' %>">
<%= isPass ? 'Pass' : 'Fail' %>
</span>
</td>
<td>
<div class="progress" role="progressbar">
<div class="progress-bar" style="width: <%= passPercent %>%"></div>
</div>
(<%= passResources %>/<%= totalResources %>)
</td>
<% } %>
<% if (metadata.status === 'CHECKING') { %>
<td colspan="2">
<div class="progress" role="progressbar">
<div class="progress-bar progress-bar-striped progress-bar-animated bg-secondary" style="width: 100%"></div>
</div>
<p>Progressing</p>
</td>
<% } %>
<% if (metadata.status === 'ERROR') { %>
<td colspan="2">
<div class="progress" role="progressbar">
<div class="progress-bar progress-bar-striped bg-danger" style="width: 100%"></div>
</div>
<p>Error</p>
</td>
<% } %>
<% if (metadata.status === 'LOADED') { %>
<td colspan="2">
<div class="progress" role="progressbar">
<div class="progress-bar" style="width: 0%"></div>
</div>
<p>Ready</p>
</td>
<% } %>

View File

@ -0,0 +1,23 @@
<div class="d-flex justify-content-between align-items-end">
<div>
<h1 class="fw-bold">BPSets (<%= bpLength %>)</h1>
<p>Created by Minhyeok Park</p>
</div>
<div class="d-flex">
<div>
<p>Pass</p>
<p><%= %></p>
</div>
<div>
<p>Fail</p>
</div>
<div>
<p>Error</p>
</div>
</div>
<div class="btn-group">
<a href="/check_all" type="button" class="btn btn-primary">Check All</a>
</div>
</div>