( payload: RegularApiCallPayload | HttpSignedApiCallPayload )
| 112 | } |
| 113 | |
| 114 | export function verifyTemplateId( |
| 115 | payload: RegularApiCallPayload | HttpSignedApiCallPayload |
| 116 | ): LogsData<ApiCallErrorResponse> | null { |
| 117 | const { type, aggregatedApiCall } = payload; |
| 118 | |
| 119 | const { templateId, template, id } = aggregatedApiCall; |
| 120 | if (!templateId) { |
| 121 | return null; |
| 122 | } |
| 123 | |
| 124 | if (!template) { |
| 125 | const message = `Ignoring Request:${id} as the template could not be found for verification`; |
| 126 | const log = logger.pend('ERROR', message); |
| 127 | return [[log], { success: false, errorMessage: message }]; |
| 128 | } |
| 129 | |
| 130 | const expectedTemplateId = |
| 131 | type === 'http-signed-data-gateway' ? getExpectedTemplateIdV1(template) : getExpectedTemplateIdV0(template); |
| 132 | |
| 133 | if (templateId === expectedTemplateId) return null; |
| 134 | |
| 135 | const message = `Invalid template ID:${templateId} found for Request:${id}. Expected template ID:${expectedTemplateId}`; |
| 136 | const log = logger.pend('ERROR', message); |
| 137 | return [[log], { success: false, errorMessage: message }]; |
| 138 | } |
| 139 | |
| 140 | export function verifyCallApi(payload: ApiCallPayload) { |
| 141 | switch (payload.type) { |
no test coverage detected