Tweak schemas for entryway createAccount (#1797)

* tweak scheams

* require email & password
This commit is contained in:
Daniel Holmgren 2023-11-01 14:56:57 -05:00 committed by GitHub
parent a161f815de
commit cf848e87ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 87 additions and 16 deletions

View File

@ -9,7 +9,7 @@
"encoding": "application/json",
"schema": {
"type": "object",
"required": ["handle", "email", "password"],
"required": ["handle"],
"properties": {
"email": { "type": "string" },
"handle": { "type": "string", "format": "handle" },

View File

@ -5,6 +5,18 @@
"main": {
"type": "procedure",
"description": "Reserve a repo signing key for account creation.",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"properties": {
"did": {
"type": "string",
"description": "The did to reserve a new did:key for"
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {

View File

@ -2489,7 +2489,7 @@ export const schemaDict = {
encoding: 'application/json',
schema: {
type: 'object',
required: ['handle', 'email', 'password'],
required: ['handle'],
properties: {
email: {
type: 'string',
@ -3170,6 +3170,18 @@ export const schemaDict = {
main: {
type: 'procedure',
description: 'Reserve a repo signing key for account creation.',
input: {
encoding: 'application/json',
schema: {
type: 'object',
properties: {
did: {
type: 'string',
description: 'The did to reserve a new did:key for',
},
},
},
},
output: {
encoding: 'application/json',
schema: {

View File

@ -10,11 +10,11 @@ import { CID } from 'multiformats/cid'
export interface QueryParams {}
export interface InputSchema {
email: string
email?: string
handle: string
did?: string
inviteCode?: string
password: string
password?: string
recoveryKey?: string
plcOp?: {}
[k: string]: unknown

View File

@ -9,7 +9,11 @@ import { CID } from 'multiformats/cid'
export interface QueryParams {}
export type InputSchema = undefined
export interface InputSchema {
/** The did to reserve a new did:key for */
did?: string
[k: string]: unknown
}
export interface OutputSchema {
/** Public signing key in the form of a did:key. */
@ -20,6 +24,7 @@ export interface OutputSchema {
export interface CallOptions {
headers?: Headers
qp?: QueryParams
encoding: 'application/json'
}
export interface Response {

View File

@ -2489,7 +2489,7 @@ export const schemaDict = {
encoding: 'application/json',
schema: {
type: 'object',
required: ['handle', 'email', 'password'],
required: ['handle'],
properties: {
email: {
type: 'string',
@ -3170,6 +3170,18 @@ export const schemaDict = {
main: {
type: 'procedure',
description: 'Reserve a repo signing key for account creation.',
input: {
encoding: 'application/json',
schema: {
type: 'object',
properties: {
did: {
type: 'string',
description: 'The did to reserve a new did:key for',
},
},
},
},
output: {
encoding: 'application/json',
schema: {

View File

@ -11,11 +11,11 @@ import { HandlerAuth } from '@atproto/xrpc-server'
export interface QueryParams {}
export interface InputSchema {
email: string
email?: string
handle: string
did?: string
inviteCode?: string
password: string
password?: string
recoveryKey?: string
plcOp?: {}
[k: string]: unknown

View File

@ -10,7 +10,11 @@ import { HandlerAuth } from '@atproto/xrpc-server'
export interface QueryParams {}
export type InputSchema = undefined
export interface InputSchema {
/** The did to reserve a new did:key for */
did?: string
[k: string]: unknown
}
export interface OutputSchema {
/** Public signing key in the form of a did:key. */
@ -18,7 +22,10 @@ export interface OutputSchema {
[k: string]: unknown
}
export type HandlerInput = undefined
export interface HandlerInput {
encoding: 'application/json'
body: InputSchema
}
export interface HandlerSuccess {
encoding: 'application/json'

View File

@ -21,7 +21,11 @@ export default function (server: Server, ctx: AppContext) {
},
handler: async ({ input, req }) => {
const { email, password, inviteCode } = input.body
if (input.body.plcOp) {
if (!email) {
throw new InvalidRequestError('Missing input: "email"')
} else if (!password) {
throw new InvalidRequestError('Missing input: "password"')
} else if (input.body.plcOp) {
throw new InvalidRequestError('Unsupported input: "plcOp"')
}

View File

@ -2489,7 +2489,7 @@ export const schemaDict = {
encoding: 'application/json',
schema: {
type: 'object',
required: ['handle', 'email', 'password'],
required: ['handle'],
properties: {
email: {
type: 'string',
@ -3170,6 +3170,18 @@ export const schemaDict = {
main: {
type: 'procedure',
description: 'Reserve a repo signing key for account creation.',
input: {
encoding: 'application/json',
schema: {
type: 'object',
properties: {
did: {
type: 'string',
description: 'The did to reserve a new did:key for',
},
},
},
},
output: {
encoding: 'application/json',
schema: {

View File

@ -11,11 +11,11 @@ import { HandlerAuth } from '@atproto/xrpc-server'
export interface QueryParams {}
export interface InputSchema {
email: string
email?: string
handle: string
did?: string
inviteCode?: string
password: string
password?: string
recoveryKey?: string
plcOp?: {}
[k: string]: unknown

View File

@ -10,7 +10,11 @@ import { HandlerAuth } from '@atproto/xrpc-server'
export interface QueryParams {}
export type InputSchema = undefined
export interface InputSchema {
/** The did to reserve a new did:key for */
did?: string
[k: string]: unknown
}
export interface OutputSchema {
/** Public signing key in the form of a did:key. */
@ -18,7 +22,10 @@ export interface OutputSchema {
[k: string]: unknown
}
export type HandlerInput = undefined
export interface HandlerInput {
encoding: 'application/json'
body: InputSchema
}
export interface HandlerSuccess {
encoding: 'application/json'