You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
consul/ui/packages/consul-ui/app/serializers/oidc-provider.js

38 lines
1.0 KiB

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Serializer from './application';
import { PRIMARY_KEY, SLUG_KEY } from 'consul-ui/models/oidc-provider';
export default class OidcSerializer extends Serializer {
primaryKey = PRIMARY_KEY;
slugKey = SLUG_KEY;
respondForAuthorize(respond, serialized, data) {
// we avoid the parent serializer here as it tries to create a fingerprint
// for an 'action' request but we still need to pass the headers through
return respond((headers, body) => {
return this.attachHeaders(headers, body, data);
});
}
respondForQueryRecord(respond, query) {
// add the name and nspace here so we can merge this
// TODO: Look to see if we always want the merging functionality
return super.respondForQueryRecord(
(cb) =>
respond((headers, body) =>
cb(headers, {
Name: query.id,
Namespace: query.ns,
Partition: query.partition,
...body,
})
),
query
);
}
}