Skip to content

Commit e100957

Browse files
committed
refactor(kinesis-validation): switch to Joi for kinesis validation
1 parent 96b22da commit e100957

File tree

8 files changed

+648
-680
lines changed

8 files changed

+648
-680
lines changed

lib/apiGateway/schema.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ const proxy = Joi.object({
6868
cors,
6969
authorizationType,
7070
authorizerId,
71-
authorizationScopes,
72-
requestParameters
71+
authorizationScopes
7372
})
7473
.oxor('authorizerId', 'authorizationScopes') // can have one of them, but not required
7574
.error((errors) => {
@@ -86,13 +85,22 @@ const proxy = Joi.object({
8685
})
8786
.required()
8887

88+
const stringOrRef = Joi.alternatives().try([
89+
Joi.string(),
90+
Joi.object().keys({
91+
Ref: Joi.string().required()
92+
})
93+
])
94+
8995
const allowedProxies = ['kinesis', 'sqs', 's3', 'sns']
9096

9197
const proxiesSchemas = {
92-
kinesis: Joi.object({ kinesis: proxy.forbiddenKeys('requestParameters') }),
93-
s3: Joi.object({ s3: proxy.forbiddenKeys('requestParameters') }),
94-
sns: Joi.object({ sns: proxy.forbiddenKeys('requestParameters') }),
95-
sqs: Joi.object({ sqs: proxy.optionalKeys('requestParameters') })
98+
kinesis: Joi.object({
99+
kinesis: proxy.append({ streamName: stringOrRef.required() })
100+
}),
101+
s3: Joi.object({ s3: proxy }),
102+
sns: Joi.object({ sns: proxy }),
103+
sqs: Joi.object({ sqs: proxy.append({ requestParameters }) })
96104
}
97105

98106
const schema = Joi.array()

0 commit comments

Comments
 (0)