chore(badges): Enhance warning in readme and describe how to allow configuration reading from frontend. Move remaining tests files beside the tested code

Signed-off-by: Rbillon59 <r.billon@celonis.com>
This commit is contained in:
Rbillon59
2023-04-28 18:38:07 +02:00
parent 00979497ac
commit 29078a6c05
5 changed files with 19 additions and 4 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ app:
obfuscate: true
```
:warning: **Warning**: The only endpoint to be publicly available is the `/entity/:entityUuid/:badgeId` endpoint. The other endpoints are meant to be called from the frontend plugin.
:warning: **Warning**: The only endpoint to be publicly available is the `/entity/:entityUuid/:badgeId` endpoint. The other endpoints are meant for trusted internal users and should not be publicly exposed.
> Note that you cannot use env vars to set the `obfuscate` value. It must be a boolean value and env vars are always strings.
@@ -26,5 +26,8 @@ exports.up = async function up(knex) {
};
exports.down = async function down(knex) {
await knex.schema.alterTable('badges', table => {
table.dropIndex('', 'badges_uuid_index');
});
await knex.schema.dropTable('badges');
};
@@ -25,7 +25,7 @@ import {
import { CatalogApi } from '@backstage/catalog-client';
import type { Entity } from '@backstage/catalog-model';
import { Config, ConfigReader } from '@backstage/config';
import { createRouter } from '../service/router';
import { createRouter } from './router';
import { BadgeBuilder } from '../lib';
import {
BackstageIdentityResponse,
@@ -25,7 +25,7 @@ import {
import { CatalogApi } from '@backstage/catalog-client';
import type { Entity } from '@backstage/catalog-model';
import { Config, ConfigReader } from '@backstage/config';
import { createRouter } from '../service/router';
import { createRouter } from './router';
import { BadgeBuilder } from '../lib';
import {
BackstageIdentityResponse,
+13 -1
View File
@@ -34,7 +34,9 @@ Please note that if you have already set badges in your repositories and you act
Please note that the backend part needs to be configured to support obfuscation. See the [backend plugin documentation](../badges-backend/README.md) for more details.
Also, you need to allow your frontend to access the configuration :
Also, you need to allow your frontend to access the configuration see <https://backstage.io/docs/conf/defining/#visibility> :
Example implementation would be in : `packages/app/src/config.d.ts`
```typescript
export interface Config {
@@ -51,6 +53,16 @@ export interface Config {
}
```
then include in the `packages/app/package.json` :
```json
"files": [
"dist",
"config.d.ts"
],
"configSchema": "config.d.ts",
```
## Sample Badges
Here are some samples of badges for the `artists-lookup` service in the Demo Backstage site: