@aibrains/shared-types 0.2.0 → 0.3.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.
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Education Organization Ed-Fi Mapper
3
+ *
4
+ * Converts EdForge Education Organization data (School, LEA, SEA, ESC) to
5
+ * Ed-Fi Data Standard format for compliance export.
6
+ * Ed-Fi Data Standard v6.0: https://docs.ed-fi.org/reference/data-exchange/data-standard/
7
+ */
8
+ import type { SchoolResponseDto } from '../../schemas/identity/school.schema';
9
+ import type { SeaResponseDto } from '../../schemas/identity/state-education-agency.schema';
10
+ import type { LeaResponseDto } from '../../schemas/identity/local-education-agency.schema';
11
+ import type { EscResponseDto } from '../../schemas/identity/education-service-center.schema';
12
+ export interface EdFiSchool {
13
+ schoolId: number;
14
+ nameOfInstitution: string;
15
+ shortNameOfInstitution?: string;
16
+ webSite?: string;
17
+ operationalStatusDescriptor?: string;
18
+ schoolCategories?: EdFiDescriptorRef[];
19
+ schoolTypeDescriptor?: string;
20
+ gradeLevels?: EdFiDescriptorRef[];
21
+ charterStatusDescriptor?: string;
22
+ administrativeFundingControlDescriptor?: string;
23
+ titleIPartASchoolDesignationDescriptor?: string;
24
+ addresses?: EdFiEducationOrganizationAddress[];
25
+ identificationCodes?: EdFiEducationOrganizationIdentificationCode[];
26
+ institutionTelephones?: EdFiInstitutionTelephone[];
27
+ localEducationAgencyReference?: {
28
+ localEducationAgencyId: number;
29
+ };
30
+ _ext?: EdForgeSchoolExtension;
31
+ }
32
+ export interface EdFiLocalEducationAgency {
33
+ localEducationAgencyId: number;
34
+ nameOfInstitution: string;
35
+ shortNameOfInstitution?: string;
36
+ webSite?: string;
37
+ operationalStatusDescriptor: string;
38
+ localEducationAgencyCategoryDescriptor: string;
39
+ charterStatusDescriptor?: string;
40
+ categories?: EdFiDescriptorRef[];
41
+ addresses?: EdFiEducationOrganizationAddress[];
42
+ identificationCodes?: EdFiEducationOrganizationIdentificationCode[];
43
+ institutionTelephones?: EdFiInstitutionTelephone[];
44
+ stateEducationAgencyReference?: {
45
+ stateEducationAgencyId: number;
46
+ };
47
+ educationServiceCenterReference?: {
48
+ educationServiceCenterId: number;
49
+ };
50
+ parentLocalEducationAgencyReference?: {
51
+ localEducationAgencyId: number;
52
+ };
53
+ _ext?: EdForgeLeaExtension;
54
+ }
55
+ export interface EdFiStateEducationAgency {
56
+ stateEducationAgencyId: number;
57
+ nameOfInstitution: string;
58
+ shortNameOfInstitution?: string;
59
+ webSite?: string;
60
+ operationalStatusDescriptor: string;
61
+ categories?: EdFiDescriptorRef[];
62
+ addresses?: EdFiEducationOrganizationAddress[];
63
+ identificationCodes?: EdFiEducationOrganizationIdentificationCode[];
64
+ institutionTelephones?: EdFiInstitutionTelephone[];
65
+ _ext?: EdForgeSeaExtension;
66
+ }
67
+ export interface EdFiEducationServiceCenter {
68
+ educationServiceCenterId: number;
69
+ nameOfInstitution: string;
70
+ shortNameOfInstitution?: string;
71
+ webSite?: string;
72
+ operationalStatusDescriptor: string;
73
+ categories?: EdFiDescriptorRef[];
74
+ addresses?: EdFiEducationOrganizationAddress[];
75
+ identificationCodes?: EdFiEducationOrganizationIdentificationCode[];
76
+ institutionTelephones?: EdFiInstitutionTelephone[];
77
+ stateEducationAgencyReference?: {
78
+ stateEducationAgencyId: number;
79
+ };
80
+ _ext?: EdForgeEscExtension;
81
+ }
82
+ export interface EdFiDescriptorRef {
83
+ [descriptorName: string]: string;
84
+ }
85
+ export interface EdFiEducationOrganizationAddress {
86
+ addressTypeDescriptor: string;
87
+ streetNumberName: string;
88
+ apartmentRoomSuiteNumber?: string;
89
+ city: string;
90
+ stateAbbreviationDescriptor: string;
91
+ postalCode: string;
92
+ nameOfCounty?: string;
93
+ countyFIPSCode?: string;
94
+ latitude?: string;
95
+ longitude?: string;
96
+ }
97
+ export interface EdFiEducationOrganizationIdentificationCode {
98
+ educationOrganizationIdentificationSystemDescriptor: string;
99
+ identificationCode: string;
100
+ }
101
+ export interface EdFiInstitutionTelephone {
102
+ institutionTelephoneNumberTypeDescriptor: string;
103
+ telephoneNumber: string;
104
+ }
105
+ export interface EdForgeSchoolExtension {
106
+ edforge_schoolId: string;
107
+ edforge_tenantId?: string;
108
+ edforge_schoolCode: string;
109
+ edforge_internalSchoolType: string;
110
+ }
111
+ export interface EdForgeLeaExtension {
112
+ edforge_leaId: string;
113
+ edforge_tenantId: string;
114
+ }
115
+ export interface EdForgeSeaExtension {
116
+ edforge_seaId: string;
117
+ edforge_tenantId: string;
118
+ }
119
+ export interface EdForgeEscExtension {
120
+ edforge_escId: string;
121
+ edforge_tenantId: string;
122
+ }
123
+ /**
124
+ * Build an Ed-Fi descriptor URI from namespace and value.
125
+ * @example toEdFiDescriptorUri('SchoolCategoryDescriptor', 'High School')
126
+ * => 'uri://ed-fi.org/SchoolCategoryDescriptor#High School'
127
+ */
128
+ export declare function toEdFiDescriptorUri(namespace: string, value: string): string;
129
+ /**
130
+ * Convert EdForge School to Ed-Fi School format.
131
+ * Note: SchoolResponseDto uses a string schoolCode (EdForge internal), while
132
+ * Ed-Fi requires a numeric schoolId. The schoolCode is preserved in _ext.
133
+ * The caller must provide the numeric Ed-Fi school ID separately if different.
134
+ */
135
+ export declare function toEdFiSchool(school: SchoolResponseDto, edfiSchoolId?: number): EdFiSchool;
136
+ /**
137
+ * Convert EdForge LEA to Ed-Fi LocalEducationAgency format.
138
+ * Hierarchy references (SEA, ESC, parent LEA) use internal UUIDs in EdForge
139
+ * but Ed-Fi requires numeric IDs. The caller must resolve these.
140
+ */
141
+ export declare function toEdFiLocalEducationAgency(lea: LeaResponseDto, refs?: {
142
+ seaEdFiId?: number;
143
+ escEdFiId?: number;
144
+ parentLeaEdFiId?: number;
145
+ }): EdFiLocalEducationAgency;
146
+ /**
147
+ * Convert EdForge SEA to Ed-Fi StateEducationAgency format.
148
+ */
149
+ export declare function toEdFiStateEducationAgency(sea: SeaResponseDto): EdFiStateEducationAgency;
150
+ /**
151
+ * Convert EdForge ESC to Ed-Fi EducationServiceCenter format.
152
+ */
153
+ export declare function toEdFiEducationServiceCenter(esc: EscResponseDto, seaEdFiId?: number): EdFiEducationServiceCenter;
154
+ export declare function toEdFiSchoolBatch(schools: SchoolResponseDto[]): EdFiSchool[];
155
+ export declare function toEdFiLeaBatch(leas: LeaResponseDto[]): EdFiLocalEducationAgency[];
156
+ //# sourceMappingURL=education-org.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"education-org.mapper.d.ts","sourceRoot":"","sources":["../../../src/mappers/edfi/education-org.mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ /**
3
+ * Education Organization Ed-Fi Mapper
4
+ *
5
+ * Converts EdForge Education Organization data (School, LEA, SEA, ESC) to
6
+ * Ed-Fi Data Standard format for compliance export.
7
+ * Ed-Fi Data Standard v6.0: https://docs.ed-fi.org/reference/data-exchange/data-standard/
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.toEdFiDescriptorUri = toEdFiDescriptorUri;
11
+ exports.toEdFiSchool = toEdFiSchool;
12
+ exports.toEdFiLocalEducationAgency = toEdFiLocalEducationAgency;
13
+ exports.toEdFiStateEducationAgency = toEdFiStateEducationAgency;
14
+ exports.toEdFiEducationServiceCenter = toEdFiEducationServiceCenter;
15
+ exports.toEdFiSchoolBatch = toEdFiSchoolBatch;
16
+ exports.toEdFiLeaBatch = toEdFiLeaBatch;
17
+ // ============================================================================
18
+ // Descriptor URI Helpers
19
+ // ============================================================================
20
+ /**
21
+ * Build an Ed-Fi descriptor URI from namespace and value.
22
+ * @example toEdFiDescriptorUri('SchoolCategoryDescriptor', 'High School')
23
+ * => 'uri://ed-fi.org/SchoolCategoryDescriptor#High School'
24
+ */
25
+ function toEdFiDescriptorUri(namespace, value) {
26
+ return `uri://ed-fi.org/${namespace}#${value}`;
27
+ }
28
+ /** Map an operational status value to its Ed-Fi descriptor URI */
29
+ function mapOperationalStatus(status) {
30
+ const statusLabels = {
31
+ Active: 'Active',
32
+ Added: 'Added',
33
+ ChangedAgency: 'Changed Agency',
34
+ Closed: 'Closed',
35
+ Inactive: 'Inactive',
36
+ New: 'New',
37
+ Reopened: 'Reopened',
38
+ Future: 'Future',
39
+ };
40
+ return toEdFiDescriptorUri('OperationalStatusDescriptor', statusLabels[status] || status);
41
+ }
42
+ /** Map an address type value to its Ed-Fi descriptor URI */
43
+ function mapAddressType(type) {
44
+ return toEdFiDescriptorUri('AddressTypeDescriptor', type);
45
+ }
46
+ /** Map a state abbreviation to its Ed-Fi descriptor URI */
47
+ function mapStateAbbreviation(state) {
48
+ return toEdFiDescriptorUri('StateAbbreviationDescriptor', state);
49
+ }
50
+ /** Map an identification system value to its Ed-Fi descriptor URI */
51
+ function mapIdentificationSystem(system) {
52
+ const systemLabels = {
53
+ NCES: 'NCES Identification Number',
54
+ SEA: 'SEA',
55
+ DUNS: 'DUNS',
56
+ Federal: 'Federal',
57
+ Other: 'Other',
58
+ };
59
+ return toEdFiDescriptorUri('EducationOrganizationIdentificationSystemDescriptor', systemLabels[system] || system);
60
+ }
61
+ /** Map a telephone number type value to its Ed-Fi descriptor URI */
62
+ function mapTelephoneType(type) {
63
+ return toEdFiDescriptorUri('InstitutionTelephoneNumberTypeDescriptor', type);
64
+ }
65
+ /** Map a school category value to its Ed-Fi descriptor URI */
66
+ function mapSchoolCategory(value) {
67
+ const categoryLabels = {
68
+ AllLevels: 'All Levels',
69
+ Elementary: 'Elementary School',
70
+ HighSchool: 'High School',
71
+ MiddleSchool: 'Middle School',
72
+ SecondarySchool: 'Secondary School',
73
+ Ungraded: 'Ungraded',
74
+ };
75
+ return toEdFiDescriptorUri('SchoolCategoryDescriptor', categoryLabels[value] || value);
76
+ }
77
+ /** Map a school type descriptor value to its Ed-Fi descriptor URI */
78
+ function mapSchoolType(value) {
79
+ const typeLabels = {
80
+ Regular: 'Regular',
81
+ SpecialEducation: 'Special Education',
82
+ CareerAndTechnical: 'Career and Technical Education',
83
+ Alternative: 'Alternative',
84
+ };
85
+ return toEdFiDescriptorUri('SchoolTypeDescriptor', typeLabels[value] || value);
86
+ }
87
+ /** Map a grade level descriptor value to its Ed-Fi descriptor URI */
88
+ function mapGradeLevel(value) {
89
+ const gradeLabels = {
90
+ InfantToddler: 'Infant/toddler',
91
+ Prenursery: 'Prenursery',
92
+ Nursery: 'Nursery',
93
+ Prekindergarten: 'Pre-Kindergarten',
94
+ TransitionalKindergarten: 'Transitional Kindergarten',
95
+ Kindergarten: 'Kindergarten',
96
+ FirstGrade: 'First grade',
97
+ SecondGrade: 'Second grade',
98
+ ThirdGrade: 'Third grade',
99
+ FourthGrade: 'Fourth grade',
100
+ FifthGrade: 'Fifth grade',
101
+ SixthGrade: 'Sixth grade',
102
+ SeventhGrade: 'Seventh grade',
103
+ EighthGrade: 'Eighth grade',
104
+ NinthGrade: 'Ninth grade',
105
+ TenthGrade: 'Tenth grade',
106
+ EleventhGrade: 'Eleventh grade',
107
+ TwelfthGrade: 'Twelfth grade',
108
+ Postsecondary: 'Postsecondary',
109
+ Ungraded: 'Ungraded',
110
+ Other: 'Other',
111
+ };
112
+ return toEdFiDescriptorUri('GradeLevelDescriptor', gradeLabels[value] || value);
113
+ }
114
+ /** Map a LEA category value to its Ed-Fi descriptor URI */
115
+ function mapLeaCategory(value) {
116
+ const categoryLabels = {
117
+ Independent: 'Independent',
118
+ CharterLEA: 'Charter LEA',
119
+ Intermediate: 'Intermediate',
120
+ SupervisoryUnion: 'Supervisory Union',
121
+ Other: 'Other',
122
+ };
123
+ return toEdFiDescriptorUri('LocalEducationAgencyCategoryDescriptor', categoryLabels[value] || value);
124
+ }
125
+ /** Map a charter status value to its Ed-Fi descriptor URI */
126
+ function mapCharterStatus(value) {
127
+ const statusLabels = {
128
+ NotACharter: 'Not a Charter School',
129
+ SchoolCharter: 'School Charter',
130
+ CollegeUniversityCharter: 'College/University Charter',
131
+ OpenEnrollment: 'Open Enrollment',
132
+ };
133
+ return toEdFiDescriptorUri('CharterStatusDescriptor', statusLabels[value] || value);
134
+ }
135
+ // ============================================================================
136
+ // Shared Sub-Resource Mappers
137
+ // ============================================================================
138
+ function mapAddresses(addresses) {
139
+ if (!addresses || addresses.length === 0)
140
+ return undefined;
141
+ return addresses.map(addr => ({
142
+ addressTypeDescriptor: mapAddressType(addr.addressTypeDescriptor),
143
+ streetNumberName: addr.streetNumberName,
144
+ apartmentRoomSuiteNumber: addr.apartmentRoomSuiteNumber,
145
+ city: addr.city,
146
+ stateAbbreviationDescriptor: mapStateAbbreviation(addr.stateAbbreviationDescriptor),
147
+ postalCode: addr.postalCode,
148
+ nameOfCounty: addr.nameOfCounty,
149
+ countyFIPSCode: addr.countyFIPSCode,
150
+ latitude: addr.latitude,
151
+ longitude: addr.longitude,
152
+ }));
153
+ }
154
+ function mapIdentificationCodes(codes) {
155
+ if (!codes || codes.length === 0)
156
+ return undefined;
157
+ return codes.map(code => ({
158
+ educationOrganizationIdentificationSystemDescriptor: mapIdentificationSystem(code.educationOrganizationIdentificationSystemDescriptor),
159
+ identificationCode: code.identificationCode,
160
+ }));
161
+ }
162
+ function mapTelephones(telephones) {
163
+ if (!telephones || telephones.length === 0)
164
+ return undefined;
165
+ return telephones.map(tel => ({
166
+ institutionTelephoneNumberTypeDescriptor: mapTelephoneType(tel.institutionTelephoneNumberTypeDescriptor),
167
+ telephoneNumber: tel.telephoneNumber,
168
+ }));
169
+ }
170
+ // ============================================================================
171
+ // School Mapper
172
+ // ============================================================================
173
+ /**
174
+ * Convert EdForge School to Ed-Fi School format.
175
+ * Note: SchoolResponseDto uses a string schoolCode (EdForge internal), while
176
+ * Ed-Fi requires a numeric schoolId. The schoolCode is preserved in _ext.
177
+ * The caller must provide the numeric Ed-Fi school ID separately if different.
178
+ */
179
+ function toEdFiSchool(school, edfiSchoolId) {
180
+ const result = {
181
+ schoolId: edfiSchoolId !== null && edfiSchoolId !== void 0 ? edfiSchoolId : 0, // Caller should provide the numeric Ed-Fi ID
182
+ nameOfInstitution: school.name,
183
+ shortNameOfInstitution: school.shortName,
184
+ webSite: school.website,
185
+ };
186
+ // School categories
187
+ if (school.schoolCategories && school.schoolCategories.length > 0) {
188
+ result.schoolCategories = school.schoolCategories.map(cat => ({
189
+ schoolCategoryDescriptor: mapSchoolCategory(cat),
190
+ }));
191
+ }
192
+ // School type descriptor
193
+ if (school.schoolTypeDescriptor) {
194
+ result.schoolTypeDescriptor = mapSchoolType(school.schoolTypeDescriptor);
195
+ }
196
+ // Grade levels
197
+ if (school.gradeLevels && school.gradeLevels.length > 0) {
198
+ result.gradeLevels = school.gradeLevels.map(gl => ({
199
+ gradeLevelDescriptor: mapGradeLevel(gl),
200
+ }));
201
+ }
202
+ // Charter status
203
+ if (school.charterStatusDescriptor) {
204
+ result.charterStatusDescriptor = mapCharterStatus(school.charterStatusDescriptor);
205
+ }
206
+ // Administrative funding control
207
+ if (school.administrativeFundingControlDescriptor) {
208
+ result.administrativeFundingControlDescriptor = toEdFiDescriptorUri('AdministrativeFundingControlDescriptor', school.administrativeFundingControlDescriptor === 'Public' ? 'Public School' :
209
+ school.administrativeFundingControlDescriptor === 'Private' ? 'Private School' :
210
+ school.administrativeFundingControlDescriptor);
211
+ }
212
+ // Title I
213
+ if (school.titleIPartASchoolDesignationDescriptor) {
214
+ result.titleIPartASchoolDesignationDescriptor = school.titleIPartASchoolDesignationDescriptor;
215
+ }
216
+ // Addresses (from Ed-Fi-style addresses if present, or map from legacy address)
217
+ if (school.address) {
218
+ result.addresses = [{
219
+ addressTypeDescriptor: toEdFiDescriptorUri('AddressTypeDescriptor', 'Physical'),
220
+ streetNumberName: school.address.street1,
221
+ apartmentRoomSuiteNumber: school.address.street2,
222
+ city: school.address.city,
223
+ stateAbbreviationDescriptor: toEdFiDescriptorUri('StateAbbreviationDescriptor', school.address.state),
224
+ postalCode: school.address.zipCode,
225
+ }];
226
+ }
227
+ // Identification codes
228
+ if (school.identificationCodes && school.identificationCodes.length > 0) {
229
+ result.identificationCodes = mapIdentificationCodes(school.identificationCodes);
230
+ }
231
+ // Telephones
232
+ if (school.institutionTelephones && school.institutionTelephones.length > 0) {
233
+ result.institutionTelephones = mapTelephones(school.institutionTelephones);
234
+ }
235
+ // EdForge extension for round-trip
236
+ result._ext = {
237
+ edforge_schoolId: school.schoolId,
238
+ edforge_schoolCode: school.schoolCode,
239
+ edforge_internalSchoolType: school.schoolType,
240
+ };
241
+ return result;
242
+ }
243
+ // ============================================================================
244
+ // LEA Mapper
245
+ // ============================================================================
246
+ /**
247
+ * Convert EdForge LEA to Ed-Fi LocalEducationAgency format.
248
+ * Hierarchy references (SEA, ESC, parent LEA) use internal UUIDs in EdForge
249
+ * but Ed-Fi requires numeric IDs. The caller must resolve these.
250
+ */
251
+ function toEdFiLocalEducationAgency(lea, refs) {
252
+ const result = {
253
+ localEducationAgencyId: lea.localEducationAgencyId,
254
+ nameOfInstitution: lea.nameOfInstitution,
255
+ shortNameOfInstitution: lea.shortNameOfInstitution,
256
+ webSite: lea.webSite,
257
+ operationalStatusDescriptor: mapOperationalStatus(lea.operationalStatusDescriptor),
258
+ localEducationAgencyCategoryDescriptor: mapLeaCategory(lea.leaCategoryDescriptor),
259
+ };
260
+ if (lea.charterStatusDescriptor) {
261
+ result.charterStatusDescriptor = mapCharterStatus(lea.charterStatusDescriptor);
262
+ }
263
+ if (lea.categories && lea.categories.length > 0) {
264
+ result.categories = lea.categories.map(cat => ({
265
+ educationOrganizationCategoryDescriptor: cat.educationOrganizationCategoryDescriptor,
266
+ }));
267
+ }
268
+ result.addresses = mapAddresses(lea.addresses);
269
+ result.identificationCodes = mapIdentificationCodes(lea.identificationCodes);
270
+ result.institutionTelephones = mapTelephones(lea.telephones);
271
+ // Hierarchy references
272
+ if (refs === null || refs === void 0 ? void 0 : refs.seaEdFiId) {
273
+ result.stateEducationAgencyReference = { stateEducationAgencyId: refs.seaEdFiId };
274
+ }
275
+ if (refs === null || refs === void 0 ? void 0 : refs.escEdFiId) {
276
+ result.educationServiceCenterReference = { educationServiceCenterId: refs.escEdFiId };
277
+ }
278
+ if (refs === null || refs === void 0 ? void 0 : refs.parentLeaEdFiId) {
279
+ result.parentLocalEducationAgencyReference = { localEducationAgencyId: refs.parentLeaEdFiId };
280
+ }
281
+ result._ext = {
282
+ edforge_leaId: lea.id,
283
+ edforge_tenantId: lea.tenantId,
284
+ };
285
+ return result;
286
+ }
287
+ // ============================================================================
288
+ // SEA Mapper
289
+ // ============================================================================
290
+ /**
291
+ * Convert EdForge SEA to Ed-Fi StateEducationAgency format.
292
+ */
293
+ function toEdFiStateEducationAgency(sea) {
294
+ const result = {
295
+ stateEducationAgencyId: sea.stateEducationAgencyId,
296
+ nameOfInstitution: sea.nameOfInstitution,
297
+ shortNameOfInstitution: sea.shortNameOfInstitution,
298
+ webSite: sea.webSite,
299
+ operationalStatusDescriptor: mapOperationalStatus(sea.operationalStatusDescriptor),
300
+ };
301
+ if (sea.categories && sea.categories.length > 0) {
302
+ result.categories = sea.categories.map(cat => ({
303
+ educationOrganizationCategoryDescriptor: cat.educationOrganizationCategoryDescriptor,
304
+ }));
305
+ }
306
+ result.addresses = mapAddresses(sea.addresses);
307
+ result.identificationCodes = mapIdentificationCodes(sea.identificationCodes);
308
+ result.institutionTelephones = mapTelephones(sea.telephones);
309
+ result._ext = {
310
+ edforge_seaId: sea.id,
311
+ edforge_tenantId: sea.tenantId,
312
+ };
313
+ return result;
314
+ }
315
+ // ============================================================================
316
+ // ESC Mapper
317
+ // ============================================================================
318
+ /**
319
+ * Convert EdForge ESC to Ed-Fi EducationServiceCenter format.
320
+ */
321
+ function toEdFiEducationServiceCenter(esc, seaEdFiId) {
322
+ const result = {
323
+ educationServiceCenterId: esc.educationServiceCenterId,
324
+ nameOfInstitution: esc.nameOfInstitution,
325
+ shortNameOfInstitution: esc.shortNameOfInstitution,
326
+ webSite: esc.webSite,
327
+ operationalStatusDescriptor: mapOperationalStatus(esc.operationalStatusDescriptor),
328
+ };
329
+ if (esc.categories && esc.categories.length > 0) {
330
+ result.categories = esc.categories.map(cat => ({
331
+ educationOrganizationCategoryDescriptor: cat.educationOrganizationCategoryDescriptor,
332
+ }));
333
+ }
334
+ result.addresses = mapAddresses(esc.addresses);
335
+ result.identificationCodes = mapIdentificationCodes(esc.identificationCodes);
336
+ result.institutionTelephones = mapTelephones(esc.telephones);
337
+ if (seaEdFiId) {
338
+ result.stateEducationAgencyReference = { stateEducationAgencyId: seaEdFiId };
339
+ }
340
+ result._ext = {
341
+ edforge_escId: esc.id,
342
+ edforge_tenantId: esc.tenantId,
343
+ };
344
+ return result;
345
+ }
346
+ // ============================================================================
347
+ // Batch Converters
348
+ // ============================================================================
349
+ function toEdFiSchoolBatch(schools) {
350
+ return schools.map(s => toEdFiSchool(s));
351
+ }
352
+ function toEdFiLeaBatch(leas) {
353
+ return leas.map(l => toEdFiLocalEducationAgency(l));
354
+ }
355
+ //# sourceMappingURL=education-org.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"education-org.mapper.js","sourceRoot":"","sources":["../../../src/mappers/edfi/education-org.mapper.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,5 @@
7
7
  export * from './staff.mapper';
8
8
  export * from './credential.mapper';
9
9
  export * from './calendar.mapper';
10
+ export * from './education-org.mapper';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mappers/edfi/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mappers/edfi/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
@@ -23,4 +23,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  __exportStar(require("./staff.mapper"), exports);
24
24
  __exportStar(require("./credential.mapper"), exports);
25
25
  __exportStar(require("./calendar.mapper"), exports);
26
+ __exportStar(require("./education-org.mapper"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mappers/edfi/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mappers/edfi/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibrains/shared-types",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Shared Zod schemas, TypeScript types, and validators for Education data models.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",