Skip to content

Commit 5b78996

Browse files
wa0x6eChaituVR
andauthored
feat: return the space turbo expiration timestamp (#997)
* feat: return the space turbo expiration timestamp * Update src/helpers/spaces.ts Co-authored-by: Chaitanya <[email protected]> * fix: fix variable case * fix: fix missing comma * chore: fix query due to camelcase local name * test: fix tests * fix: fix invalid variable name --------- Co-authored-by: Chaitanya <[email protected]>
1 parent 1359269 commit 5b78996

File tree

10 files changed

+27
-4
lines changed

10 files changed

+27
-4
lines changed

src/graphql/helpers.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ export function formatSpace({
8888
domain,
8989
verified,
9090
turbo,
91+
turboExpiration,
9192
flagged,
9293
hibernated,
9394
skinSettings
@@ -143,6 +144,7 @@ export function formatSpace({
143144
space.flagged = flagged ?? null;
144145
space.hibernated = hibernated ?? null;
145146
space.turbo = turbo ?? null;
147+
space.turboExpiration = turboExpiration ?? 0;
146148
space.rank = spaceMetadata?.rank ?? null;
147149

148150
// always return parent and children in child node format
@@ -317,7 +319,11 @@ export async function fetchSpaces(args) {
317319
return spaces.map(space =>
318320
Object.assign(
319321
space,
320-
formatSpace({ skinSettings: formatSkinSettings(space), ...space })
322+
formatSpace({
323+
skinSettings: formatSkinSettings(space),
324+
turboExpiration: space.turbo_expiration,
325+
...space
326+
})
321327
)
322328
);
323329
}
@@ -437,6 +443,7 @@ export function formatProposal(proposal) {
437443
domain: proposal.spaceDomain,
438444
verified: proposal.spaceVerified,
439445
turbo: proposal.spaceTurbo,
446+
turboExpiration: proposal.spaceTurboExpiration,
440447
flagged: proposal.spaceFlagged,
441448
hibernated: proposal.spaceHibernated,
442449
skinSettings: formatSkinSettings(proposal)
@@ -463,6 +470,7 @@ export function formatVote(vote) {
463470
settings: vote.settings,
464471
verified: vote.spaceVerified,
465472
turbo: vote.spaceTurbo,
473+
turboExpiration: vote.spaceTurboExpiration,
466474
flagged: vote.spaceFlagged,
467475
hibernated: vote.spaceHibernated,
468476
skinSettings: formatSkinSettings(vote)
@@ -477,6 +485,7 @@ export function formatFollow(follow) {
477485
domain: follow.spaceDomain,
478486
verified: follow.spaceVerified,
479487
turbo: follow.spaceTurbo,
488+
turboExpiration: follow.spaceTurboExpiration,
480489
flagged: follow.spaceFlagged,
481490
hibernated: follow.spaceHibernated,
482491
skinSettings: formatSkinSettings(follow)
@@ -491,6 +500,7 @@ export function formatSubscription(subscription) {
491500
domain: subscription.spaceDomain,
492501
verified: subscription.spaceVerified,
493502
turbo: subscription.spaceTurbo,
503+
turboExpiration: subscription.spaceTurboExpiration,
494504
flagged: subscription.spaceFlagged,
495505
hibernated: subscription.spaceHibernated,
496506
skinSettings: formatSkinSettings(subscription)

src/graphql/operations/follows.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export default async function (parent, args) {
3737
spaces.flagged as spaceFlagged,
3838
spaces.verified as spaceVerified,
3939
spaces.turbo as spaceTurbo,
40+
spaces.turbo_expiration as spaceTurboExpiration,
4041
spaces.hibernated as spaceHibernated
4142
FROM follows f
4243
LEFT JOIN spaces ON spaces.id = f.space

src/graphql/operations/proposal.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export default async function (parent, { id }) {
1414
spaces.flagged as spaceFlagged,
1515
spaces.verified as spaceVerified,
1616
spaces.turbo as spaceTurbo,
17+
spaces.turbo_expiration as spaceTurboExpiration,
1718
spaces.hibernated as spaceHibernated
1819
FROM proposals p
1920
INNER JOIN spaces ON spaces.id = p.space

src/graphql/operations/proposals.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export default async function (parent, args) {
9696
spaces.flagged as spaceFlagged,
9797
spaces.verified as spaceVerified,
9898
spaces.turbo as spaceTurbo,
99+
spaces.turbo_expiration as spaceTurboExpiration,
99100
spaces.hibernated as spaceHibernated
100101
FROM proposals p
101102
INNER JOIN spaces ON spaces.id = p.space

src/graphql/operations/subscriptions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export default async function (parent, args) {
3838
spaces.flagged as spaceFlagged,
3939
spaces.verified as spaceVerified,
4040
spaces.turbo as spaceTurbo,
41+
spaces.turbo_expiration as spaceTurboExpiration,
4142
spaces.hibernated as spaceHibernated
4243
FROM subscriptions s
4344
INNER JOIN spaces ON spaces.id = s.space

src/graphql/operations/votes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ async function query(parent, args, context?, info?) {
9696
spaces.flagged as spaceFlagged,
9797
spaces.verified as spaceVerified,
9898
spaces.turbo as spaceTurbo,
99+
spaces.turbo_expiration as spaceTurboExpiration,
99100
spaces.hibernated as spaceHibernated
100101
FROM proposals p
101102
INNER JOIN spaces ON spaces.id = p.space

src/graphql/schema.gql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ type Space {
442442
flagged: Boolean
443443
hibernated: Boolean
444444
turbo: Boolean
445-
turbo_expiration: Int
445+
turboExpiration: Int
446446
rank: Float
447447
boost: BoostSettings
448448
created: Int!

src/helpers/spaces.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ type Metadata = {
3333
verified: boolean;
3434
flagged: boolean;
3535
turbo: boolean;
36+
turboExpiration: number;
3637
hibernated: boolean;
3738
parent: string;
3839
popularity: number;
@@ -124,6 +125,7 @@ function mapSpaces() {
124125
verified: space.verified,
125126
flagged: space.flagged,
126127
turbo: space.turbo,
128+
turboExpiration: space.turboExpiration,
127129
hibernated: space.hibernated,
128130
parent: space.parent,
129131
popularity: spacesMetadata[id]?.popularity || 0,
@@ -152,7 +154,7 @@ async function loadSpaces() {
152154
const startTime = +Date.now();
153155

154156
const query = `
155-
SELECT id, settings, flagged, verified, turbo, hibernated, follower_count, proposal_count, vote_count
157+
SELECT id, settings, flagged, verified, turbo, turbo_expiration, hibernated, follower_count, proposal_count, vote_count
156158
FROM spaces
157159
WHERE deleted = 0
158160
ORDER BY id ASC
@@ -167,6 +169,7 @@ async function loadSpaces() {
167169
flagged: space.flagged === 1,
168170
verified: space.verified === 1,
169171
turbo: space.turbo === 1,
172+
turboExpiration: space.turbo_expiration,
170173
hibernated: space.hibernated === 1,
171174
follower_count: space.follower_count,
172175
vote_count: space.vote_count,
@@ -298,7 +301,7 @@ async function loadSpacesMetrics() {
298301

299302
export async function getSpace(id: string) {
300303
const query = `
301-
SELECT settings, domain, flagged, verified, turbo, hibernated, deleted, follower_count, proposal_count, vote_count
304+
SELECT settings, domain, flagged, verified, turbo, turbo_expiration, hibernated, deleted, follower_count, proposal_count, vote_count
302305
FROM spaces
303306
WHERE id = ?
304307
LIMIT 1`;
@@ -313,6 +316,7 @@ export async function getSpace(id: string) {
313316
flagged: space.flagged === 1,
314317
verified: space.verified === 1,
315318
turbo: space.turbo === 1,
319+
turboExpiration: space.turbo_expiration,
316320
hibernated: space.hibernated === 1,
317321
deleted: space.deleted === 1
318322
};

test/e2e/space.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ describe('GET /api/space/:key', () => {
4141
flagged: space.flagged,
4242
verified: space.verified,
4343
turbo: space.turbo,
44+
turboExpiration: space.turbo_expiration,
4445
hibernated: space.hibernated,
4546
deleted: false,
4647
domain: space.domain,
@@ -75,6 +76,7 @@ describe('GET /api/space/:key', () => {
7576
flagged: space.flagged,
7677
verified: space.verified,
7778
turbo: space.turbo,
79+
turboExpiration: space.turbo_expiration,
7880
hibernated: space.hibernated,
7981
deleted: true,
8082
domain: space.domain,

test/fixtures/spaces.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const fixtures: Record<string, any>[] = [
55
flagged: false,
66
verified: true,
77
turbo: false,
8+
turbo_expiration: 0,
89
hibernated: false,
910
domain: 'test.com',
1011
settings: { network: 1 },
@@ -17,6 +18,7 @@ const fixtures: Record<string, any>[] = [
1718
flagged: false,
1819
verified: true,
1920
turbo: false,
21+
turbo_expiration: 0,
2022
hibernated: false,
2123
deleted: true,
2224
domain: 'test1.com',

0 commit comments

Comments
 (0)