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