Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Implement `GET /claims` by SidneyNemzer · Pull Request #82 · BuildTheEarth/web · GitHub
Skip to content

Implement GET /claims - #82

Merged
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims
Apr 27, 2026
Merged

Implement GET /claims#82
Nudelsuppe42 merged 6 commits into
BuildTheEarth:api/v2from
SidneyNemzer:api-v2/claims

Conversation

@SidneyNemzer

Copy link
Copy Markdown
Contributor

This PR implements GET /claims, with some other minor changes.

Want to confirm how auth should work for this route, it looks like v1 didn't check auth for this route, although v2 requires build team token auth by default.

Comment threadapps/api-v2/src/sections/claims/claims.module.ts Outdated
Comment threadapps/api-v2/src/sections/claims/claims.controller.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add pagination and sorting like in /applications (not done)

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

@Nudelsuppe42Nudelsuppe42 linked an issue Mar 1, 2026 that may be closed by this pull request
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

Ok the more i think about it, the more i agree that we shouldnt duplicate routes the way i intended.
So i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter? Is that good? That way everyone can access data & teams can do at the same time.
But that will definitley require pagination as we dont want to send out 100MB+ every time

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Also, if its easier for you, you can now also branch inside this repo without needing your fork if thats easier for you.

Ah yeah good point! I'll do that for my next PRs

i think /claims shouldnt require auth, but if present should take the id of the token as the default team filter?

Yes as long as you don't want to list claims for every team. I'm not super familiar with how they're used so maybe it always makes sense to list claims for one team at a time. I'll make that change for this route and add pagination.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed a commit to make auth optional for the route, defaulting team to req.token.id. Let me know what you think.

It would be nice to make @OptionalAuth() type safe so the controller knows req.token is possibly undefined, any ideas there? My best idea is to make the auth a param of the controller but not sure if that makes sense for Nest.

I'll add pagination when I get a chance later this week.

@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I think what you did is good (that also how the docs say you should handle it). Not sure about type saftey though.
Just dont know about how the swagger docs will behave, worst case would be to add a note in the description or something.

@SidneyNemzer

Copy link
Copy Markdown
ContributorAuthor

Pushed commit for pagination

@github-project-automationgithub-project-automationBot moved this from Backlog to In Progress in @BuildTheEarth/web TrackerMar 7, 2026
@Nudelsuppe42Nudelsuppe42 added this to the API version 2 milestone Mar 14, 2026
@Nudelsuppe42
Nudelsuppe42 merged commit 7d3f3a7 into BuildTheEarth:api/v2Apr 27, 2026
1 check passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in @BuildTheEarth/web TrackerApr 27, 2026
@Nudelsuppe42

Copy link
Copy Markdown
Contributor

I totally forgot this

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(api/v2): ⭐ Implement claims routes

2 participants

@SidneyNemzer@Nudelsuppe42