<% layout('../layout') %>

Admin

Archive Requests

Requests found in the admin inbox. Approve to whitelist + archive and email the requester the links. Reject asks the requester for more context (optionally with your note) instead of refusing.

<% it.archiveRequests.forEach(function(r){ %>
<%= r.subject %>
<%= r.from_name ? r.from_name + ' ' : '' %><<%= r.from_email %>> · <%= r.created_at ? new Date(r.created_at).toISOString().slice(0, 16).replace('T', ' ') : '' %>
<% if (r.auto_approved) { %>auto-approved<% } %> <%= r.status.replace('_', ' ') %>
<% if (r.ai_summary) { %>

AI: <%= r.ai_summary %>

<% } %> <% r.videos.forEach(function(v){ %> <% }) %>
VideoTitleChannelChannel IDLength
<%= v.id %> <%= v.title || '?' %> <%= v.channel || '?' %> <%= v.channelId || '?' %> <%= it.fmtLength(v.lengthSeconds) %> <% if (v.isArchived) { %>archived <% } else if (!v.alive) { %>no metadata <% } %> <% if (v.result && !v.result.success) { %>
<%= v.result.message %>
<% } %>
Full email
<%= r.body %>
<% if (r.reply_text) { %>
Reply sent
<%= r.reply_text %>
<% } %> <% if (r.error_message) { %>
<%= r.error_message %>
<% } %> <% if (r.status === 'pending' || r.status === 'failed') { %>
<% } else if (r.status === 'awaiting_context') { %>
<% } %>
<% }) %> <% if (it.archiveRequests.length === 0) { %>

No archive requests yet.

<% } %>

Auto-approve senders

Requests from these addresses skip review and are archived immediately.

<% it.autoApproveSenders.forEach(function(s){ %> <% }) %> <% if (it.autoApproveSenders.length === 0) { %> <% } %>
<%= s.email %> <%= s.note || '' %>
No auto-approved senders.

Glacier Restore

Restore a video from Glacier cold storage back to hot storage. AWS retrieval takes up to 48 hours; once it's done, the video is automatically re-uploaded and the requester is emailed.

<% it.requests.forEach(function(r){ %> <% }) %> <% if (it.requests.length === 0) { %> <% } %>
Video Requester Status Requested Error
<%= r.videoId %> <%= r.requester_email %> <%= r.status %> <%= r.created_at ? new Date(r.created_at).toISOString() : '' %> <%= r.error_message || '' %>
No restore requests yet.