@new-project-media/client-frontends-shared-types 3.34.0 → 3.35.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@new-project-media/client-frontends-shared-types",
3
- "version": "3.34.0",
3
+ "version": "3.35.0",
4
4
  "scripts": {
5
5
  "build": "tsc -p tsconfig.json",
6
6
  "postbuild": "mkdir -p ../../dist/packages/client-frontends-shared-types/ && cp package.json ../../dist/packages/client-frontends-shared-types/",
@@ -7,3 +7,4 @@ export * from './poiGroups';
7
7
  export * from './poiLocations';
8
8
  export * from './intels';
9
9
  export * from './organizations';
10
+ export * from './people';
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./poiGroups"), exports);
10
10
  tslib_1.__exportStar(require("./poiLocations"), exports);
11
11
  tslib_1.__exportStar(require("./intels"), exports);
12
12
  tslib_1.__exportStar(require("./organizations"), exports);
13
+ tslib_1.__exportStar(require("./people"), exports);
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/client-frontends-shared-types/src/lib/dataGrid/api/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,oDAAyB;AACzB,mDAAwB;AACxB,mDAAwB;AACxB,wDAA6B;AAC7B,sDAA2B;AAC3B,yDAA8B;AAC9B,mDAAwB;AACxB,0DAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/client-frontends-shared-types/src/lib/dataGrid/api/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,oDAAyB;AACzB,mDAAwB;AACxB,mDAAwB;AACxB,wDAA6B;AAC7B,sDAA2B;AAC3B,yDAA8B;AAC9B,mDAAwB;AACxB,0DAA+B;AAC/B,mDAAwB"}
@@ -0,0 +1,13 @@
1
+ import type { ClientApiListResponse } from '../common';
2
+ import type { PeopleMoveDetailsTypeV1, PeopleMoveListTypeV1 } from './v1';
3
+ export * from './v1';
4
+ export { peopleMoveFullSchemaV1 as peopleMoveFullSchema, peopleMoveListSchemaV1 as peopleMoveListSchema, peopleMoveDetailsSchemaV1 as peopleMoveDetailsSchema, } from './v1';
5
+ export type { PeopleMoveFullTypeV1 as PeopleMoveFullType, PeopleMoveListTypeV1 as PeopleMoveListType, PeopleMoveDetailsTypeV1 as PeopleMoveDetailsType, PeopleMoveOrganizationTypeV1 as PeopleMoveOrganizationType, PeopleMoveNameTypeV1 as PeopleMoveNameType, } from './v1';
6
+ /**
7
+ * Short aliases, so consumers have one obvious name to import. `Person` is the
8
+ * detail projection — the richest client-facing shape for a single record.
9
+ */
10
+ export type Person = PeopleMoveDetailsTypeV1;
11
+ export type PeopleList = PeopleMoveListTypeV1;
12
+ /** Paged list envelope. */
13
+ export type PeopleResponse = ClientApiListResponse<PeopleMoveListTypeV1>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.peopleMoveDetailsSchema = exports.peopleMoveListSchema = exports.peopleMoveFullSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./v1"), exports);
6
+ // Non-versioned aliases pointing to V1
7
+ var v1_1 = require("./v1");
8
+ Object.defineProperty(exports, "peopleMoveFullSchema", { enumerable: true, get: function () { return v1_1.peopleMoveFullSchemaV1; } });
9
+ Object.defineProperty(exports, "peopleMoveListSchema", { enumerable: true, get: function () { return v1_1.peopleMoveListSchemaV1; } });
10
+ Object.defineProperty(exports, "peopleMoveDetailsSchema", { enumerable: true, get: function () { return v1_1.peopleMoveDetailsSchemaV1; } });
11
+ // No single-record envelope yet, deliberately. `personId` identifies a person
12
+ // rather than a move, so whether a by-id lookup resolves to one record or to a
13
+ // person's move history is still undecided. Publishing a guess would freeze the
14
+ // wrong shape into a released package.
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/client-frontends-shared-types/src/lib/dataGrid/api/people/index.ts"],"names":[],"mappings":";;;;AAGA,+CAAoB;AAEpB,uCAAuC;AACvC,2BAIa;AAHX,0GAAA,sBAAsB,OAAwB;AAC9C,0GAAA,sBAAsB,OAAwB;AAC9C,6GAAA,yBAAyB,OAA2B;AAqBtD,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,uCAAuC"}
@@ -0,0 +1,201 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Known move types, exported for consumers that need to branch on the value —
4
+ * a grid badge, a filter label.
5
+ *
6
+ * **Not exhaustive by contract.** `type` below is a plain string rather than a
7
+ * `nativeEnum` of this, because the value is editorial content and an
8
+ * unrecognised one must still parse. Treat this as the set worth special-casing,
9
+ * not the set that can exist.
10
+ */
11
+ export declare enum PeopleMoveType {
12
+ NewHire = "New Hire",
13
+ Promotion = "Promotion",
14
+ MovingOn = "Moving On"
15
+ }
16
+ /** Role of an organization in a person's history. */
17
+ export declare enum PeopleMoveOrganizationRole {
18
+ Current = "current",
19
+ Previous = "previous"
20
+ }
21
+ /**
22
+ * Structured name breakdown. Every part is an optional plain string: parts that
23
+ * do not apply arrive as empty strings, so `min(1)` would reject valid records.
24
+ *
25
+ * Note `name.fullName` and `name.full` both duplicate the top-level `fullName`.
26
+ * Prefer the **top-level** field for display and reach into `name.*` only when a
27
+ * consumer needs the individual parts.
28
+ */
29
+ declare const peopleMoveNameSchemaV1: z.ZodObject<{
30
+ first: z.ZodOptional<z.ZodString>;
31
+ middle: z.ZodOptional<z.ZodString>;
32
+ last: z.ZodOptional<z.ZodString>;
33
+ title: z.ZodOptional<z.ZodString>;
34
+ full: z.ZodOptional<z.ZodString>;
35
+ fullName: z.ZodOptional<z.ZodString>;
36
+ }, z.core.$strip>;
37
+ /**
38
+ * One entry in a person's organization history. A person may have several, each
39
+ * tagged with the role it played — see {@link PeopleMoveOrganizationRole}.
40
+ *
41
+ * Wrapped in {@link nested} where it is used, which marks the array so query
42
+ * builders emit a nested query for it rather than a flat term filter.
43
+ */
44
+ declare const peopleMoveOrganizationSchemaV1: z.ZodObject<{
45
+ id: z.ZodOptional<z.ZodString>;
46
+ identifier: z.ZodOptional<z.ZodString>;
47
+ role: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ /**
50
+ * The complete record, including fields that exist only for internal use. Client
51
+ * consumers should import a projection instead — {@link peopleMoveListSchemaV1}
52
+ * or {@link peopleMoveDetailsSchemaV1} — both of which drop everything marked
53
+ * `[internal]` below.
54
+ *
55
+ * Only `id` is required. Every other field is optional so that a record missing
56
+ * one still parses; absence is normal, not a defect.
57
+ */
58
+ export declare const peopleMoveFullSchemaV1: z.ZodObject<{
59
+ id: z.ZodString;
60
+ personId: z.ZodOptional<z.ZodString>;
61
+ name: z.ZodOptional<z.ZodObject<{
62
+ first: z.ZodOptional<z.ZodString>;
63
+ middle: z.ZodOptional<z.ZodString>;
64
+ last: z.ZodOptional<z.ZodString>;
65
+ title: z.ZodOptional<z.ZodString>;
66
+ full: z.ZodOptional<z.ZodString>;
67
+ fullName: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>>;
69
+ fullName: z.ZodOptional<z.ZodString>;
70
+ type: z.ZodOptional<z.ZodString>;
71
+ currentRole: z.ZodOptional<z.ZodString>;
72
+ previousRole: z.ZodOptional<z.ZodString>;
73
+ organizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
+ id: z.ZodOptional<z.ZodString>;
75
+ identifier: z.ZodOptional<z.ZodString>;
76
+ role: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>>>;
78
+ organizationId: z.ZodOptional<z.ZodString>;
79
+ organizationName: z.ZodOptional<z.ZodString>;
80
+ companyType: z.ZodOptional<z.ZodString>;
81
+ logoUrl: z.ZodOptional<z.ZodString>;
82
+ logoThumbnailUrl: z.ZodOptional<z.ZodString>;
83
+ linkedinUrl: z.ZodOptional<z.ZodString>;
84
+ evidenceUrl: z.ZodOptional<z.ZodString>;
85
+ portraitUrl: z.ZodOptional<z.ZodString>;
86
+ portraitThumbnailUrl: z.ZodOptional<z.ZodString>;
87
+ country: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ identifier: z.ZodString;
89
+ id: z.ZodString;
90
+ }, z.core.$strip>>>;
91
+ localState: z.ZodOptional<z.ZodArray<z.ZodObject<{
92
+ identifier: z.ZodString;
93
+ id: z.ZodString;
94
+ }, z.core.$strip>>>;
95
+ audiences: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
+ identifier: z.ZodString;
97
+ id: z.ZodString;
98
+ }, z.core.$strip>>>;
99
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ identifier: z.ZodString;
101
+ id: z.ZodString;
102
+ }, z.core.$strip>>>;
103
+ createdAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
104
+ publishedAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
105
+ recordStatus: z.ZodOptional<z.ZodString>;
106
+ claims: z.ZodOptional<z.ZodArray<z.ZodString>>;
107
+ graphEntity: z.ZodOptional<z.ZodBoolean>;
108
+ indexed_at: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
109
+ meta: z.ZodOptional<z.ZodObject<{
110
+ PK: z.ZodOptional<z.ZodString>;
111
+ SK: z.ZodOptional<z.ZodString>;
112
+ created: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
113
+ modified: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
114
+ }, z.core.$strip>>;
115
+ }, z.core.$strip>;
116
+ export type PeopleMoveFullTypeV1 = z.infer<typeof peopleMoveFullSchemaV1>;
117
+ export declare const peopleMoveListSchemaV1: z.ZodObject<{
118
+ type: z.ZodOptional<z.ZodString>;
119
+ id: z.ZodString;
120
+ country: z.ZodOptional<z.ZodArray<z.ZodObject<{
121
+ identifier: z.ZodString;
122
+ id: z.ZodString;
123
+ }, z.core.$strip>>>;
124
+ linkedinUrl: z.ZodOptional<z.ZodString>;
125
+ fullName: z.ZodOptional<z.ZodString>;
126
+ organizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
127
+ id: z.ZodOptional<z.ZodString>;
128
+ identifier: z.ZodOptional<z.ZodString>;
129
+ role: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>>>;
131
+ publishedAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
132
+ localState: z.ZodOptional<z.ZodArray<z.ZodObject<{
133
+ identifier: z.ZodString;
134
+ id: z.ZodString;
135
+ }, z.core.$strip>>>;
136
+ createdAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
137
+ organizationName: z.ZodOptional<z.ZodString>;
138
+ logoUrl: z.ZodOptional<z.ZodString>;
139
+ logoThumbnailUrl: z.ZodOptional<z.ZodString>;
140
+ personId: z.ZodOptional<z.ZodString>;
141
+ currentRole: z.ZodOptional<z.ZodString>;
142
+ previousRole: z.ZodOptional<z.ZodString>;
143
+ organizationId: z.ZodOptional<z.ZodString>;
144
+ companyType: z.ZodOptional<z.ZodString>;
145
+ portraitUrl: z.ZodOptional<z.ZodString>;
146
+ portraitThumbnailUrl: z.ZodOptional<z.ZodString>;
147
+ sort: z.ZodOptional<z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodString], null>>;
148
+ }, z.core.$strict>;
149
+ export declare const peopleMoveDetailsSchemaV1: z.ZodObject<{
150
+ type: z.ZodOptional<z.ZodString>;
151
+ id: z.ZodString;
152
+ country: z.ZodOptional<z.ZodArray<z.ZodObject<{
153
+ identifier: z.ZodString;
154
+ id: z.ZodString;
155
+ }, z.core.$strip>>>;
156
+ linkedinUrl: z.ZodOptional<z.ZodString>;
157
+ fullName: z.ZodOptional<z.ZodString>;
158
+ organizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
159
+ id: z.ZodOptional<z.ZodString>;
160
+ identifier: z.ZodOptional<z.ZodString>;
161
+ role: z.ZodOptional<z.ZodString>;
162
+ }, z.core.$strip>>>;
163
+ audiences: z.ZodOptional<z.ZodArray<z.ZodObject<{
164
+ identifier: z.ZodString;
165
+ id: z.ZodString;
166
+ }, z.core.$strip>>>;
167
+ publishedAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
168
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
169
+ identifier: z.ZodString;
170
+ id: z.ZodString;
171
+ }, z.core.$strip>>>;
172
+ localState: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
+ identifier: z.ZodString;
174
+ id: z.ZodString;
175
+ }, z.core.$strip>>>;
176
+ createdAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>>;
177
+ organizationName: z.ZodOptional<z.ZodString>;
178
+ logoUrl: z.ZodOptional<z.ZodString>;
179
+ logoThumbnailUrl: z.ZodOptional<z.ZodString>;
180
+ personId: z.ZodOptional<z.ZodString>;
181
+ name: z.ZodOptional<z.ZodObject<{
182
+ first: z.ZodOptional<z.ZodString>;
183
+ middle: z.ZodOptional<z.ZodString>;
184
+ last: z.ZodOptional<z.ZodString>;
185
+ title: z.ZodOptional<z.ZodString>;
186
+ full: z.ZodOptional<z.ZodString>;
187
+ fullName: z.ZodOptional<z.ZodString>;
188
+ }, z.core.$strip>>;
189
+ currentRole: z.ZodOptional<z.ZodString>;
190
+ previousRole: z.ZodOptional<z.ZodString>;
191
+ organizationId: z.ZodOptional<z.ZodString>;
192
+ companyType: z.ZodOptional<z.ZodString>;
193
+ evidenceUrl: z.ZodOptional<z.ZodString>;
194
+ portraitUrl: z.ZodOptional<z.ZodString>;
195
+ portraitThumbnailUrl: z.ZodOptional<z.ZodString>;
196
+ }, z.core.$strict>;
197
+ export type PeopleMoveListTypeV1 = z.infer<typeof peopleMoveListSchemaV1>;
198
+ export type PeopleMoveDetailsTypeV1 = z.infer<typeof peopleMoveDetailsSchemaV1>;
199
+ export type PeopleMoveOrganizationTypeV1 = z.infer<typeof peopleMoveOrganizationSchemaV1>;
200
+ export type PeopleMoveNameTypeV1 = z.infer<typeof peopleMoveNameSchemaV1>;
201
+ export {};
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.peopleMoveDetailsSchemaV1 = exports.peopleMoveListSchemaV1 = exports.peopleMoveFullSchemaV1 = exports.PeopleMoveOrganizationRole = exports.PeopleMoveType = void 0;
4
+ const zod_1 = require("zod");
5
+ const entity_1 = require("../entity");
6
+ const es_nested_1 = require("../../../es-nested");
7
+ // -----------------------------------------------------------------------------
8
+ // Enums
9
+ // -----------------------------------------------------------------------------
10
+ /**
11
+ * Known move types, exported for consumers that need to branch on the value —
12
+ * a grid badge, a filter label.
13
+ *
14
+ * **Not exhaustive by contract.** `type` below is a plain string rather than a
15
+ * `nativeEnum` of this, because the value is editorial content and an
16
+ * unrecognised one must still parse. Treat this as the set worth special-casing,
17
+ * not the set that can exist.
18
+ */
19
+ var PeopleMoveType;
20
+ (function (PeopleMoveType) {
21
+ PeopleMoveType["NewHire"] = "New Hire";
22
+ PeopleMoveType["Promotion"] = "Promotion";
23
+ PeopleMoveType["MovingOn"] = "Moving On";
24
+ })(PeopleMoveType || (exports.PeopleMoveType = PeopleMoveType = {}));
25
+ /** Role of an organization in a person's history. */
26
+ var PeopleMoveOrganizationRole;
27
+ (function (PeopleMoveOrganizationRole) {
28
+ PeopleMoveOrganizationRole["Current"] = "current";
29
+ PeopleMoveOrganizationRole["Previous"] = "previous";
30
+ })(PeopleMoveOrganizationRole || (exports.PeopleMoveOrganizationRole = PeopleMoveOrganizationRole = {}));
31
+ // -----------------------------------------------------------------------------
32
+ // Sub-schemas
33
+ // -----------------------------------------------------------------------------
34
+ /**
35
+ * Structured name breakdown. Every part is an optional plain string: parts that
36
+ * do not apply arrive as empty strings, so `min(1)` would reject valid records.
37
+ *
38
+ * Note `name.fullName` and `name.full` both duplicate the top-level `fullName`.
39
+ * Prefer the **top-level** field for display and reach into `name.*` only when a
40
+ * consumer needs the individual parts.
41
+ */
42
+ const peopleMoveNameSchemaV1 = zod_1.z.object({
43
+ first: entity_1.OptionalStringSchema.meta({ description: 'Given name' }),
44
+ middle: entity_1.OptionalStringSchema.meta({
45
+ description: 'Middle name, may be empty',
46
+ }),
47
+ last: entity_1.OptionalStringSchema.meta({ description: 'Family name' }),
48
+ title: entity_1.OptionalStringSchema.meta({
49
+ description: 'Honorific or title, may be empty',
50
+ }),
51
+ full: entity_1.OptionalStringSchema.meta({ description: 'Assembled name' }),
52
+ fullName: entity_1.OptionalStringSchema.meta({
53
+ description: 'Duplicate of the assembled name; prefer the top-level fullName field',
54
+ }),
55
+ });
56
+ /**
57
+ * One entry in a person's organization history. A person may have several, each
58
+ * tagged with the role it played — see {@link PeopleMoveOrganizationRole}.
59
+ *
60
+ * Wrapped in {@link nested} where it is used, which marks the array so query
61
+ * builders emit a nested query for it rather than a flat term filter.
62
+ */
63
+ const peopleMoveOrganizationSchemaV1 = zod_1.z.object({
64
+ id: entity_1.OptionalStringSchema.meta({
65
+ description: 'Organization id; links to /view/org/:id',
66
+ }),
67
+ identifier: entity_1.OptionalStringSchema.meta({ description: 'Organization name' }),
68
+ role: entity_1.OptionalStringSchema.meta({
69
+ description: 'Whether this is the current or previous organization',
70
+ }),
71
+ });
72
+ /** Upstream provenance keys. Internal — never projected to clients. */
73
+ const peopleMoveMetaSchemaV1 = zod_1.z.object({
74
+ PK: entity_1.OptionalStringSchema.meta({ description: 'Primary key' }),
75
+ SK: entity_1.OptionalStringSchema.meta({ description: 'Sort key' }),
76
+ created: entity_1.ISODateTimeOptionalSchema.meta({
77
+ description: 'Timestamp when the record was created',
78
+ }),
79
+ modified: entity_1.ISODateTimeOptionalSchema.meta({
80
+ description: 'Timestamp of the last modification',
81
+ }),
82
+ });
83
+ // -----------------------------------------------------------------------------
84
+ // Full schema — every field a People Moves record can carry
85
+ // -----------------------------------------------------------------------------
86
+ /**
87
+ * The complete record, including fields that exist only for internal use. Client
88
+ * consumers should import a projection instead — {@link peopleMoveListSchemaV1}
89
+ * or {@link peopleMoveDetailsSchemaV1} — both of which drop everything marked
90
+ * `[internal]` below.
91
+ *
92
+ * Only `id` is required. Every other field is optional so that a record missing
93
+ * one still parses; absence is normal, not a defect.
94
+ */
95
+ exports.peopleMoveFullSchemaV1 = zod_1.z.object({
96
+ // Identity
97
+ id: zod_1.z.string().meta({
98
+ description: 'Unique identifier for this people-move record',
99
+ }),
100
+ personId: entity_1.OptionalStringSchema.meta({
101
+ description: 'LinkedIn slug. Identifies a person, not a move — a person accumulates one record per move, so this value repeats across records',
102
+ }),
103
+ name: peopleMoveNameSchemaV1.optional().meta({
104
+ description: 'Structured name breakdown',
105
+ }),
106
+ fullName: entity_1.OptionalStringSchema.meta({
107
+ description: 'Display name; the field to use in grids and headers',
108
+ }),
109
+ // The move itself
110
+ type: entity_1.OptionalStringSchema.meta({
111
+ description: 'Move type; see PeopleMoveType for the known values',
112
+ }),
113
+ currentRole: entity_1.OptionalStringSchema.meta({
114
+ description: 'Job title at the current organization',
115
+ }),
116
+ previousRole: entity_1.OptionalStringSchema.meta({
117
+ description: 'Job title at the previous organization',
118
+ }),
119
+ organizations: (0, es_nested_1.nested)(peopleMoveOrganizationSchemaV1).optional().meta({
120
+ description: 'Organization history, each entry tagged current or previous. Filter as a nested field',
121
+ }),
122
+ // Current-organization details, denormalized onto the record
123
+ organizationId: entity_1.OptionalStringSchema.meta({
124
+ description: 'Current organization id; links to /view/org/:id',
125
+ }),
126
+ organizationName: entity_1.OptionalStringSchema.meta({
127
+ description: 'Current organization name',
128
+ }),
129
+ companyType: entity_1.OptionalStringSchema.meta({
130
+ description: 'Current organization classification, formatted "Category: Subcategory". Open taxonomy, not an enum',
131
+ }),
132
+ logoUrl: entity_1.OptionalStringSchema.meta({
133
+ description: 'Current organization logo, full size',
134
+ }),
135
+ logoThumbnailUrl: entity_1.OptionalStringSchema.meta({
136
+ description: 'Current organization logo, thumbnail',
137
+ }),
138
+ // Links and imagery
139
+ linkedinUrl: entity_1.OptionalStringSchema.meta({
140
+ description: "URL of the person's LinkedIn profile",
141
+ }),
142
+ evidenceUrl: entity_1.OptionalStringSchema.meta({
143
+ description: 'Source URL evidencing the move',
144
+ }),
145
+ portraitUrl: entity_1.OptionalStringSchema.meta({
146
+ description: 'Headshot, full size',
147
+ }),
148
+ portraitThumbnailUrl: entity_1.OptionalStringSchema.meta({
149
+ description: 'Headshot, thumbnail',
150
+ }),
151
+ // Geography
152
+ country: entity_1.EntityItemArrayOptionalSchema.meta({ description: 'Country' }),
153
+ localState: entity_1.EntityItemArrayOptionalSchema.meta({
154
+ description: 'State or province',
155
+ }),
156
+ // Entitlement
157
+ audiences: entity_1.EntityItemArrayOptionalSchema.meta({
158
+ description: 'Audience segment the record belongs to',
159
+ }),
160
+ regions: entity_1.EntityItemArrayOptionalSchema.meta({
161
+ description: 'Content region the record belongs to',
162
+ }),
163
+ // Timestamps
164
+ createdAt: entity_1.ISODateTimeOptionalSchema.meta({
165
+ description: 'When the record was created. The default list sort, descending',
166
+ }),
167
+ publishedAt: entity_1.ISODateTimeOptionalSchema.meta({
168
+ description: 'When the record was published',
169
+ }),
170
+ // Internal. Modelled here on purpose so a consumer that needs one can pick it,
171
+ // but excluded from every client projection below — do not remove them just
172
+ // because no projection currently selects them.
173
+ recordStatus: entity_1.OptionalStringSchema.meta({
174
+ description: '[internal] live | draft | hidden | deleted. Only live records are user-visible',
175
+ }),
176
+ claims: zod_1.z.array(zod_1.z.string()).optional().meta({
177
+ description: '[internal] Access-control tokens. Excluded from every client projection, and never to be accepted from a client — a supplied value could only widen access',
178
+ }),
179
+ graphEntity: zod_1.z.boolean().optional().meta({
180
+ description: '[internal] Whether the record is flagged for graph ingestion',
181
+ }),
182
+ indexed_at: entity_1.ISODateTimeOptionalSchema.meta({
183
+ description: '[internal] When the record was last indexed',
184
+ }),
185
+ meta: peopleMoveMetaSchemaV1.optional().meta({
186
+ description: '[internal] Upstream provenance keys',
187
+ }),
188
+ });
189
+ const pickPeopleMoveFields = (fields) => exports.peopleMoveFullSchemaV1.pick(fields);
190
+ // -----------------------------------------------------------------------------
191
+ // Field masks
192
+ // -----------------------------------------------------------------------------
193
+ /** Everything a list row renders: the person, the move, and where it happened. */
194
+ const peopleMoveListFields = {
195
+ id: true,
196
+ personId: true,
197
+ fullName: true,
198
+ type: true,
199
+ currentRole: true,
200
+ previousRole: true,
201
+ organizations: true,
202
+ organizationId: true,
203
+ organizationName: true,
204
+ companyType: true,
205
+ logoUrl: true,
206
+ logoThumbnailUrl: true,
207
+ linkedinUrl: true,
208
+ portraitUrl: true,
209
+ portraitThumbnailUrl: true,
210
+ country: true,
211
+ localState: true,
212
+ createdAt: true,
213
+ publishedAt: true,
214
+ };
215
+ /**
216
+ * A superset of the list fields, so nothing a user saw in a row disappears when
217
+ * they open the record. Adds the structured name, the evidence link, and the
218
+ * entitlement refs a detail view may surface as chips.
219
+ */
220
+ const peopleMoveDetailsFields = Object.assign(Object.assign({}, peopleMoveListFields), { name: true, evidenceUrl: true, audiences: true, regions: true });
221
+ // -----------------------------------------------------------------------------
222
+ // Client schema projections
223
+ // -----------------------------------------------------------------------------
224
+ /**
225
+ * Cursor-pagination sort values: the primary sort field, then the document id as
226
+ * a tiebreaker.
227
+ */
228
+ const peopleMoveSortSchemaV1 = zod_1.z
229
+ .tuple([
230
+ zod_1.z
231
+ .union([zod_1.z.number(), zod_1.z.string()])
232
+ .meta({ description: 'Primary sort value' }),
233
+ zod_1.z.string().meta({ description: 'Secondary sort value (document id)' }),
234
+ ])
235
+ .meta({ description: 'Sort values for cursor-based pagination' });
236
+ exports.peopleMoveListSchemaV1 = pickPeopleMoveFields(peopleMoveListFields)
237
+ .extend({
238
+ sort: peopleMoveSortSchemaV1.optional(),
239
+ })
240
+ .strict();
241
+ exports.peopleMoveDetailsSchemaV1 = pickPeopleMoveFields(peopleMoveDetailsFields).strict();
242
+ //# sourceMappingURL=v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../../../../../../packages/client-frontends-shared-types/src/lib/dataGrid/api/people/v1.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface ReleaseChangeItem {
9
9
  }
10
10
  export interface ReleaseNote {
11
11
  id: string;
12
- version: string;
12
+ title: string;
13
13
  date: string;
14
14
  summary: string;
15
15
  status: ReleaseStatus;