feat: add call checks
This commit is contained in:
8
views/partial/bpset_actions.ejs
Normal file
8
views/partial/bpset_actions.ejs
Normal 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>
|
59
views/partial/bpset_details.ejs
Normal file
59
views/partial/bpset_details.ejs
Normal 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>
|
19
views/partial/bpset_item.ejs
Normal file
19
views/partial/bpset_item.ejs
Normal 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>
|
34
views/partial/bpset_logs.ejs
Normal file
34
views/partial/bpset_logs.ejs
Normal 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>
|
57
views/partial/bpset_progress.ejs
Normal file
57
views/partial/bpset_progress.ejs
Normal 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>
|
||||
<% } %>
|
23
views/partial/page_header.ejs
Normal file
23
views/partial/page_header.ejs
Normal 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>
|
Reference in New Issue
Block a user