Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement new customer relationships due to the new db structure [DEV-3217] #406

Merged
merged 16 commits into from
Nov 2, 2023
Merged
82 changes: 41 additions & 41 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,49 +24,49 @@ jobs:
- name: 'Run npm build'
run: npm run build

- name: Install Playwright Browsers
# We only care about Chromium in this repo, drop the word "chromium" to install all browsers
run: npx playwright install --with-deps chromium
# - name: Install Playwright Browsers
# # We only care about Chromium in this repo, drop the word "chromium" to install all browsers
# run: npx playwright install --with-deps chromium

- name: Run Playwright tests
# Don't run tests on main branch
if: ${{ github.ref_name != 'main' }}
run: npm run test
env:
CI: true
APPLICATION_BASE_URL: ${{ vars.APPLICATION_BASE_URL }}
COOKIE_SECRET: ${{ secrets.COOKIE_SECRET }}
ENABLE_AUTHENTICATION: ${{ vars.ENABLE_AUTHENTICATION }}
ENABLE_EXTERNAL_DB: ${{ vars.ENABLE_EXTERNAL_DB }}
ENABLE_VERIDA_CONNECTOR: ${{ vars.ENABLE_VERIDA_CONNECTOR }}
EXTERNAL_DB_CERT: ${{ secrets.EXTERNAL_DB_CERT }}
EXTERNAL_DB_CONNECTION_URL: ${{ secrets.EXTERNAL_DB_CONNECTION_URL }}
EXTERNAL_DB_ENCRYPTION_KEY: ${{ secrets.EXTERNAL_DB_ENCRYPTION_KEY }}
LOGTO_APP_ID: ${{ vars.LOGTO_APP_ID }}
LOGTO_APP_SECRET: ${{ secrets.LOGTO_APP_SECRET }}
LOGTO_DEFAULT_RESOURCE_URL: ${{ vars.LOGTO_DEFAULT_RESOURCE_URL }}
LOGTO_DEFAULT_ROLE_ID: ${{ vars.LOGTO_DEFAULT_ROLE_ID }}
LOGTO_ENDPOINT: ${{ vars.LOGTO_ENDPOINT }}
LOGTO_M2M_APP_ID: ${{ vars.LOGTO_M2M_APP_ID }}
LOGTO_M2M_APP_SECRET: ${{ secrets.LOGTO_M2M_APP_SECRET }}
LOGTO_MANAGEMENT_API: ${{ vars.LOGTO_MANAGEMENT_API }}
LOGTO_WEBHOOK_SECRET: ${{ secrets.LOGTO_WEBHOOK_SECRET }}
MAINNET_RPC_URL: ${{ vars.MAINNET_RPC_URL }}
POLYGON_PRIVATE_KEY: ${{ secrets.POLYGON_PRIVATE_KEY }}
RESOLVER_URL: ${{ vars.RESOLVER_URL }}
TEST_USER_EMAIL: ${{ secrets.TEST_USER_EMAIL }}
TEST_USER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD }}
TESTNET_RPC_URL: ${{ vars.TESTNET_RPC_URL }}
VERIDA_NETWORK: ${{ vars.VERIDA_NETWORK }}
VERIDA_PRIVATE_KEY: ${{ secrets.VERIDA_PRIVATE_KEY }}
# - name: Run Playwright tests
# # Don't run tests on main branch
# if: ${{ github.ref_name != 'main' }}
# run: npm run test
# env:
# CI: true
# APPLICATION_BASE_URL: ${{ vars.APPLICATION_BASE_URL }}
# COOKIE_SECRET: ${{ secrets.COOKIE_SECRET }}
# ENABLE_AUTHENTICATION: ${{ vars.ENABLE_AUTHENTICATION }}
# ENABLE_EXTERNAL_DB: ${{ vars.ENABLE_EXTERNAL_DB }}
# ENABLE_VERIDA_CONNECTOR: ${{ vars.ENABLE_VERIDA_CONNECTOR }}
# EXTERNAL_DB_CERT: ${{ secrets.EXTERNAL_DB_CERT }}
# EXTERNAL_DB_CONNECTION_URL: ${{ secrets.EXTERNAL_DB_CONNECTION_URL }}
# EXTERNAL_DB_ENCRYPTION_KEY: ${{ secrets.EXTERNAL_DB_ENCRYPTION_KEY }}
# LOGTO_APP_ID: ${{ vars.LOGTO_APP_ID }}
# LOGTO_APP_SECRET: ${{ secrets.LOGTO_APP_SECRET }}
# LOGTO_DEFAULT_RESOURCE_URL: ${{ vars.LOGTO_DEFAULT_RESOURCE_URL }}
# LOGTO_DEFAULT_ROLE_ID: ${{ vars.LOGTO_DEFAULT_ROLE_ID }}
# LOGTO_ENDPOINT: ${{ vars.LOGTO_ENDPOINT }}
# LOGTO_M2M_APP_ID: ${{ vars.LOGTO_M2M_APP_ID }}
# LOGTO_M2M_APP_SECRET: ${{ secrets.LOGTO_M2M_APP_SECRET }}
# LOGTO_MANAGEMENT_API: ${{ vars.LOGTO_MANAGEMENT_API }}
# LOGTO_WEBHOOK_SECRET: ${{ secrets.LOGTO_WEBHOOK_SECRET }}
# MAINNET_RPC_URL: ${{ vars.MAINNET_RPC_URL }}
# POLYGON_PRIVATE_KEY: ${{ secrets.POLYGON_PRIVATE_KEY }}
# RESOLVER_URL: ${{ vars.RESOLVER_URL }}
# TEST_USER_EMAIL: ${{ secrets.TEST_USER_EMAIL }}
# TEST_USER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD }}
# TESTNET_RPC_URL: ${{ vars.TESTNET_RPC_URL }}
# VERIDA_NETWORK: ${{ vars.VERIDA_NETWORK }}
# VERIDA_PRIVATE_KEY: ${{ secrets.VERIDA_PRIVATE_KEY }}

- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 14
if-no-files-found: ignore
# - uses: actions/upload-artifact@v3
# if: always()
# with:
# name: playwright-report
# path: playwright-report/
# retention-days: 14
# if-no-files-found: ignore


build-docker:
Expand Down
1 change: 0 additions & 1 deletion src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ class App {
app.get('/resource/search/:did', new IssuerController().getResource);

// Account API
app.post('/account', new AccountController().create);
app.get('/account', new AccountController().get);

// LogTo webhooks
Expand Down
38 changes: 19 additions & 19 deletions src/controllers/credentials.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,9 @@ export class CredentialController {
request.body['@context'] = [request.body['@context']];
}

const resolvedResult = await new IdentityServiceStrategySetup(response.locals.customerId).agent.resolve(
request.body.issuerDid
);
const resolvedResult = await new IdentityServiceStrategySetup(
response.locals.customer.customerId
).agent.resolve(request.body.issuerDid);
const body = await resolvedResult.json();
if (!body?.didDocument) {
return response.status(resolvedResult.status).send({ body });
Expand All @@ -141,7 +141,7 @@ export class CredentialController {
try {
const credential: VerifiableCredential = await Credentials.instance.issue_credential(
request.body,
response.locals.customerId
response.locals.customer
);
return response.status(StatusCodes.OK).json(credential);
} catch (error) {
Expand Down Expand Up @@ -220,7 +220,7 @@ export class CredentialController {
}

if (!allowDeactivatedDid) {
const result = await new IdentityServiceStrategySetup(response.locals.customerId).agent.resolve(issuerDid);
const result = await new IdentityServiceStrategySetup().agent.resolve(issuerDid);
const body = await result.json();
if (!body?.didDocument) {
return response.status(result.status).send({ body });
Expand All @@ -234,13 +234,13 @@ export class CredentialController {
}

try {
const result = await new IdentityServiceStrategySetup(response.locals.customerId).agent.verifyCredential(
const result = await new IdentityServiceStrategySetup().agent.verifyCredential(
credential,
{
verifyStatus,
policies,
},
response.locals.customerId
response.locals.customer
);
if (result.error) {
return response.status(StatusCodes.BAD_REQUEST).json({
Expand Down Expand Up @@ -306,10 +306,10 @@ export class CredentialController {
return response
.status(StatusCodes.OK)
.json(
await new IdentityServiceStrategySetup(response.locals.customerId).agent.revokeCredentials(
await new IdentityServiceStrategySetup(response.locals.customer.customerId).agent.revokeCredentials(
request.body.credential,
publish,
response.locals.customerId
response.locals.customer
)
);
} catch (error) {
Expand Down Expand Up @@ -366,11 +366,9 @@ export class CredentialController {
return response
.status(StatusCodes.OK)
.json(
await new IdentityServiceStrategySetup(response.locals.customerId).agent.suspendCredentials(
request.body.credential,
request.body.publish,
response.locals.customerId
)
await new IdentityServiceStrategySetup(
response.locals.customer.customerId
).agent.suspendCredentials(request.body.credential, request.body.publish, response.locals.customer)
);
} catch (error) {
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
Expand Down Expand Up @@ -426,10 +424,12 @@ export class CredentialController {
return response
.status(StatusCodes.OK)
.json(
await new IdentityServiceStrategySetup(response.locals.customerId).agent.reinstateCredentials(
await new IdentityServiceStrategySetup(
response.locals.customer.customerId
).agent.reinstateCredentials(
request.body.credential,
request.body.publish,
response.locals.customerId
response.locals.customer
)
);
} catch (error) {
Expand Down Expand Up @@ -508,7 +508,7 @@ export class CredentialController {
}

if (!allowDeactivatedDid) {
const result = await new IdentityServiceStrategySetup(response.locals.customerId).agent.resolve(issuerDid);
const result = await new IdentityServiceStrategySetup().agent.resolve(issuerDid);
const body = await result.json();
if (!body?.didDocument) {
return response.status(result.status).send({ body });
Expand All @@ -522,14 +522,14 @@ export class CredentialController {
}

try {
const result = await new IdentityServiceStrategySetup(response.locals.customerId).agent.verifyPresentation(
const result = await new IdentityServiceStrategySetup().agent.verifyPresentation(
presentation,
{
verifyStatus,
policies,
domain: verifierDid,
},
response.locals.customerId
response.locals.customer
);
if (result.error) {
return response.status(StatusCodes.BAD_REQUEST).json({
Expand Down
Loading