Add status to session state

This commit is contained in:
Eric Bailey
2024-05-29 19:29:24 -05:00
parent 0bcc08f920
commit 2de8dff18e
3 changed files with 34 additions and 0 deletions
+3
View File
@@ -18,6 +18,9 @@ const accountSchema = z.object({
refreshJwt: z.string().optional(), // optional because it can expire refreshJwt: z.string().optional(), // optional because it can expire
accessJwt: z.string().optional(), // optional because it can expire accessJwt: z.string().optional(), // optional because it can expire
signupQueued: z.boolean().optional(), signupQueued: z.boolean().optional(),
status: z
.enum(['active', 'takendown', 'suspended', 'deactivated'])
.optional(),
pdsUrl: z.string().optional(), pdsUrl: z.string().optional(),
}) })
export type PersistedAccount = z.infer<typeof accountSchema> export type PersistedAccount = z.infer<typeof accountSchema>
@@ -59,6 +59,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1", "refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -96,6 +97,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -145,6 +147,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1", "refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -192,6 +195,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1", "refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "alice-access-jwt-1", "accessJwt": "alice-access-jwt-1",
@@ -204,6 +208,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1", "refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -251,6 +256,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "bob-access-jwt-1", "accessJwt": "bob-access-jwt-1",
@@ -263,6 +269,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1", "refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -308,6 +315,7 @@ describe('session', () => {
"refreshJwt": "jay-refresh-jwt-1", "refreshJwt": "jay-refresh-jwt-1",
"service": "https://jay.com/", "service": "https://jay.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "alice-access-jwt-2", "accessJwt": "alice-access-jwt-2",
@@ -320,6 +328,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "bob-access-jwt-1", "accessJwt": "bob-access-jwt-1",
@@ -332,6 +341,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1", "refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -373,6 +383,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://jay.com/", "service": "https://jay.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": undefined, "accessJwt": undefined,
@@ -385,6 +396,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": undefined, "accessJwt": undefined,
@@ -397,6 +409,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -455,6 +468,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -499,6 +513,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -610,6 +625,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1", "refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -690,6 +706,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -740,6 +757,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-3", "refreshJwt": "alice-refresh-jwt-3",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -790,6 +808,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-4", "refreshJwt": "alice-refresh-jwt-4",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -946,6 +965,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1", "refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "alice-access-jwt-2", "accessJwt": "alice-access-jwt-2",
@@ -958,6 +978,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1006,6 +1027,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-2", "refreshJwt": "bob-refresh-jwt-2",
"service": "https://bob.com/", "service": "https://bob.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "alice-access-jwt-2", "accessJwt": "alice-access-jwt-2",
@@ -1018,6 +1040,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2", "refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1165,6 +1188,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1", "refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1227,6 +1251,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1289,6 +1314,7 @@ describe('session', () => {
"refreshJwt": undefined, "refreshJwt": undefined,
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1380,6 +1406,7 @@ describe('session', () => {
"refreshJwt": "jay-refresh-jwt-1", "refreshJwt": "jay-refresh-jwt-1",
"service": "https://jay.com/", "service": "https://jay.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
{ {
"accessJwt": "bob-access-jwt-2", "accessJwt": "bob-access-jwt-2",
@@ -1392,6 +1419,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-2", "refreshJwt": "bob-refresh-jwt-2",
"service": "https://alice.com/", "service": "https://alice.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
@@ -1438,6 +1466,7 @@ describe('session', () => {
"refreshJwt": "clarence-refresh-jwt-2", "refreshJwt": "clarence-refresh-jwt-2",
"service": "https://clarence.com/", "service": "https://clarence.com/",
"signupQueued": false, "signupQueued": false,
"status": "active",
}, },
], ],
"currentAgentState": { "currentAgentState": {
+2
View File
@@ -235,6 +235,8 @@ export function agentToSessionAccount(
refreshJwt: agent.session.refreshJwt, refreshJwt: agent.session.refreshJwt,
accessJwt: agent.session.accessJwt, accessJwt: agent.session.accessJwt,
signupQueued: isSignupQueued(agent.session.accessJwt), signupQueued: isSignupQueued(agent.session.accessJwt),
// @ts-expect-error TODO remove when backend is ready
status: agent.session.status || 'active',
pdsUrl: agent.pdsUrl?.toString(), pdsUrl: agent.pdsUrl?.toString(),
} }
} }