Changeset dfc5379 in Klonkt


Ignore:
Timestamp:
06/20/2026 01:25:43 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
1f0c85b
Parents:
6d882b1
Message:

feat(circle): immediately sync a new circle on add

/add now runs syncOne(link) directly after the insert instead of waiting for
the 15-minute loop; if the sync fails, the circle stays added with a clear
message.

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/admin-circle.js

    r6d882b1 rdfc5379  
    4848});
    4949
    50 router.post('/add', requireGod, (req, res) => {
     50router.post('/add', requireGod, async (req, res) => {
    5151  const site = primarySite();
    5252  if (!site) return res.redirect('/admin/circle?error=' + encodeURIComponent('Geen site gevonden'));
     
    5656  }
    5757  const label = (req.body.label || '').toString().slice(0, 80).trim() || null;
     58  const id = crypto.randomUUID();
    5859  try {
    5960    db.prepare("INSERT INTO circle_links (id, local_site_id, remote_url, label, status) VALUES (?, ?, ?, ?, 'active')")
    60       .run(crypto.randomUUID(), site.id, url, label);
     61      .run(id, site.id, url, label);
    6162  } catch (e) {
    6263    return res.redirect('/admin/circle?error=' + encodeURIComponent('Deze site staat al in je cirkel'));
    6364  }
    64   res.redirect('/admin/circle?success=' + encodeURIComponent('Toegevoegd — klik "Verversen" om op te halen'));
     65  // Meteen ophalen i.p.v. wachten op de 15-min-loop.
     66  try {
     67    const link = db.prepare('SELECT * FROM circle_links WHERE id = ?').get(id);
     68    await syncOne(link);
     69    return res.redirect('/admin/circle?success=' + encodeURIComponent('Toegevoegd en gesynchroniseerd ✓'));
     70  } catch (e) {
     71    return res.redirect('/admin/circle?success=' + encodeURIComponent('Toegevoegd — synchroniseren mislukte (klik "Verversen" om opnieuw te proberen)'));
     72  }
    6573});
    6674
Note: See TracChangeset for help on using the changeset viewer.