Skip to content

Commit dbcd0b0

Browse files
authored
Merge branch 'main' into feat/collection-autocomplete
2 parents 8200f1b + 47362c9 commit dbcd0b0

File tree

19 files changed

+1791
-780
lines changed

19 files changed

+1791
-780
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
"devDependencies": {
4141
"@backstage/cli": "^0.33.1",
4242
"@backstage/e2e-test-utils": "^0.1.1",
43-
"@janus-idp/cli": "^3.6.1",
4443
"@playwright/test": "^1.32.3",
44+
"@red-hat-developer-hub/cli": "^1.10.0",
4545
"@spotify/prettier-config": "^12.0.0",
4646
"@types/jest": "^30.0.0",
4747
"@types/node": "^22.13.4",

plugins/auth-backend-module-rhaap-provider/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"prepack": "backstage-cli package prepack",
2626
"postpack": "backstage-cli package postpack",
2727
"fix": "backstage-cli repo fix --publish",
28-
"export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @ansible/backstage-rhaap-common"
28+
"export-dynamic": "rhdh-cli plugin export --embed-package @ansible/backstage-rhaap-common"
2929
},
3030
"dependencies": {
3131
"@ansible/backstage-rhaap-common": "workspace:^",
@@ -44,7 +44,6 @@
4444
"@backstage/backend-defaults": "^0.11.1",
4545
"@backstage/backend-test-utils": "^1.5.0",
4646
"@backstage/cli": "^0.33.1",
47-
"@janus-idp/cli": "^3.6.1",
4847
"@types/jest": "^29.5.14",
4948
"@types/node": "^22.13.4",
5049
"@types/passport-oauth2": "^1.4.17",

plugins/backstage-rhaap/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"prepack": "backstage-cli package prepack",
2727
"postpack": "backstage-cli package postpack",
2828
"fix": "backstage-cli repo fix --publish",
29-
"export-dynamic": "janus-cli package export-dynamic-plugin"
29+
"export-dynamic": "rhdh-cli plugin export"
3030
},
3131
"dependencies": {
3232
"@backstage/catalog-model": "^1.7.4",
@@ -56,7 +56,6 @@
5656
"@backstage/core-app-api": "^1.17.0",
5757
"@backstage/dev-utils": "^1.1.10",
5858
"@backstage/test-utils": "^1.7.8",
59-
"@janus-idp/cli": "^3.6.1",
6059
"@testing-library/jest-dom": "^6.0.0",
6160
"@testing-library/react": "^16.0.0",
6261
"@testing-library/user-event": "^14.0.0",

plugins/catalog-backend-module-rhaap/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"prepack": "backstage-cli package prepack",
2626
"postpack": "backstage-cli package postpack",
2727
"fix": "backstage-cli repo fix --publish",
28-
"export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @ansible/backstage-rhaap-common"
28+
"export-dynamic": "rhdh-cli plugin export --embed-package @ansible/backstage-rhaap-common"
2929
},
3030
"dependencies": {
3131
"@ansible/backstage-rhaap-common": "workspace:^",
@@ -47,7 +47,6 @@
4747
"devDependencies": {
4848
"@backstage/backend-test-utils": "^1.5.0",
4949
"@backstage/cli": "^0.33.1",
50-
"@janus-idp/cli": "^3.6.1",
5150
"@types/express": "^5.0.3",
5251
"@types/jest": "^29.5.14",
5352
"@types/supertest": "^6.0.3",

plugins/catalog-backend-module-rhaap/src/router.test.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -653,12 +653,16 @@ describe('createRouter', () => {
653653
'2024-01-15T11:00:00Z',
654654
);
655655

656-
const response = await request(app).get('/aap/sync_status');
656+
const response = await request(app).get(
657+
'/aap/sync_status?aap_entities=true',
658+
);
657659

658660
expect(response.status).toBe(200);
659661
expect(response.body).toEqual({
660-
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
661-
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
662+
aap: {
663+
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
664+
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
665+
},
662666
});
663667
expect(mockLogger.info).toHaveBeenCalledWith('Getting sync status');
664668
});
@@ -670,13 +674,17 @@ describe('createRouter', () => {
670674
});
671675
mockJobTemplateProvider.getLastSyncTime.mockReturnValue(null);
672676

673-
const response = await request(app).get('/aap/sync_status');
677+
const response = await request(app).get(
678+
'/aap/sync_status?aap_entities=true',
679+
);
674680

675681
expect(response.status).toBe(500);
676682
expect(response.body).toEqual({
677683
error: 'Failed to get sync status: Failed to get sync time',
678-
orgsUsersTeams: { lastSync: null },
679-
jobTemplates: { lastSync: null },
684+
aap: {
685+
orgsUsersTeams: null,
686+
jobTemplates: null,
687+
},
680688
});
681689
expect(mockLogger.error).toHaveBeenCalledWith(
682690
'Failed to get sync status: Failed to get sync time',
@@ -689,13 +697,17 @@ describe('createRouter', () => {
689697
});
690698
mockJobTemplateProvider.getLastSyncTime.mockReturnValue(null);
691699

692-
const response = await request(app).get('/aap/sync_status');
700+
const response = await request(app).get(
701+
'/aap/sync_status?aap_entities=true',
702+
);
693703

694704
expect(response.status).toBe(500);
695705
expect(response.body).toEqual({
696706
error: 'Failed to get sync status: String error',
697-
orgsUsersTeams: { lastSync: null },
698-
jobTemplates: { lastSync: null },
707+
aap: {
708+
orgsUsersTeams: null,
709+
jobTemplates: null,
710+
},
699711
});
700712
});
701713
});

