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
accessJwt: z.string().optional(), // optional because it can expire
signupQueued: z.boolean().optional(),
status: z
.enum(['active', 'takendown', 'suspended', 'deactivated'])
.optional(),
pdsUrl: z.string().optional(),
})
export type PersistedAccount = z.infer<typeof accountSchema>
@@ -59,6 +59,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -96,6 +97,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -145,6 +147,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -192,6 +195,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "alice-access-jwt-1",
@@ -204,6 +208,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -251,6 +256,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "bob-access-jwt-1",
@@ -263,6 +269,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -308,6 +315,7 @@ describe('session', () => {
"refreshJwt": "jay-refresh-jwt-1",
"service": "https://jay.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "alice-access-jwt-2",
@@ -320,6 +328,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "bob-access-jwt-1",
@@ -332,6 +341,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -373,6 +383,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://jay.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": undefined,
@@ -385,6 +396,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": undefined,
@@ -397,6 +409,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -455,6 +468,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -499,6 +513,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -610,6 +625,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -690,6 +706,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -740,6 +757,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-3",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -790,6 +808,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-4",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -946,6 +965,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-1",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "alice-access-jwt-2",
@@ -958,6 +978,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1006,6 +1027,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-2",
"service": "https://bob.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "alice-access-jwt-2",
@@ -1018,6 +1040,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1165,6 +1188,7 @@ describe('session', () => {
"refreshJwt": "alice-refresh-jwt-1",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1227,6 +1251,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1289,6 +1314,7 @@ describe('session', () => {
"refreshJwt": undefined,
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1380,6 +1406,7 @@ describe('session', () => {
"refreshJwt": "jay-refresh-jwt-1",
"service": "https://jay.com/",
"signupQueued": false,
"status": "active",
},
{
"accessJwt": "bob-access-jwt-2",
@@ -1392,6 +1419,7 @@ describe('session', () => {
"refreshJwt": "bob-refresh-jwt-2",
"service": "https://alice.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
@@ -1438,6 +1466,7 @@ describe('session', () => {
"refreshJwt": "clarence-refresh-jwt-2",
"service": "https://clarence.com/",
"signupQueued": false,
"status": "active",
},
],
"currentAgentState": {
+2
View File
@@ -235,6 +235,8 @@ export function agentToSessionAccount(
refreshJwt: agent.session.refreshJwt,
accessJwt: 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(),
}
}