Skip to content

Commit 857a342

Browse files
committed
upd activity details
1 parent dea1408 commit 857a342

File tree

4 files changed

+66
-29
lines changed

4 files changed

+66
-29
lines changed

src/services/keystone/access-request.ts

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,6 @@ import {
99
const assert = require('assert').strict;
1010
const logger = Logger('keystone.access-req');
1111

12-
/*
13-
acceptLegal
14-
:
15-
false
16-
additionalDetails
17-
:
18-
""
19-
applicationId
20-
:
21-
"2"
22-
controls
23-
:
24-
"{\"clientGenCertificate\":false,\"jwksUrl\":\"\",\"clientCertificate\":\"\"}"
25-
name
26-
:
27-
"Sample API FOR Cope, Aidan CITZ:EX"
28-
productEnvironmentId
29-
:
30-
"12"
31-
requestor
32-
:
33-
"12"*/
34-
3512
export async function addAccessRequest(
3613
context: any,
3714
data: any
@@ -98,6 +75,30 @@ export async function collectCredentials(context: any, id: string): Promise<Acce
9875
return result.data.updateAccessRequest;
9976
}
10077

78+
export async function getAccessRequest(context: any, id: string): Promise<AccessRequest> {
79+
const query = gql`
80+
query GetAccessRequestById($id: ID!) {
81+
AccessRequest(where: { id: $id }) {
82+
id
83+
name
84+
isApproved
85+
isIssued
86+
isComplete
87+
serviceAccess {
88+
id
89+
}
90+
}
91+
}
92+
`;
93+
94+
const result = await context.executeGraphQL({
95+
query,
96+
variables: { id },
97+
});
98+
logger.debug('Query [getAccessRequest] result %j', result);
99+
return result.data.AccessRequest;
100+
}
101+
101102
export async function getAccessRequestsByNamespace(
102103
context: any,
103104
ns: string

src/services/keystone/activity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ export async function recordActivity(
133133
? productNamespace
134134
: context.authedItem.namespace;
135135
const name = `${action} ${type}[${refId}]`;
136-
logger.debug('[recordActivity] userid=%s name=%s', userId, name);
136+
logger.debug('[recordActivity] ns=%s userid=%s name=%s', namespace, userId, name);
137137

138138
const variables: { [key: string]: any } = {
139139
name,

src/services/workflow/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export interface NewCredential {
2020
apiKey?: string;
2121
clientPublicKey?: string;
2222
clientPrivateKey?: string;
23-
subjectDn?: string; // Subject DN for the client certificate
23+
subjectDn?: string; // Subject DN for the client certificate,
2424
}
2525

2626
export interface CredentialReference {

src/test/integrated/keystonejs/accessRequest.ts

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ export FEEDER_URL=http://localhost:6767
3131

3232
import InitKeystone from './init';
3333
import { o } from '../util';
34-
import { addAccessRequest, collectCredentials, getOpenAccessRequestsByConsumer } from '../../../services/keystone/access-request';
34+
import { addAccessRequest, collectCredentials, getAccessRequest, getOpenAccessRequestsByConsumer } from '../../../services/keystone/access-request';
3535
import { add } from 'lodash';
3636
import { AccessRequestCreateInput } from 'apis/shared/types/query.types';
3737
import { createApplication } from '../../../services/keystone/application';
38+
import { deleteServiceAccess } from '../../../services/keystone';
39+
import { revokeAllConsumerAccess } from '../../../services/workflow';
3840

3941
(async () => {
4042
const keystone = await InitKeystone();
@@ -47,6 +49,7 @@ import { createApplication } from '../../../services/keystone/application';
4749
const identity = {
4850
id: null,
4951
username: 'sample_username',
52+
name: "SampleF UserL",
5053
namespace: ns,
5154
roles: JSON.stringify(['api-owner']),
5255
scopes: [],
@@ -62,9 +65,10 @@ import { createApplication } from '../../../services/keystone/application';
6265

6366
const accessRequestData = {
6467
acceptLegal: false,
65-
additionalDetails: '',
68+
additionalDetails: 'here is some additional details',
6669
//applicationId: '5', // App2
67-
controls: '{"clientGenCertificate":false,"jwksUrl":"","clientCertificate":""}',
70+
//controls: '{"clientGenCertificate":false,"jwksUrl":"","clientCertificate":""}',
71+
controls: JSON.stringify({ "jwksUrl":"",subjectDn: "CN=my-site"}),
6872
name: 'Sample API FOR Cope, Aidan CITZ:EX',
6973
productEnvironmentId: '13',
7074
requestor: userId,
@@ -81,8 +85,40 @@ import { createApplication } from '../../../services/keystone/application';
8185
o(result);
8286

8387
const creds = await collectCredentials(ctx, result.id);
84-
o(creds);
88+
o(JSON.parse(creds.credential));
8589

90+
// query
91+
// :
92+
// "\n mutation SaveConsumerLabels($consumerId: ID!, $labels: [JSON]) {\n saveConsumerLabels(consumerId: $consumerId, labels: $labels)\n }\n"
93+
// variables
94+
// :
95+
// {consumerId: "27",…}
96+
// consumerId
97+
// :
98+
// "27"
99+
// labels
100+
// :
101+
// [{labelGroup: "Priority", values: ["Mister"]}, {labelGroup: "", values: []}]
102+
103+
104+
const request = await getAccessRequest(ctx, result.id);
105+
o(request);
106+
107+
const revoke = await revokeAllConsumerAccess(ctx, ns, request.serviceAccess.id);
108+
o(revoke);
109+
110+
// const revoke = await deleteServiceAccess(ctx, request.serviceAccess.id);
111+
// o(revoke);
112+
113+
// flow: client-credentials
114+
// clientId: 50C1D755-945C1E80ABB
115+
// clientSecret: null
116+
// issuer: null
117+
// tokenEndpoint: >-
118+
// https://sdx-authz-apps-gov-bc-ca-lab.apps.gov.bc.ca/auth/realms/sdx/protocol/openid-connect/token
119+
// clientPublicKey: null
120+
// clientPrivateKey: null
121+
86122
// const serviceAccess = await getOpenAccessRequestsByConsumer(
87123
// ctx,
88124
// ns,

0 commit comments

Comments
 (0)