plugins/catalog-backend-module-rhaap/src/router.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,24 +51,33 @@ export async function createRouter(options: {
5151
response.status(200).json(res);
5252
});
5353

54-
router.get('/aap/sync_status', async (_, response) => {
54+
router.get('/aap/sync_status', async (request, response) => {
5555
logger.info('Getting sync status');
56+
const aapEntities = request.query.aap_entities === 'true';
57+
5658
try {
5759
const orgsUsersTeamsLastSync = aapEntityProvider.getLastSyncTime();
5860
const jobTemplatesLastSync = jobTemplateProvider.getLastSyncTime();
5961

60-
response.status(200).json({
61-
orgsUsersTeams: { lastSync: orgsUsersTeamsLastSync },
62-
jobTemplates: { lastSync: jobTemplatesLastSync },
63-
});
62+
if (aapEntities) {
63+
response.status(200).json({
64+
aap: {
65+
orgsUsersTeams: { lastSync: orgsUsersTeamsLastSync },
66+
jobTemplates: { lastSync: jobTemplatesLastSync },
67+
},
68+
});
69+
}
6470
} catch (error) {
6571
const errorMessage =
6672
error instanceof Error ? error.message : String(error);
6773
logger.error(`Failed to get sync status: ${errorMessage}`);
74+
6875
response.status(500).json({
6976
error: `Failed to get sync status: ${errorMessage}`,
70-
orgsUsersTeams: { lastSync: null },
71-
jobTemplates: { lastSync: null },
77+
aap: {
78+
orgsUsersTeams: null,
79+
jobTemplates: null,
80+
},
7281
});
7382
}
7483
});

plugins/scaffolder-backend-module-backstage-rhaap/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"prepack": "backstage-cli package prepack",
2525
"postpack": "backstage-cli package postpack",
2626
"fix": "backstage-cli repo fix --publish",
27-
"export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @ansible/backstage-rhaap-common"
27+
"export-dynamic": "rhdh-cli plugin export --embed-package @ansible/backstage-rhaap-common"
2828
},
2929
"dependencies": {
3030
"@ansible/backstage-rhaap-common": "workspace:^",
@@ -60,7 +60,6 @@
6060
"@backstage/cli": "^0.33.1",
6161
"@backstage/plugin-scaffolder-node-test-utils": "^0.2.2",
6262
"@backstage/test-utils": "^1.7.8",
63-
"@janus-idp/cli": "^3.6.1",
6463
"@types/express": "^5.0.3",
6564
"@types/jest": "^29.5.12",
6665
"@types/js-yaml": "^4",

plugins/self-service/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"clean": "backstage-cli package clean",
2323
"prepack": "backstage-cli package prepack",
2424
"postpack": "backstage-cli package postpack",
25-
"export-dynamic": "janus-cli package export-dynamic-plugin"
25+
"export-dynamic": "rhdh-cli plugin export"
2626
},
2727
"dependencies": {
2828
"@backstage/catalog-model": "^1.7.4",
@@ -57,7 +57,6 @@
5757
"@backstage/cli": "^0.33.1",
5858
"@backstage/dev-utils": "^1.1.10",
5959
"@backstage/test-utils": "^1.7.8",
60-
"@janus-idp/cli": "^3.6.1",
6160
"@testing-library/dom": "^10.4.0",
6261
"@testing-library/jest-dom": "^6.0.0",
6362
"@testing-library/react": "^16.0.0",

plugins/self-service/src/apis.test.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,10 @@ describe('Ansible API module', () => {
112112
const mockFetch = {
113113
fetch: jest.fn().mockResolvedValue({
114114
json: jest.fn().mockResolvedValue({
115-
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
116-
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
115+
aap: {
116+
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
117+
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
118+
},
117119
}),
118120
}),
119121
};
@@ -127,11 +129,13 @@ describe('Ansible API module', () => {
127129

128130
expect(mockDiscovery.getBaseUrl).toHaveBeenCalledWith('catalog');
129131
expect(mockFetch.fetch).toHaveBeenCalledWith(
130-
'http://example.com/aap/sync_status',
132+
'http://example.com/aap/sync_status?aap_entities=true',
131133
);
132134
expect(result).toEqual({
133-
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
134-
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
135+
aap: {
136+
orgsUsersTeams: { lastSync: '2024-01-15T10:00:00Z' },
137+
jobTemplates: { lastSync: '2024-01-15T11:00:00Z' },
138+
},
135139
});
136140
});
137141

@@ -152,11 +156,13 @@ describe('Ansible API module', () => {
152156

153157
expect(mockDiscovery.getBaseUrl).toHaveBeenCalledWith('catalog');
154158
expect(mockFetch.fetch).toHaveBeenCalledWith(
155-
'http://example.com/aap/sync_status',
159+
'http://example.com/aap/sync_status?aap_entities=true',
156160
);
157161
expect(result).toEqual({
158-
orgsUsersTeams: { lastSync: null },
159-
jobTemplates: { lastSync: null },
162+
aap: {
163+
orgsUsersTeams: { lastSync: null },
164+
jobTemplates: { lastSync: null },
165+
},
160166
});
161167
});
162168

plugins/self-service/src/apis.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ export interface AnsibleApi {
2929
syncTemplates(): Promise<boolean>;
3030
syncOrgsUsersTeam(): Promise<boolean>;
3131
getSyncStatus(): Promise<{
32-
orgsUsersTeams: { lastSync: string | null };
33-
jobTemplates: { lastSync: string | null };
32+
aap: {
33+
orgsUsersTeams: { lastSync: string | null };
34+
jobTemplates: { lastSync: string | null };
35+
};
3436
}>;
3537
}
3638

@@ -88,18 +90,24 @@ export class AnsibleApiClient implements AnsibleApi {
8890
}
8991

9092
async getSyncStatus(): Promise<{
91-
orgsUsersTeams: { lastSync: string | null };
92-
jobTemplates: { lastSync: string | null };
93+
aap: {
94+
orgsUsersTeams: { lastSync: string | null };
95+
jobTemplates: { lastSync: string | null };
96+
};
9397
}> {
9498
const baseUrl = await this.discoveryApi.getBaseUrl('catalog');
9599
try {
96-
const response = await this.fetchApi.fetch(`${baseUrl}/aap/sync_status`);
100+
const response = await this.fetchApi.fetch(
101+
`${baseUrl}/aap/sync_status?aap_entities=true`,
102+
);
97103
const data = await response.json();
98104
return data;
99105
} catch {
100106
return {
101-
orgsUsersTeams: { lastSync: null },
102-
jobTemplates: { lastSync: null },
107+
aap: {
108+
orgsUsersTeams: { lastSync: null },
109+
jobTemplates: { lastSync: null },
110+
},
103111
};
104112
}
105113
}

0 commit comments

Comments
 (0)