nucleus-core-ts 0.9.867 → 0.9.869
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fe/components/IntegrationsPage/components/MappingAccountFields.js +15 -0
- package/dist/fe/components/IntegrationsPage/components/RunPanel.js +6 -2
- package/dist/fe/components/IntegrationsPage/components/RunPasswordField.d.ts +9 -0
- package/dist/fe/components/IntegrationsPage/components/RunPasswordField.js +8 -0
- package/dist/fe/components/IntegrationsPage/types/records.d.ts +9 -0
- package/dist/index.js +3 -3
- package/dist/src/ElysiaPlugin/schemaReconcile.d.ts +137 -0
- package/dist/src/Services/Integrations/mapping.d.ts +2 -0
- package/dist/src/Services/Integrations/plan.d.ts +22 -0
- package/dist/src/Services/Integrations/revert.d.ts +15 -0
- package/dist/src/Services/Integrations/types.d.ts +17 -0
- package/package.json +1 -1
|
@@ -172,6 +172,21 @@ export function MappingAccountFields({ value, targetFields, targets, disabled, o
|
|
|
172
172
|
]
|
|
173
173
|
})
|
|
174
174
|
}),
|
|
175
|
+
/*#__PURE__*/ _jsx(Field, {
|
|
176
|
+
hint: "Used only when the column above came back EMPTY, so nobody is left without a login. Name the record's own columns in braces — {firstName}.{sicilNo}@acme.com. Leave it blank to go on skipping those records.",
|
|
177
|
+
htmlFor: `${uid}-email-format`,
|
|
178
|
+
label: "Identifier for records that have none",
|
|
179
|
+
children: /*#__PURE__*/ _jsx("input", {
|
|
180
|
+
className: theme.field.input,
|
|
181
|
+
disabled: disabled,
|
|
182
|
+
id: `${uid}-email-format`,
|
|
183
|
+
onChange: (event)=>patch({
|
|
184
|
+
emailFormat: event.target.value || undefined
|
|
185
|
+
}),
|
|
186
|
+
placeholder: "{firstName}.{sicilNo}@acme.com",
|
|
187
|
+
value: value.emailFormat ?? ''
|
|
188
|
+
})
|
|
189
|
+
}),
|
|
175
190
|
/*#__PURE__*/ _jsx(Field, {
|
|
176
191
|
hint: "Filled with the new account's id, so the record and its login know each other.",
|
|
177
192
|
htmlFor: `${uid}-id-column`,
|
|
@@ -7,7 +7,7 @@ import { integrationsPageTheme } from '../theme';
|
|
|
7
7
|
import { Notice } from './Primitives';
|
|
8
8
|
import { passwordIsNeeded } from './passwordIsNeeded';
|
|
9
9
|
import { RunConfirmStep } from './RunConfirmStep';
|
|
10
|
-
import { MIN_SHARED_PASSWORD, RunPasswordField } from './RunPasswordField';
|
|
10
|
+
import { DEFAULT_SHARED_PASSWORD, MIN_SHARED_PASSWORD, RunPasswordField } from './RunPasswordField';
|
|
11
11
|
import { RunPlanReferences } from './RunPlanReferences';
|
|
12
12
|
import { RunPlanSuggestions } from './RunPlanSuggestions';
|
|
13
13
|
import { RunPlanSummary } from './RunPlanSummary';
|
|
@@ -30,7 +30,11 @@ export function RunPanel({ mapping, actions, onSubscribeProgress, onRunSettled }
|
|
|
30
30
|
const [cancelling, setCancelling] = useState(false);
|
|
31
31
|
// Held only while this panel is open. Never put in the store, never saved:
|
|
32
32
|
// the point of asking per run is that it does not live anywhere afterwards.
|
|
33
|
-
|
|
33
|
+
/*
|
|
34
|
+
* Pre-filled with the change-me default, so pressing Run does not first
|
|
35
|
+
* require somebody to think of a password. It is visible and editable; what
|
|
36
|
+
* it must not be is a blocker in front of an import that is otherwise ready.
|
|
37
|
+
*/ const [sharedPassword, setSharedPassword] = useState(DEFAULT_SHARED_PASSWORD);
|
|
34
38
|
// Two ways an import can need a password: it writes one into the record's own
|
|
35
39
|
// table, or it creates a login alongside each record. Either way it is typed
|
|
36
40
|
// here, once, and goes no further than this run.
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/** Matches the server's floor; the message says the same thing the server would. */
|
|
2
2
|
export declare const MIN_SHARED_PASSWORD = 8;
|
|
3
|
+
/**
|
|
4
|
+
* What the box starts with, so an import is not blocked on inventing one.
|
|
5
|
+
*
|
|
6
|
+
* Deliberately a CHANGE-ME rather than anything that looks chosen: it is handed
|
|
7
|
+
* to every account the run creates, it is the first thing each of those people
|
|
8
|
+
* is asked to replace, and a default that looks like a real password is one
|
|
9
|
+
* somebody leaves in place. Editable — an install with a policy types its own.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEFAULT_SHARED_PASSWORD = "ChanGeME2026!";
|
|
3
12
|
export type RunPasswordFieldProps = {
|
|
4
13
|
/** The column the mapping writes it into — named so the operator can see it. */
|
|
5
14
|
column: string;
|
|
@@ -16,6 +16,14 @@ import { Field } from './Primitives';
|
|
|
16
16
|
* afterwards, is the version that gets done.
|
|
17
17
|
*/ const theme = integrationsPageTheme;
|
|
18
18
|
/** Matches the server's floor; the message says the same thing the server would. */ export const MIN_SHARED_PASSWORD = 8;
|
|
19
|
+
/**
|
|
20
|
+
* What the box starts with, so an import is not blocked on inventing one.
|
|
21
|
+
*
|
|
22
|
+
* Deliberately a CHANGE-ME rather than anything that looks chosen: it is handed
|
|
23
|
+
* to every account the run creates, it is the first thing each of those people
|
|
24
|
+
* is asked to replace, and a default that looks like a real password is one
|
|
25
|
+
* somebody leaves in place. Editable — an install with a policy types its own.
|
|
26
|
+
*/ export const DEFAULT_SHARED_PASSWORD = 'ChanGeME2026!';
|
|
19
27
|
export function RunPasswordField({ column, value, disabled, onChange }) {
|
|
20
28
|
const uid = useId();
|
|
21
29
|
const [shown, setShown] = useState(false);
|
|
@@ -150,6 +150,15 @@ export type AccountRuleValue = {
|
|
|
150
150
|
matchFrom: string;
|
|
151
151
|
/** Column on the account that receives the run's shared password. */
|
|
152
152
|
passwordColumn: string;
|
|
153
|
+
/**
|
|
154
|
+
* How to build an identifier for a record the source gave none.
|
|
155
|
+
*
|
|
156
|
+
* A template over the record's own columns — `{firstName}.{sicilNo}@acme.com`
|
|
157
|
+
* — used ONLY when the matched column came back empty. Most of a factory has
|
|
158
|
+
* no e-mail address, and without this those people are imported with no login
|
|
159
|
+
* at all.
|
|
160
|
+
*/
|
|
161
|
+
emailFormat?: string;
|
|
153
162
|
/** Other columns to fill on a new account, from the imported record. */
|
|
154
163
|
values?: {
|
|
155
164
|
column: string;
|