0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-27 21:39:16 -05:00

chore: update error message (#6968)

This commit is contained in:
Darcy Ye 2025-01-22 15:42:55 +08:00 committed by GitHub
parent 42674478e9
commit af32c05a30
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 2 deletions

View file

@ -12,6 +12,8 @@ import type { CommonQueryMethods } from '@silverhand/slonik';
import { sql } from '@silverhand/slonik';
import { z } from 'zod';
import RequestError from '#src/errors/RequestError/index.js';
import assertThat from '#src/utils/assert-that.js';
import { convertToIdentifiers } from '#src/utils/sql.js';
const { table, fields } = convertToIdentifiers(Applications, true);
@ -70,7 +72,7 @@ const samlApplicationDetailsGuard = Applications.guard
export const createSamlApplicationQueries = (pool: CommonQueryMethods) => {
const getSamlApplicationDetailsById = async (id: string): Promise<SamlApplicationDetails> => {
const result = await pool.one(sql`
const result = await pool.maybeOne(sql`
select ${fields.id} as id, ${fields.secret} as secret, ${fields.name} as name, ${fields.description} as description, ${fields.customData} as custom_data, ${fields.oidcClientMetadata} as oidc_client_metadata, ${samlApplicationConfigsFields.attributeMapping} as attribute_mapping, ${samlApplicationConfigsFields.entityId} as entity_id, ${samlApplicationConfigsFields.acsUrl} as acs_url, ${samlApplicationConfigsFields.encryption} as encryption, ${samlApplicationConfigsFields.nameIdFormat} as name_id_format, ${samlApplicationSecretsFields.privateKey} as private_key, ${samlApplicationSecretsFields.certificate} as certificate, ${samlApplicationSecretsFields.active} as active, ${samlApplicationSecretsFields.expiresAt} as expires_at
from ${table}
left join ${samlApplicationConfigsTable} on ${fields.id}=${samlApplicationConfigsFields.applicationId}
@ -78,6 +80,16 @@ export const createSamlApplicationQueries = (pool: CommonQueryMethods) => {
where ${fields.id}=${id} and ${fields.type}=${ApplicationType.SAML} and ${samlApplicationSecretsFields.active}=true
`);
assertThat(
result,
new RequestError(
{ code: 'entity.not_found', status: 404 },
{
message: `Can not find SAML application by ID (${id}) with active certificate.`,
}
)
);
return samlApplicationDetailsGuard.parse(result);
};

View file

@ -67,7 +67,7 @@ export default function samlApplicationAnonymousRoutes<T extends AnonymousRouter
koaGuard({
params: z.object({ id: z.string() }),
query: samlApplicationSignInCallbackQueryParametersGuard,
status: [200, 400],
status: [200, 400, 404],
}),
koaAuditLog(queries),
async (ctx, next) => {