Skip to content

Commit

Permalink
2.11.0-prerelease merge from develop into main (#1945)
Browse files Browse the repository at this point in the history
### Enhancements
- Dependent fields in schemas [#1561](#1561)
- User topic and Initialization topic to be clickable [#1884](#1884)
- Wrong response for particular request (schema delete  [#1882](#1882)
- Trust chain to support N:1 aggregation from multiple MRV-generators to tokens [#1069](#1069)
- New PRs should go to develop [#1832](#1832)
- Adding drop down arrow for Menu in UI [#1883](#1883)

### Bugs Fixed
- TokenIds are in UUID format [#1913](#1913)
- 2.10 - get-block-data timeout [#1893](#1893)
- Guardian 2.9.3 rendering issues on OS X [#1778](#1778)
- Drop down menu is not displayed in Safari [#1880](#1880)
- Multi-button blocks with filters don't work [#1677](#1677)
- False revoke message in TrustChain [#1679](#1679)
- IPFS - resource limit exceeded [#1812](#1812)

### Changelog

* rename buttons
Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* update

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* Create README.md

* Create README.md

* added policy

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-277: Added Help Text Schema Type

* update

* GITBOOK-278: Added blocks

* added history, selective attribute blocks

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* updated policy converter

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* deprecate property view history on source addons

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fixed get VP record

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fixed autoresizing on help text

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix policy converter

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-279: High Level Architecture updated

* Updated KrypC ReadMe

* Delete README.md

* Updated Demo Artifacts ReadMe

* fix multipolicy

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix policy groups

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* update

* added vc selective closure

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix docker build

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-281: added two new blocks

* update

* update

* update

* fix signatures

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* configureation validation

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* set ids for nested objects

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update

* fix validation

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix bad state answers

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* Using the new kubo 0.18 docker image;

Signed-off-by: Giuseppe Bertone <giuseppe.bertone@swirldslabs.com>

* update

* remove inputFields property from custom logic block

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* GITBOOK-282: updated retirement screenshots

* added new verra redd policy [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* added not found documents item to trustchain

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix artifact's error messages, added comments

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix lint

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix payload too large issue

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* change default value for json request limit

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* гзвфеу

* update

* fix display image fields

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* create tokens when policy publish

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* merge develop

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* ipfs node version

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix validation

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix validation

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* update

* update

* update

* remove

* remove

* Update CONTRIBUTING.md

new PRs shoud go to develop

Signed-off-by: noel garcia <noel.garcia@intellecteu.com>

* remove hardcoded transaction fee

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* added nodes settings

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* added custom nodes to policy process

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* up hedera sdk version

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* remove CUSTOM_CLIENT_NODES setting

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix lint

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fixed convert bytes to base64 image

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix visible for draft tokens in retire dialog

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix create and import draft tokens

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* publish tokens

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix header

* fix token type visible for dynamic tokens

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix validation

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix undo\redo

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* GITBOOK-286: Selective Disclosure changes

* GITBOOK-287: Added env parameters for hedera custom nodes

* fix

* fix

* GITBOOK-288: updated docs : docker config for M1

* Create README.md

* Create README.md

* fix

* Add files via upload

* Updated Description

* added modules api to swagger

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* remove logs from modules api

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix module validation

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix import module

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix worker exceptions

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* added menu modules endpoint, fixes

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* add new config

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* refactor

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix create new module

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix style

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* add demo artifacts

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix mint draft tokens

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* moved verra redd 4 [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* bump version

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* Rename "Demo Artifacts" to "Methodology Library"

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix search

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* GITBOOK-289: Module APIs

* Corrected links in ReadMe of Methodology Library

* corrected links in ReadMe

* corrected links in irec readme

* fix mathjs

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* Updated links in Verra ReadMe

* fix mathjs

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* Added VM0017 ReadMe

* Updated ReadMe

* Delete

* GITBOOK-290: Added enable individual filters property

* fix workflow

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix workflow

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix workflow

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix workflow

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* add workflow_dispatch to publish workflow

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix root tag

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix menu style

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* fix convert to module

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* added disabling user grouping

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix displaying sub menu for safari

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* #1882 update error message

* #1882 update error message

* update nav menu

* GITBOOK-291: Modules Demo using UI

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* added custom pattern to schema configuration

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix string type with custom pattern

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix pattern property for other types

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* clickable user info

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* updates swagger [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-292: Added pattern input description for String field type

* GITBOOK-293: Added timestamp for modules

* fix

Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>

* added geoJSON type

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update swagger [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* change type name

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix publish policy file

* GITBOOK-295: Added GeoJSON Schema type

* GITBOOK-296: added Map API

* added verra redd 5 policy [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-298: added operator id and key note

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-299: added prerequisites version

* added uri schema type

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* multiple instances

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix policy start

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix lint

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix build
Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix
Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix build

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix logs

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix lint

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix build

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* temporary skip tests

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix tests exit

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* GITBOOK-300: Added INITIALIZATION TOPIC IDs for networks

* GITBOOK-302: Updated Roadmap

* fixed type polygon in geojson

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* update document state entity in guardian-service

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix import policy

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix login crash

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* update verra redd 5 policy [skip ci]

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix uri ui validator

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* swap coordinates for geojson

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* rework worker-queue

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix policy processes

Signed-off-by: artembuslaev <buslaew.ar@mail.ru>

* fix lint

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* GITBOOK-303: Removed UI Properties of InterfaceStep Block

* fix map api authorization error
increase workers queues speed

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix policy ready receiver

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* worker tasks optimization

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* start instance script

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* fix litn
Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

* bump version

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>

---------

Signed-off-by: simvalery <valeriy.simonov@envisionblockchain.com>
Signed-off-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>
Signed-off-by: artembuslaev <buslaew.ar@mail.ru>
Signed-off-by: Giuseppe Bertone <giuseppe.bertone@swirldslabs.com>
Signed-off-by: noel garcia <noel.garcia@intellecteu.com>
Co-authored-by: Stepan Kiryakov <stepan.kiryakov@envisionblockchain.com>
Co-authored-by: prernaadev01 <79293833+prernaadev01@users.noreply.github.com>
Co-authored-by: artembuslaev <buslaew.ar@mail.ru>
Co-authored-by: prernaa.agarwal <prernaa.agarwal@envisionblockchain.com>
Co-authored-by: artembuslaev <68849616+artembuslaev@users.noreply.github.com>
Co-authored-by: Giuseppe Bertone <giuseppe.bertone@swirldslabs.com>
Co-authored-by: Noel Garcia <wolfwolker@users.noreply.github.com>
Co-authored-by: Stepan Kirjakov <84465157+Stepan-Kirjakov@users.noreply.github.com>
Co-authored-by: dubgeis <62163252+dubgeis@users.noreply.github.com>
  • Loading branch information
10 people committed Mar 27, 2023
1 parent b0824f5 commit 590b0bf
Show file tree
Hide file tree
Showing 278 changed files with 4,039 additions and 1,830 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ jobs:
pushd frontend
npm install
npm run build
npm run build:prod
npm run build:demo
popd
pushd auth-service
npm install
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Before submitting your pull request, refer to the pull request readiness checkli
* [ ] Git commit message is detailed and includes context behind the change
* [ ] If the change is related to an existing Bug Report or Feature Request, please include its issue number

To contribute, please fork the GitHub repository and submit a pull request to the `main` branch.
To contribute, please fork the GitHub repository and submit a pull request to the `develop` branch if it's a new feature, or `main` branch for a hotfix.

### Getting Your Pull Request Merged

Expand Down
Binary file not shown.
48 changes: 42 additions & 6 deletions api-docs/api/swagger/swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.0.0
info:
title: "Guardian"
description: "The Guardian is a modular open-source solution that includes best-in-class identity management and decentralized ledger technology (DLT) libraries. At the heart of the Guardian solution is a sophisticated Policy Workflow Engine (PWE) that enables applications to offer a requirements-based tokenization implementation."
version: "2.10.0"
version: "2.11.0"
contact:
name: "API developer"
url: "https://envisionblockchain.com"
Expand Down Expand Up @@ -740,6 +740,8 @@ tags:
description: "Contracts"
- name: "modules"
description: "Policy Modules"
- name: "maps"
description: "Map operations"
paths:
/accounts:
get:
Expand Down Expand Up @@ -4056,10 +4058,10 @@ paths:
post:
tags:
- policies
description: Requests block data by tag. Only users with a role that described in block are allowed to make the request.
description: Sends data to the specified block.
security:
- bearerAuth: []
summary: Requests block data.
summary: Sends data to the specified block.
parameters:
- in: path
name: policyId
Expand All @@ -4073,6 +4075,13 @@ paths:
type: string
required: true
description: Tag from the selected policy.
requestBody:
description: Object with the data to be sent to the block.
required: true
content:
application/json:
schema:
type: object
responses:
200:
description: Successful operation.
Expand All @@ -4093,10 +4102,10 @@ paths:
get:
tags:
- policies
description: Sends data to the specified block.
description: Requests block data by tag. Only users with a role that described in block are allowed to make the request.
security:
- bearerAuth: []
summary: Sends data to the specified block.
summary: Requests block data.
parameters:
- in: path
name: policyId
Expand All @@ -4113,6 +4122,10 @@ paths:
responses:
200:
description: Successful operation.
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyBlockData'
401:
description: Unauthorized.
403:
Expand All @@ -4130,7 +4143,7 @@ paths:
description: Creates a link between the current policy and the main policy. Or creates a group making the current policy the main one.
security:
- bearerAuth: []
summary: Requests Multi policy config.
summary: Creates Multi policy config.
parameters:
- in: path
name: policyId
Expand Down Expand Up @@ -5681,3 +5694,26 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Error'
/map/key:
get:
tags:
- maps
description: Returns map api key.
security:
- bearerAuth: []
summary: Returns map api key.
responses:
200:
description: Successful operation.
content:
application/json:
schema:
type: string
401:
description: Unauthorized.
500:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5 changes: 3 additions & 2 deletions api-docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "api-docs",
"version": "2.10.0",
"version": "2.11.0-prerelease",
"description": "Swagger Documentation",
"main": "dist/index.js",
"scripts": {
Expand All @@ -24,5 +24,6 @@
"@types/swagger-ui-express": "^4.1.3",
"tslint": "^6.1.3",
"typescript": "^4.6.3"
}
},
"stableVersion": "2.10.0"
}
7 changes: 4 additions & 3 deletions api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
},
"author": "Envision Blockchain Solutions <info@envisionblockchain.com>",
"dependencies": {
"@guardian/common": "^2.10.0",
"@guardian/interfaces": "^2.10.0",
"@guardian/common": "^2.11.0-prerelease",
"@guardian/interfaces": "^2.11.0-prerelease",
"@types/express-fileupload": "^1.4.1",
"dotenv": "^16.0.0",
"express": "^4.17.1",
Expand Down Expand Up @@ -52,5 +52,6 @@
"start": "node dist/index.js",
"test": "mocha tests/**/*.test.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/ui-service.xml"
},
"version": "2.10.0"
"version": "2.11.0-prerelease",
"stableVersion": "2.10.0"
}
2 changes: 1 addition & 1 deletion api-gateway/src/api/service/account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ accountAPI.post('/login', async (req: Request, res: Response) => {
res.status(200).json(await users.generateNewToken(username, password));
} catch (error) {
new Logger().error(error, ['API_GATEWAY']);
res.status(error.code).send({ code: error.code, message: error.message });
res.status(404).send({ code: 404, message: error });
}
});

Expand Down
24 changes: 24 additions & 0 deletions api-gateway/src/api/service/map.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Response, Router } from 'express';
import { AuthenticatedRequest, Logger } from '@guardian/common';
import { Guardians } from '@helpers/guardians';

/**
* Map route
*/
export const mapAPI = Router();

mapAPI.get(
'/key',
async (req: AuthenticatedRequest, res: Response) => {
try {
const guardians = new Guardians();
res.status(200).send(await guardians.getMapApiKey());
} catch (error) {
new Logger().error(error, ['API_GATEWAY']);
res.status(500).send({
code: error.code || 500,
message: error.message,
});
}
}
);
138 changes: 86 additions & 52 deletions api-gateway/src/api/service/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,19 @@ schemaAPI.put('/', permissionHelper(UserRole.STANDARD_REGISTRY), async (req: Aut
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.system) {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
if (schema.creator !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
} else {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
}
} else {
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
}
fromOld(newSchema);
const schemas = await updateSchema(newSchema, user.did)
Expand All @@ -342,13 +348,19 @@ schemaAPI.delete('/:schemaId', permissionHelper(UserRole.STANDARD_REGISTRY), asy
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.system) {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
if (schema.creator !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
} else {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
}
} else {
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
}
const schemas = (await guardians.deleteSchema(schemaId));
SchemaHelper.updatePermission(schemas, user.did);
Expand All @@ -369,15 +381,20 @@ schemaAPI.put('/:schemaId/publish', permissionHelper(UserRole.STANDARD_REGISTRY)
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.system) {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
if (schema.creator !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
} else {
res.status(500).json({ code: 500, message: 'Schema is system.' });
return;
}
} else {
if (schema.creator !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
}

const allVersion = await guardians.getSchemasByUUID(schema.uuid);
const { version } = req.body;
if (allVersion.findIndex(s => s.version === version) !== -1) {
Expand Down Expand Up @@ -410,15 +427,20 @@ schemaAPI.put('/push/:schemaId/publish', permissionHelper(UserRole.STANDARD_REGI
taskManager.addError(taskId, { code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.creator !== user.did) {
taskManager.addError(taskId, { code: 500, message: 'Invalid creator.' });
return;
}
if (schema.system) {
taskManager.addError(taskId, { code: 500, message: 'Schema is system.' });
return;
if (schema.creator !== user.username) {
taskManager.addError(taskId, { code: 500, message: 'Invalid creator.' });
return;
} else {
taskManager.addError(taskId, { code: 500, message: 'Schema is system.' });
return;
}
} else {
if (schema.creator !== user.did) {
taskManager.addError(taskId, { code: 500, message: 'Invalid creator.' });
return;
}
}

const allVersion = await guardians.getSchemasByUUID(schema.uuid);
if (allVersion.findIndex(s => s.version === version) !== -1) {
taskManager.addError(taskId, { code: 500, message: 'Version already exists.' });
Expand Down Expand Up @@ -706,17 +728,23 @@ schemaAPI.delete('/system/:schemaId', permissionHelper(UserRole.STANDARD_REGISTR
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.owner !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
if (!schema.system) {
res.status(500).json({ code: 500, message: 'Schema is not system.' });
return;
if (schema.system) {
if (schema.owner !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
} else {
if (schema.owner !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
} else {
res.status(500).json({ code: 500, message: 'Schema is not system.' });
return;
}
}
await guardians.deleteSchema(schemaId);
res.status(200).json(null);
Expand All @@ -736,17 +764,23 @@ schemaAPI.put('/system/:schemaId', permissionHelper(UserRole.STANDARD_REGISTRY),
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.owner !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
if (!schema.system) {
res.status(500).json({ code: 500, message: 'Schema is not system.' });
return;
if (schema.system) {
if (schema.owner !== user.username) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
} else {
if (schema.owner !== user.did) {
res.status(500).json({ code: 500, message: 'Invalid creator.' });
return;
} else {
res.status(500).json({ code: 500, message: 'Schema is not system.' });
return;
}
}
fromOld(newSchema);
const schemas = await updateSchema(newSchema, user.username);
Expand All @@ -766,14 +800,14 @@ schemaAPI.put('/system/:schemaId/active', permissionHelper(UserRole.STANDARD_REG
res.status(500).json({ code: 500, message: 'Schema does not exist.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
if (!schema.system) {
res.status(500).json({ code: 500, message: 'Schema is not system.' });
return;
}
if (schema.active) {
res.status(500).json({ code: 500, message: 'Schema is active.' });
return;
}
await guardians.activeSchema(schemaId);
res.status(200).json(null);
} catch (error) {
Expand Down
Loading

0 comments on commit 590b0bf

Please sign in to comment.