Update of process definition for most process creations
This commit is contained in:
parent
371ff69a35
commit
58d421ae57
@ -7,6 +7,7 @@ import AbstractService from './AbstractService';
|
|||||||
import OfficeService from './OfficeService';
|
import OfficeService from './OfficeService';
|
||||||
import RoleService from './RoleService';
|
import RoleService from './RoleService';
|
||||||
import OfficeRoleService from './OfficeRoleService';
|
import OfficeRoleService from './OfficeRoleService';
|
||||||
|
import { DEFAULT_STORAGE_URLS } from '@Front/Config/AppConstants';
|
||||||
|
|
||||||
export default class CollaboratorService extends AbstractService {
|
export default class CollaboratorService extends AbstractService {
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ export default class CollaboratorService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: [ownerId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
@ -41,28 +42,23 @@ export default class CollaboratorService extends AbstractService {
|
|||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
|
@ -6,6 +6,7 @@ import AbstractService from './AbstractService';
|
|||||||
|
|
||||||
import OfficeService from './OfficeService';
|
import OfficeService from './OfficeService';
|
||||||
import RuleService from './RuleService';
|
import RuleService from './RuleService';
|
||||||
|
import { DEFAULT_STORAGE_URLS } from '@Front/Config/AppConstants';
|
||||||
|
|
||||||
export default class OfficeRoleService extends AbstractService {
|
export default class OfficeRoleService extends AbstractService {
|
||||||
|
|
||||||
@ -32,7 +33,7 @@ export default class OfficeRoleService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: [ownerId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
@ -40,31 +41,26 @@ export default class OfficeRoleService extends AbstractService {
|
|||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 0.01,
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 0.01,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: [ownerId, validatorId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,12 @@ export default class OfficeService extends AbstractService {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static createOffice(officeData: any, validatorId: string): Promise<any> {
|
public static createOffice(officeData: any, owners: string[], validatorId: string, storageUrls: string[]): Promise<any> {
|
||||||
const ownerId: string = User.getInstance().getPairingId()!;
|
const ownerId: string = User.getInstance().getPairingId()!;
|
||||||
|
|
||||||
|
// Create a set for all owners to avoid duplicates
|
||||||
|
const ownersSet: Set<string> = new Set([...owners, ownerId]);
|
||||||
|
|
||||||
const processData: any = {
|
const processData: any = {
|
||||||
uid: uuidv4(),
|
uid: uuidv4(),
|
||||||
utype: 'office',
|
utype: 'office',
|
||||||
@ -29,39 +32,34 @@ export default class OfficeService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: Array.from(ownersSet),
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
owner: {
|
owner: {
|
||||||
members: [ownerId],
|
members: Array.from(ownersSet),
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 0.01, // effectively any owner can make any change
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 0.01, // need to sign with at least one device
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: storageUrls
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1, // validator can do anything alone
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: storageUrls
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: Array.from(ownersSet), // any owner can terminate the office
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|||||||
import User from 'src/sdk/User';
|
import User from 'src/sdk/User';
|
||||||
|
|
||||||
import AbstractService from './AbstractService';
|
import AbstractService from './AbstractService';
|
||||||
|
import { DEFAULT_STORAGE_URLS } from '@Front/Config/AppConstants';
|
||||||
|
|
||||||
export default class RoleService extends AbstractService {
|
export default class RoleService extends AbstractService {
|
||||||
|
|
||||||
@ -29,7 +30,7 @@ export default class RoleService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: [ownerId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
@ -37,31 +38,26 @@ export default class RoleService extends AbstractService {
|
|||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 0.01,
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 0.01,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: [ownerId, validatorId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import User from 'src/sdk/User';
|
|||||||
import AbstractService from './AbstractService';
|
import AbstractService from './AbstractService';
|
||||||
|
|
||||||
import RuleService from './RuleService';
|
import RuleService from './RuleService';
|
||||||
|
import { DEFAULT_STORAGE_URLS } from '@Front/Config/AppConstants';
|
||||||
|
|
||||||
export default class RuleGroupService extends AbstractService {
|
export default class RuleGroupService extends AbstractService {
|
||||||
|
|
||||||
@ -31,7 +32,7 @@ export default class RuleGroupService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: [ownerId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
@ -39,31 +40,26 @@ export default class RuleGroupService extends AbstractService {
|
|||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 0.01,
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 0.01,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: [ownerId, validatorId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|||||||
import User from 'src/sdk/User';
|
import User from 'src/sdk/User';
|
||||||
|
|
||||||
import AbstractService from './AbstractService';
|
import AbstractService from './AbstractService';
|
||||||
|
import { DEFAULT_STORAGE_URLS } from '@Front/Config/AppConstants';
|
||||||
|
|
||||||
export default class RuleService extends AbstractService {
|
export default class RuleService extends AbstractService {
|
||||||
|
|
||||||
@ -29,7 +30,7 @@ export default class RuleService extends AbstractService {
|
|||||||
|
|
||||||
const roles: any = {
|
const roles: any = {
|
||||||
demiurge: {
|
demiurge: {
|
||||||
members: [...[ownerId], validatorId],
|
members: [ownerId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
},
|
},
|
||||||
@ -37,31 +38,26 @@ export default class RuleService extends AbstractService {
|
|||||||
members: [ownerId],
|
members: [ownerId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 0.01,
|
||||||
fields: [...privateFields, 'roles', 'uid', 'utype'],
|
fields: [...privateFields, 'roles', 'uid', 'utype', 'isDeleted'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 0.01,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
validator: {
|
validator: {
|
||||||
members: [validatorId],
|
members: [validatorId],
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 0.5,
|
quorum: 1,
|
||||||
fields: ['idCertified', 'roles'],
|
fields: [...privateFields, 'roles', 'isDeleted', 'uid', 'utype'],
|
||||||
min_sig_member: 1,
|
min_sig_member: 1,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: [...privateFields],
|
|
||||||
min_sig_member: 0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: []
|
storages: [...DEFAULT_STORAGE_URLS]
|
||||||
},
|
},
|
||||||
apophis: {
|
apophis: {
|
||||||
members: [ownerId],
|
members: [ownerId, validatorId],
|
||||||
validation_rules: [],
|
validation_rules: [],
|
||||||
storages: []
|
storages: []
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user