Files
Ten31-Portal/deploy/startos/install/versions/index.ts
T
Jonathan Kirkwood 858bbe10da 0.2.45: Administrator (view only) role
New external role administrator_viewer: signs into the admin interface
and reads everything for its granted funds and SPVs (overview, partners,
capital accounts with every investor's statements, documents, valuation
history) but every write is refused: no imports, uploads, deletions,
entity edits, exit marking, or account management. No migration needed;
roles are stored as strings.

Internal admins can flip an Administrator between full management and
view only via a new Access level dropdown in Users > Manage. The
user-list endpoint is read-widened for the viewer role so investor names
resolve on its screens; all mutating endpoints keep the stricter gate.
2026-08-11 15:37:44 -05:00

48 lines
2.1 KiB
TypeScript

export { v_0_2_45 as current } from './v_0_2_45'
import { v_0_1_0 } from './v_0_1_0'
import { v_0_2_40 } from './v_0_2_40'
import { v_0_2_41 } from './v_0_2_41'
import { v_0_2_42 } from './v_0_2_42'
import { v_0_2_43 } from './v_0_2_43'
import { v_0_2_44 } from './v_0_2_44'
import { v_0_2_0 } from './v_0_2_0'
import { v_0_2_1 } from './v_0_2_1'
import { v_0_2_3 } from './v_0_2_3'
import { v_0_2_4 } from './v_0_2_4'
import { v_0_2_5 } from './v_0_2_5'
import { v_0_2_6 } from './v_0_2_6'
import { v_0_2_7 } from './v_0_2_7'
import { v_0_2_8 } from './v_0_2_8'
import { v_0_2_9 } from './v_0_2_9'
import { v_0_2_10 } from './v_0_2_10'
import { v_0_2_11 } from './v_0_2_11'
import { v_0_2_12 } from './v_0_2_12'
import { v_0_2_13 } from './v_0_2_13'
import { v_0_2_14 } from './v_0_2_14'
import { v_0_2_15 } from './v_0_2_15'
import { v_0_2_16 } from './v_0_2_16'
import { v_0_2_17 } from './v_0_2_17'
import { v_0_2_18 } from './v_0_2_18'
import { v_0_2_19 } from './v_0_2_19'
import { v_0_2_20 } from './v_0_2_20'
import { v_0_2_21 } from './v_0_2_21'
import { v_0_2_22 } from './v_0_2_22'
import { v_0_2_23 } from './v_0_2_23'
import { v_0_2_24 } from './v_0_2_24'
import { v_0_2_25 } from './v_0_2_25'
import { v_0_2_26 } from './v_0_2_26'
import { v_0_2_27 } from './v_0_2_27'
import { v_0_2_28 } from './v_0_2_28'
import { v_0_2_29 } from './v_0_2_29'
import { v_0_2_30 } from './v_0_2_30'
import { v_0_2_31 } from './v_0_2_31'
import { v_0_2_32 } from './v_0_2_32'
import { v_0_2_33 } from './v_0_2_33'
import { v_0_2_34 } from './v_0_2_34'
import { v_0_2_35 } from './v_0_2_35'
import { v_0_2_36 } from './v_0_2_36'
import { v_0_2_37 } from './v_0_2_37'
import { v_0_2_38 } from './v_0_2_38'
import { v_0_2_39 } from './v_0_2_39'
export const other = [v_0_1_0, v_0_2_0, v_0_2_1, v_0_2_3, v_0_2_4, v_0_2_5, v_0_2_6, v_0_2_7, v_0_2_8, v_0_2_9, v_0_2_10, v_0_2_11, v_0_2_12, v_0_2_13, v_0_2_14, v_0_2_15, v_0_2_16, v_0_2_17, v_0_2_18, v_0_2_19, v_0_2_20, v_0_2_21, v_0_2_22, v_0_2_23, v_0_2_24, v_0_2_25, v_0_2_26, v_0_2_27, v_0_2_28, v_0_2_29, v_0_2_30, v_0_2_31, v_0_2_32, v_0_2_33, v_0_2_34, v_0_2_35, v_0_2_36, v_0_2_37, v_0_2_38, v_0_2_39, v_0_2_40, v_0_2_41, v_0_2_42, v_0_2_43, v_0_2_44]