diff --git a/backend/Dockerfile b/backend/Dockerfile index 89cd8b8d..b5084874 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -4,13 +4,11 @@ ENV TZ="Europe/Helsinki" RUN npm i -g npm WORKDIR /usr/src/app -RUN mkdir -p /usr/src/app/frontend/src/validators USER node -COPY --chown=node frontend/src/backendTypes.d.ts /usr/src/app/frontend/src/backendTypes.d.ts +COPY --chown=node frontend/src/shared /usr/src/app/frontend/src/shared/ COPY --chown=node frontend/src/types.ts /usr/src/app/frontend/src/types.ts -COPY --chown=node frontend/src/validators /usr/src/app/frontend/src/validators COPY --chown=node backend/package.json backend/ COPY --chown=node backend/package-lock.json backend/ COPY --chown=node backend/prisma/schema.prisma backend @@ -41,7 +39,7 @@ RUN chown node:node /usr/src/app -R WORKDIR /usr/src/app USER node -COPY --from=backend-build --chown=node /usr/src/app/frontend/src/backendTypes.d.ts ../frontend/src/backendTypes.d.ts +COPY --from=backend-build --chown=node /usr/src/app/frontend/src/shared/types.d.ts ../frontend/src/shared/types.d.ts COPY --from=backend-build --chown=node /usr/src/app/frontend/src/types.ts ../frontend/src/types.ts COPY --from=backend-build --chown=node /usr/src/app/backend/build . COPY --from=backend-build --chown=node /usr/src/app/backend/node_modules ./backend/node_modules diff --git a/backend/src/api-tests/crossSearch/get.test.ts b/backend/src/api-tests/crossSearch/get.test.ts index fb92d3d1..5fae6e26 100644 --- a/backend/src/api-tests/crossSearch/get.test.ts +++ b/backend/src/api-tests/crossSearch/get.test.ts @@ -1,4 +1,4 @@ -import type { CrossSearch } from '../../../../frontend/src/backendTypes' +import type { CrossSearch } from '../../../../frontend/src/shared/types' import { beforeAll, afterAll, describe, it, expect } from '@jest/globals' import { resetDatabase, send, resetDatabaseTimeout, login, logout } from '../utils' import { pool } from '../../utils/db' diff --git a/backend/src/api-tests/geonames-api.test.ts b/backend/src/api-tests/geonames-api.test.ts index eff1c075..baaf0285 100644 --- a/backend/src/api-tests/geonames-api.test.ts +++ b/backend/src/api-tests/geonames-api.test.ts @@ -1,5 +1,5 @@ import { afterAll, describe, it, expect } from '@jest/globals' -import type { ParsedGeoname } from '../../../frontend/src/backendTypes' +import type { ParsedGeoname } from '../../../frontend/src/shared/types' import { send } from './utils' import { pool } from '../utils/db' diff --git a/backend/src/api-tests/geonames-api/data.ts b/backend/src/api-tests/geonames-api/data.ts index 7772c50e..e8d19084 100644 --- a/backend/src/api-tests/geonames-api/data.ts +++ b/backend/src/api-tests/geonames-api/data.ts @@ -1,4 +1,4 @@ -import type { ParsedGeoname } from '../../../../frontend/src/backendTypes' +import type { ParsedGeoname } from '../../../../frontend/src/shared/types' export const localities: ParsedGeoname[] = [ { countryName: 'Finland', lat: 63.05484, lng: 24.75291, name: 'Kumpula' }, diff --git a/backend/src/api-tests/locality/contradictory_loc.test.ts b/backend/src/api-tests/locality/contradictory_loc.test.ts index a21ba41c..af9024b2 100644 --- a/backend/src/api-tests/locality/contradictory_loc.test.ts +++ b/backend/src/api-tests/locality/contradictory_loc.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { LocalityDetailsType } from '../../../../frontend/src/backendTypes' +import { LocalityDetailsType } from '../../../../frontend/src/shared/types' import { editedLocality, newLocalityBasis } from './data' import { login, resetDatabase, send, resetDatabaseTimeout } from '../utils' import { pool } from '../../utils/db' diff --git a/backend/src/api-tests/locality/create.test.ts b/backend/src/api-tests/locality/create.test.ts index a5669f20..06846728 100644 --- a/backend/src/api-tests/locality/create.test.ts +++ b/backend/src/api-tests/locality/create.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { newLocalityBasis } from './data' import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils' diff --git a/backend/src/api-tests/locality/data.ts b/backend/src/api-tests/locality/data.ts index dd3c788e..08b3f62e 100644 --- a/backend/src/api-tests/locality/data.ts +++ b/backend/src/api-tests/locality/data.ts @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { SpeciesDetailsType } from '../../../../frontend/src/shared/types' const references = [ { diff --git a/backend/src/api-tests/locality/update.test.ts b/backend/src/api-tests/locality/update.test.ts index 8ed1e96f..fdf23545 100644 --- a/backend/src/api-tests/locality/update.test.ts +++ b/backend/src/api-tests/locality/update.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { editedLocality } from './data' import { login, resetDatabase, send, testLogRows, resetDatabaseTimeout } from '../utils' diff --git a/backend/src/api-tests/reference/create.test.ts b/backend/src/api-tests/reference/create.test.ts index 6f036e40..9c50da11 100644 --- a/backend/src/api-tests/reference/create.test.ts +++ b/backend/src/api-tests/reference/create.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { ReferenceDetailsType } from '../../../../frontend/src/backendTypes' +import { ReferenceDetailsType } from '../../../../frontend/src/shared/types' //import { LogRow } from '../../services/write/writeOperations/types' import { newReferenceBasis, emptyReferenceBasis } from './data' import { login, logout, resetDatabase, send, /*testLogRows,*/ resetDatabaseTimeout, noPermError } from '../utils' diff --git a/backend/src/api-tests/reference/data.ts b/backend/src/api-tests/reference/data.ts index 7aeb40b7..c4fd32a2 100644 --- a/backend/src/api-tests/reference/data.ts +++ b/backend/src/api-tests/reference/data.ts @@ -1,4 +1,4 @@ -import { EditDataType, /*EditMetaData, Reference,*/ ReferenceDetailsType } from '../../../../frontend/src/backendTypes' +import { EditDataType, /*EditMetaData, Reference,*/ ReferenceDetailsType } from '../../../../frontend/src/shared/types' /* "ref_type_id": 1, "ref_type": "Journal"' diff --git a/backend/src/api-tests/reference/delete.test.ts b/backend/src/api-tests/reference/delete.test.ts index 52124f24..212de898 100644 --- a/backend/src/api-tests/reference/delete.test.ts +++ b/backend/src/api-tests/reference/delete.test.ts @@ -1,7 +1,7 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it } from '@jest/globals' import { pool } from '../../utils/db' import { login, logout, resetDatabase, resetDatabaseTimeout, send } from '../utils' -import { ReferenceDetailsType } from '../../../../frontend/src/backendTypes' +import { ReferenceDetailsType } from '../../../../frontend/src/shared/types' import Prisma from '../../../prisma/generated/now_test_client' import { newReferenceBasis } from './data' diff --git a/backend/src/api-tests/species/create.test.ts b/backend/src/api-tests/species/create.test.ts index 0bb41977..e95cfae0 100644 --- a/backend/src/api-tests/species/create.test.ts +++ b/backend/src/api-tests/species/create.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { newSpeciesBasis, newSpeciesWithoutRequiredFields } from './data' import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils' diff --git a/backend/src/api-tests/species/data.ts b/backend/src/api-tests/species/data.ts index 1c09a033..c7b13c71 100644 --- a/backend/src/api-tests/species/data.ts +++ b/backend/src/api-tests/species/data.ts @@ -1,4 +1,4 @@ -import { EditDataType, EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/shared/types' const references = [ { diff --git a/backend/src/api-tests/species/update.test.ts b/backend/src/api-tests/species/update.test.ts index 343580da..8b3ab223 100644 --- a/backend/src/api-tests/species/update.test.ts +++ b/backend/src/api-tests/species/update.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/backendTypes' +import { EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { login, resetDatabase, send, testLogRows, resetDatabaseTimeout } from '../utils' import { editedSpecies } from './data' diff --git a/backend/src/api-tests/timeBound/create.test.ts b/backend/src/api-tests/timeBound/create.test.ts index e3cd7ce2..b571dd04 100644 --- a/backend/src/api-tests/timeBound/create.test.ts +++ b/backend/src/api-tests/timeBound/create.test.ts @@ -2,7 +2,7 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/glo import { LogRow } from '../../services/write/writeOperations/types' import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils' import { newTimeBoundBasis } from './data' -import { TimeBoundDetailsType } from '../../../../frontend/src/backendTypes' +import { TimeBoundDetailsType } from '../../../../frontend/src/shared/types' import { pool } from '../../utils/db' let createdTimeBound: TimeBoundDetailsType | null = null diff --git a/backend/src/api-tests/timeBound/data.ts b/backend/src/api-tests/timeBound/data.ts index aae2520c..bc19a92d 100644 --- a/backend/src/api-tests/timeBound/data.ts +++ b/backend/src/api-tests/timeBound/data.ts @@ -1,4 +1,4 @@ -import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../../frontend/src/shared/types' const references = [ { diff --git a/backend/src/api-tests/timeBound/update.test.ts b/backend/src/api-tests/timeBound/update.test.ts index 69969bf5..1334ff0b 100644 --- a/backend/src/api-tests/timeBound/update.test.ts +++ b/backend/src/api-tests/timeBound/update.test.ts @@ -1,7 +1,7 @@ import { describe, it, beforeAll, afterAll, beforeEach, expect } from '@jest/globals' import { editedTimeBound, newTimeBoundBasis } from './data' import { send, resetDatabase, login, resetDatabaseTimeout, testLogRows } from '../utils' -import { TimeBoundDetailsType } from '../../../../frontend/src/backendTypes' +import { TimeBoundDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { pool } from '../../utils/db' diff --git a/backend/src/api-tests/timeUnit/create.test.ts b/backend/src/api-tests/timeUnit/create.test.ts index 85a47aeb..f4bcbbd2 100644 --- a/backend/src/api-tests/timeUnit/create.test.ts +++ b/backend/src/api-tests/timeUnit/create.test.ts @@ -1,5 +1,5 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals' -import { TimeUnitDetailsType } from '../../../../frontend/src/backendTypes' +import { TimeUnitDetailsType } from '../../../../frontend/src/shared/types' import { LogRow } from '../../services/write/writeOperations/types' import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils' import { newTimeUnitBasis } from './data' diff --git a/backend/src/api-tests/timeUnit/data.ts b/backend/src/api-tests/timeUnit/data.ts index 8104a9cf..67f12b9a 100644 --- a/backend/src/api-tests/timeUnit/data.ts +++ b/backend/src/api-tests/timeUnit/data.ts @@ -1,4 +1,4 @@ -import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../../frontend/src/shared/types' const references = [ { diff --git a/backend/src/api-tests/timeUnit/update.test.ts b/backend/src/api-tests/timeUnit/update.test.ts index 0f61708a..85d5af2e 100644 --- a/backend/src/api-tests/timeUnit/update.test.ts +++ b/backend/src/api-tests/timeUnit/update.test.ts @@ -1,5 +1,5 @@ import { describe, it, beforeEach, beforeAll, afterAll, expect } from '@jest/globals' -import { TimeUnitDetailsType, EditDataType, EditMetaData } from '../../../../frontend/src/backendTypes' +import { TimeUnitDetailsType, EditDataType, EditMetaData } from '../../../../frontend/src/shared/types' import { login, resetDatabase, send, resetDatabaseTimeout, testLogRows } from '../utils' import { editedTimeUnit, newTimeUnitBasis, conflictingTimeUnit } from './data' import { pool } from '../../utils/db' diff --git a/backend/src/api-tests/utils.ts b/backend/src/api-tests/utils.ts index b1c5e033..02f16bc3 100644 --- a/backend/src/api-tests/utils.ts +++ b/backend/src/api-tests/utils.ts @@ -1,7 +1,7 @@ import request from 'supertest' import app from '../app' import { expect } from '@jest/globals' -import { UpdateLog } from '../../../frontend/src/backendTypes' +import { UpdateLog } from '../../../frontend/src/shared/types' import { LogRow } from '../services/write/writeOperations/types' let token: string | null = null diff --git a/backend/src/middlewares/authenticator.ts b/backend/src/middlewares/authenticator.ts index 48f39955..8449fb82 100644 --- a/backend/src/middlewares/authenticator.ts +++ b/backend/src/middlewares/authenticator.ts @@ -2,7 +2,7 @@ import { Middleware } from '../types' import { SECRET } from '../utils/config' import jwt, { Secret, TokenExpiredError } from 'jsonwebtoken' import { nowDb } from '../utils/db' -import { User } from '../../../frontend/src/backendTypes' +import { User } from '../../../frontend/src/shared/types' import { Role } from '../../../frontend/src/types' /* diff --git a/backend/src/routes/geonames-api.ts b/backend/src/routes/geonames-api.ts index 34855410..949702d0 100644 --- a/backend/src/routes/geonames-api.ts +++ b/backend/src/routes/geonames-api.ts @@ -1,7 +1,7 @@ import { Router, Request } from 'express' import { GEONAMES_USERNAME } from '../utils/config' import { logger } from '../utils/logger' -import { GeonamesJSON, ParsedGeoname } from '../../../frontend/src/backendTypes' +import { GeonamesJSON, ParsedGeoname } from '../../../frontend/src/shared/types' const router = Router() diff --git a/backend/src/routes/locality.ts b/backend/src/routes/locality.ts index 999d18c9..515b1b67 100644 --- a/backend/src/routes/locality.ts +++ b/backend/src/routes/locality.ts @@ -1,7 +1,7 @@ import { Request, Router } from 'express' import { getAllLocalities, getLocalityDetails, validateEntireLocality } from '../services/locality' import { fixBigInt } from '../utils/common' -import { EditDataType, EditMetaData, LocalityDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, LocalityDetailsType } from '../../../frontend/src/shared/types' import { requireOneOf } from '../middlewares/authorizer' import { Role } from '../../../frontend/src/types' import { deleteLocality, writeLocality } from '../services/write/locality' diff --git a/backend/src/routes/reference.ts b/backend/src/routes/reference.ts index c0846776..d695f528 100644 --- a/backend/src/routes/reference.ts +++ b/backend/src/routes/reference.ts @@ -11,7 +11,7 @@ import { } from '../services/reference' import { requireOneOf } from '../middlewares/authorizer' import { Role } from '../../../frontend/src/types' -import { EditMetaData, ReferenceDetailsType, EditDataType } from '../../../frontend/src/backendTypes' +import { EditMetaData, ReferenceDetailsType, EditDataType } from '../../../frontend/src/shared/types' import { deleteReference, writeReference } from '../services/write/reference' const router = Router() diff --git a/backend/src/routes/species.ts b/backend/src/routes/species.ts index 5d760787..7bff23a4 100644 --- a/backend/src/routes/species.ts +++ b/backend/src/routes/species.ts @@ -1,7 +1,7 @@ import { Request, Router } from 'express' import { getAllSpecies, getSpeciesDetails, validateEntireSpecies } from '../services/species' import { fixBigInt } from '../utils/common' -import { EditMetaData, SpeciesDetailsType } from '../../../frontend/src/backendTypes' +import { EditMetaData, SpeciesDetailsType } from '../../../frontend/src/shared/types' import { deleteSpecies, writeSpecies } from '../services/write/species' import { requireOneOf } from '../middlewares/authorizer' import { Role } from '../../../frontend/src/types' diff --git a/backend/src/routes/timeBound.ts b/backend/src/routes/timeBound.ts index c997c191..0d62a638 100644 --- a/backend/src/routes/timeBound.ts +++ b/backend/src/routes/timeBound.ts @@ -1,5 +1,5 @@ import { Request, Router } from 'express' -import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../frontend/src/shared/types' import { Role } from '../../../frontend/src/types' import { requireOneOf } from '../middlewares/authorizer' import { diff --git a/backend/src/routes/timeUnit.ts b/backend/src/routes/timeUnit.ts index 9460982e..19ec55bc 100644 --- a/backend/src/routes/timeUnit.ts +++ b/backend/src/routes/timeUnit.ts @@ -1,5 +1,5 @@ import { Request, Router } from 'express' -import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../frontend/src/shared/types' import { Role } from '../../../frontend/src/types' import { requireOneOf } from '../middlewares/authorizer' import { getAllSequences } from '../services/sequence' diff --git a/backend/src/services/crossSearch.ts b/backend/src/services/crossSearch.ts index eae65d8c..41a7a52e 100644 --- a/backend/src/services/crossSearch.ts +++ b/backend/src/services/crossSearch.ts @@ -1,4 +1,4 @@ -import { User, CrossSearch } from '../../../frontend/src/backendTypes' +import { User, CrossSearch } from '../../../frontend/src/shared/types' import { Role } from '../../../frontend/src/types' import { nowDb } from '../utils/db' import { diff --git a/backend/src/services/locality.ts b/backend/src/services/locality.ts index 18ff2ff1..1c3696ff 100644 --- a/backend/src/services/locality.ts +++ b/backend/src/services/locality.ts @@ -1,4 +1,4 @@ -import { EditDataType, EditMetaData, LocalityDetailsType, User } from '../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, LocalityDetailsType, User } from '../../../frontend/src/shared/types' import { Role } from '../../../frontend/src/types' import { validateLocality } from '../../../frontend/src/validators/locality' import { ValidationObject, referenceValidator } from '../../../frontend/src/validators/validator' diff --git a/backend/src/services/localitySpeciesExport.ts b/backend/src/services/localitySpeciesExport.ts index 12db5e09..67cc6627 100644 --- a/backend/src/services/localitySpeciesExport.ts +++ b/backend/src/services/localitySpeciesExport.ts @@ -1,5 +1,5 @@ import { PoolConnection } from 'mariadb' -import { User } from '../../../frontend/src/backendTypes' +import { User } from '../../../frontend/src/shared/types' import { NOW_DB_NAME } from '../utils/config' import { Role } from '../../../frontend/src/types' import { pool } from '../utils/db' diff --git a/backend/src/services/reference.ts b/backend/src/services/reference.ts index 12d11849..3fa107e9 100644 --- a/backend/src/services/reference.ts +++ b/backend/src/services/reference.ts @@ -1,5 +1,5 @@ import { nowDb } from '../utils/db' -import { EditDataType, ReferenceDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, ReferenceDetailsType } from '../../../frontend/src/shared/types' import { ValidationObject } from '../../../frontend/src/validators/validator' import { validateReference } from '../../../frontend/src/validators/reference' import Prisma from '../../prisma/generated/now_test_client' diff --git a/backend/src/services/species.ts b/backend/src/services/species.ts index e36892c4..5cf07187 100644 --- a/backend/src/services/species.ts +++ b/backend/src/services/species.ts @@ -1,4 +1,4 @@ -import { EditDataType, EditMetaData, SpeciesDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, EditMetaData, SpeciesDetailsType } from '../../../frontend/src/shared/types' import { validateSpecies } from '../../../frontend/src/validators/species' import { ValidationObject, referenceValidator } from '../../../frontend/src/validators/validator' import Prisma from '../../prisma/generated/now_test_client' diff --git a/backend/src/services/timeBound.ts b/backend/src/services/timeBound.ts index 144ab0fa..daa8aba8 100644 --- a/backend/src/services/timeBound.ts +++ b/backend/src/services/timeBound.ts @@ -1,6 +1,6 @@ import { logDb, nowDb } from '../utils/db' import { validateTimeBound } from '../../../frontend/src/validators/timeBound' -import { TimeBoundDetailsType, EditDataType, EditMetaData } from '../../../frontend/src/backendTypes' +import { TimeBoundDetailsType, EditDataType, EditMetaData } from '../../../frontend/src/shared/types' import Prisma from '../../prisma/generated/now_test_client' import { ValidationObject, referenceValidator } from '../../../frontend/src/validators/validator' import { getReferenceDetails } from './reference' diff --git a/backend/src/services/timeUnit.ts b/backend/src/services/timeUnit.ts index 17b5b3d2..2bc0f624 100644 --- a/backend/src/services/timeUnit.ts +++ b/backend/src/services/timeUnit.ts @@ -1,5 +1,5 @@ import { logDb, nowDb } from '../utils/db' -import { EditDataType, TimeUnitDetailsType, EditMetaData } from '../../../frontend/src/backendTypes' +import { EditDataType, TimeUnitDetailsType, EditMetaData } from '../../../frontend/src/shared/types' import { ValidationObject, referenceValidator } from '../../../frontend/src/validators/validator' import { validateTimeUnit } from '../../../frontend/src/validators/timeUnit' import { getReferenceDetails } from './reference' diff --git a/backend/src/services/write/author.ts b/backend/src/services/write/author.ts index 5a1832a2..d7a82d40 100644 --- a/backend/src/services/write/author.ts +++ b/backend/src/services/write/author.ts @@ -1,4 +1,4 @@ -import { EditDataType, FixBigInt, ReferenceAuthorType } from '../../../../frontend/src/backendTypes' +import { EditDataType, FixBigInt, ReferenceAuthorType } from '../../../../frontend/src/shared/types' import { getFieldsOfTables, nowDb } from '../../utils/db' import { filterAllowedKeys } from './writeOperations/utils' import Prisma from '../../../prisma/generated/now_test_client' diff --git a/backend/src/services/write/journal.ts b/backend/src/services/write/journal.ts index 74658523..860706f9 100644 --- a/backend/src/services/write/journal.ts +++ b/backend/src/services/write/journal.ts @@ -1,4 +1,4 @@ -import { EditDataType, FixBigInt, ReferenceJournalType } from '../../../../frontend/src/backendTypes' +import { EditDataType, FixBigInt, ReferenceJournalType } from '../../../../frontend/src/shared/types' import { getFieldsOfTables, nowDb } from '../../utils/db' import { filterAllowedKeys } from './writeOperations/utils' import Prisma from '../../../prisma/generated/now_test_client' diff --git a/backend/src/services/write/locality.ts b/backend/src/services/write/locality.ts index 3b921286..2c717fe0 100644 --- a/backend/src/services/write/locality.ts +++ b/backend/src/services/write/locality.ts @@ -1,4 +1,4 @@ -import { EditDataType, LocalityDetailsType, Reference, User } from '../../../../frontend/src/backendTypes' +import { EditDataType, LocalityDetailsType, Reference, User } from '../../../../frontend/src/shared/types' import { NOW_DB_NAME } from '../../utils/config' import { WriteHandler } from './writeOperations/writeHandler' import { getFieldsOfTables } from '../../utils/db' diff --git a/backend/src/services/write/reference.ts b/backend/src/services/write/reference.ts index 59107793..f2690881 100644 --- a/backend/src/services/write/reference.ts +++ b/backend/src/services/write/reference.ts @@ -1,4 +1,4 @@ -import { EditDataType, FixBigInt, ReferenceDetailsType } from '../../../../frontend/src/backendTypes' +import { EditDataType, FixBigInt, ReferenceDetailsType } from '../../../../frontend/src/shared/types' import { getFieldsOfTables, nowDb } from '../../utils/db' import { getReferenceDetails } from '../reference' import { filterAllowedKeys, convertToPrismaDate } from './writeOperations/utils' diff --git a/backend/src/services/write/species.ts b/backend/src/services/write/species.ts index e7481134..fc7c965c 100644 --- a/backend/src/services/write/species.ts +++ b/backend/src/services/write/species.ts @@ -1,4 +1,4 @@ -import { EditDataType, FixBigInt, Reference, SpeciesDetailsType, User } from '../../../../frontend/src/backendTypes' +import { EditDataType, FixBigInt, Reference, SpeciesDetailsType, User } from '../../../../frontend/src/shared/types' import { NOW_DB_NAME } from '../../utils/config' import { WriteHandler } from './writeOperations/writeHandler' import { getFieldsOfTables } from '../../utils/db' diff --git a/backend/src/services/write/timeBound.ts b/backend/src/services/write/timeBound.ts index e4cdf0ea..f639ff4d 100644 --- a/backend/src/services/write/timeBound.ts +++ b/backend/src/services/write/timeBound.ts @@ -5,7 +5,7 @@ import { LocalityDetailsType, TimeUnitDetailsType, User, -} from '../../../../frontend/src/backendTypes' +} from '../../../../frontend/src/shared/types' import { NOW_DB_NAME } from '../../utils/config' import { WriteHandler } from './writeOperations/writeHandler' import { getFieldsOfTables } from '../../utils/db' diff --git a/backend/src/services/write/timeUnit.ts b/backend/src/services/write/timeUnit.ts index f264ecb2..1c871ebe 100644 --- a/backend/src/services/write/timeUnit.ts +++ b/backend/src/services/write/timeUnit.ts @@ -4,7 +4,7 @@ import { TimeUnitDetailsType, LocalityDetailsType, User, -} from '../../../../frontend/src/backendTypes' +} from '../../../../frontend/src/shared/types' import { NOW_DB_NAME } from '../../utils/config' import { WriteHandler } from './writeOperations/writeHandler' import { getFieldsOfTables } from '../../utils/db' diff --git a/backend/src/services/write/writeOperations/updateLogger/prepareUpdates.ts b/backend/src/services/write/writeOperations/updateLogger/prepareUpdates.ts index 8017bf52..0f613b5f 100644 --- a/backend/src/services/write/writeOperations/updateLogger/prepareUpdates.ts +++ b/backend/src/services/write/writeOperations/updateLogger/prepareUpdates.ts @@ -1,4 +1,4 @@ -import { Reference } from '../../../../../../frontend/src/backendTypes' +import { Reference } from '../../../../../../frontend/src/shared/types' import { COORDINATOR } from '../../../../utils/config' import { AllowedTables, ActionType, Item, LogRow, PrimaryTables, WriteItem, UpdateEntry } from '../types' import { WriteHandler } from '../writeHandler' diff --git a/backend/src/services/write/writeOperations/updateLogger/writeUpdates.ts b/backend/src/services/write/writeOperations/updateLogger/writeUpdates.ts index 86c8d518..74b95dfe 100644 --- a/backend/src/services/write/writeOperations/updateLogger/writeUpdates.ts +++ b/backend/src/services/write/writeOperations/updateLogger/writeUpdates.ts @@ -1,4 +1,4 @@ -import { Reference } from '../../../../../../frontend/src/backendTypes' +import { Reference } from '../../../../../../frontend/src/shared/types' import { LOG_DB_NAME } from '../../../../utils/config' import { LogRow, ActionType, AllowedTables, UpdateEntry } from '../types' import { WriteHandler } from '../writeHandler' diff --git a/backend/src/services/write/writeOperations/utils.ts b/backend/src/services/write/writeOperations/utils.ts index 17969eb3..56548b34 100644 --- a/backend/src/services/write/writeOperations/utils.ts +++ b/backend/src/services/write/writeOperations/utils.ts @@ -1,4 +1,4 @@ -import { Editable } from '../../../../../frontend/src/backendTypes' +import { Editable } from '../../../../../frontend/src/shared/types' import { DbWriteItem } from './databaseHandler' import { DbValue } from './types' diff --git a/backend/src/services/write/writeOperations/writeHandler.ts b/backend/src/services/write/writeOperations/writeHandler.ts index a798b0c3..9e586044 100644 --- a/backend/src/services/write/writeOperations/writeHandler.ts +++ b/backend/src/services/write/writeOperations/writeHandler.ts @@ -1,4 +1,4 @@ -import { Reference, RowState } from '../../../../../frontend/src/backendTypes' +import { Reference, RowState } from '../../../../../frontend/src/shared/types' import { logger } from '../../../utils/logger' import { logAllUpdates } from './updateLogger/prepareUpdates' import { DatabaseHandler, DbWriteItem } from './databaseHandler' diff --git a/backend/src/utils/cascadeHandler.ts b/backend/src/utils/cascadeHandler.ts index 05a69e9d..628c6c62 100644 --- a/backend/src/utils/cascadeHandler.ts +++ b/backend/src/utils/cascadeHandler.ts @@ -1,4 +1,4 @@ -import { EditDataType, TimeUnitDetailsType, TimeBoundDetailsType } from '../../../frontend/src/backendTypes' +import { EditDataType, TimeUnitDetailsType, TimeBoundDetailsType } from '../../../frontend/src/shared/types' import { nowDb } from './db' import { calculateLocalityMaxAge, calculateLocalityMinAge } from './ageCalculator' diff --git a/frontend/src/common.tsx b/frontend/src/common.tsx index caa358cb..831120fe 100644 --- a/frontend/src/common.tsx +++ b/frontend/src/common.tsx @@ -1,5 +1,5 @@ import { MRT_ColumnDef } from 'material-react-table' -import { Reference } from './backendTypes' +import { Reference } from './shared/types' import { Cell } from './components/commonComponents' export const formatLastLoginDate = (date: Date) => { diff --git a/frontend/src/components/CrossSearch/CrossSearchTable.tsx b/frontend/src/components/CrossSearch/CrossSearchTable.tsx index f91b934a..7e13d248 100644 --- a/frontend/src/components/CrossSearch/CrossSearchTable.tsx +++ b/frontend/src/components/CrossSearch/CrossSearchTable.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' -import { CrossSearch } from '@/backendTypes' +import { CrossSearch } from '@/shared/types' import { TableView } from '../TableView/TableView' import { useGetAllCrossSearchQuery } from '@/redux/crossSearchReducer' diff --git a/frontend/src/components/DetailView/Context/DetailContext.tsx b/frontend/src/components/DetailView/Context/DetailContext.tsx index 3b8d2299..167c4516 100644 --- a/frontend/src/components/DetailView/Context/DetailContext.tsx +++ b/frontend/src/components/DetailView/Context/DetailContext.tsx @@ -3,7 +3,7 @@ import { ReactNode, createContext, useState, JSX, useEffect, Context, useContext import { DropdownOption } from '../common/editingComponents' import { cloneDeep } from 'lodash-es' import { ValidationObject } from '@/validators/validator' -import { EditDataType } from '@/backendTypes' +import { EditDataType } from '@/shared/types' import { TextFieldOptions, OptionalRadioSelectionProps, diff --git a/frontend/src/components/DetailView/DetailView.tsx b/frontend/src/components/DetailView/DetailView.tsx index 83a42f4b..4810137a 100644 --- a/frontend/src/components/DetailView/DetailView.tsx +++ b/frontend/src/components/DetailView/DetailView.tsx @@ -15,7 +15,7 @@ import { DetailBrowser } from './DetailBrowser' import { StagingView } from './StagingView' import { ErrorBox, ReturnButton, WriteButton } from './components' import { ValidationObject } from '@/validators/validator' -import { EditDataType } from '@/backendTypes' +import { EditDataType } from '@/shared/types' import { usePageContext } from '../Page' export type TabType = { diff --git a/frontend/src/components/DetailView/StagingView.tsx b/frontend/src/components/DetailView/StagingView.tsx index bb586357..7dfb8a8c 100644 --- a/frontend/src/components/DetailView/StagingView.tsx +++ b/frontend/src/components/DetailView/StagingView.tsx @@ -4,7 +4,7 @@ import { SelectingTable } from './common/SelectingTable' import { useGetAllReferencesQuery } from '@/redux/referenceReducer' import { referenceTableColumns } from '@/common' import { MRT_RowData } from 'material-react-table' -import { Editable, Reference } from '@/backendTypes' +import { Editable, Reference } from '@/shared/types' import { EditableTable } from './common/EditableTable' export const StagingView = () => { diff --git a/frontend/src/components/DetailView/common/EditableTable.tsx b/frontend/src/components/DetailView/common/EditableTable.tsx index a1632dcf..fff86368 100644 --- a/frontend/src/components/DetailView/common/EditableTable.tsx +++ b/frontend/src/components/DetailView/common/EditableTable.tsx @@ -1,4 +1,4 @@ -import { EditDataType, RowState } from '@/backendTypes' +import { EditDataType, RowState } from '@/shared/types' import { CircularProgress, Box, Button } from '@mui/material' import { type MRT_ColumnDef, diff --git a/frontend/src/components/DetailView/common/EditingForm.tsx b/frontend/src/components/DetailView/common/EditingForm.tsx index dcfba71a..2fb7ebba 100644 --- a/frontend/src/components/DetailView/common/EditingForm.tsx +++ b/frontend/src/components/DetailView/common/EditingForm.tsx @@ -1,7 +1,7 @@ import { Box, TextField } from '@mui/material' import { EditingModal } from './EditingModal' import { useForm } from 'react-hook-form' -import { EditDataType, Editable } from '@/backendTypes' +import { EditDataType, Editable } from '@/shared/types' import { useDetailContext } from '../Context/DetailContext' export type EditingFormField = { name: string; label: string; required?: boolean } diff --git a/frontend/src/components/DetailView/common/SelectingTable.tsx b/frontend/src/components/DetailView/common/SelectingTable.tsx index 6aadfdd7..fdc27ea1 100644 --- a/frontend/src/components/DetailView/common/SelectingTable.tsx +++ b/frontend/src/components/DetailView/common/SelectingTable.tsx @@ -4,7 +4,7 @@ import { TableView } from '@/components/TableView/TableView' import { useDetailContext } from '../Context/DetailContext' import { useMemo } from 'react' import { Box, CircularProgress } from '@mui/material' -import { EditDataType } from '@/backendTypes' +import { EditDataType } from '@/shared/types' /* If editabletable has different type than selectingtable rows, diff --git a/frontend/src/components/DetailView/common/UpdateTab.tsx b/frontend/src/components/DetailView/common/UpdateTab.tsx index 46867443..f875e918 100644 --- a/frontend/src/components/DetailView/common/UpdateTab.tsx +++ b/frontend/src/components/DetailView/common/UpdateTab.tsx @@ -1,4 +1,4 @@ -import { ReferenceOfUpdate, UpdateLog } from '@/backendTypes' +import { ReferenceOfUpdate, UpdateLog } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { EditingModal } from '@/components/DetailView/common/EditingModal' import { SimpleTable } from '@/components/DetailView/common/SimpleTable' diff --git a/frontend/src/components/DetailView/common/defaultValues.ts b/frontend/src/components/DetailView/common/defaultValues.ts index 53c48cbd..6239d451 100644 --- a/frontend/src/components/DetailView/common/defaultValues.ts +++ b/frontend/src/components/DetailView/common/defaultValues.ts @@ -4,7 +4,7 @@ import { SpeciesDetailsType, TimeBoundDetailsType, TimeUnitDetailsType, -} from '@/backendTypes' +} from '@/shared/types' export const emptyLocality = { bfa_max: '', diff --git a/frontend/src/components/DetailView/common/editingComponents.tsx b/frontend/src/components/DetailView/common/editingComponents.tsx index 29cb0cc6..98dad2de 100644 --- a/frontend/src/components/DetailView/common/editingComponents.tsx +++ b/frontend/src/components/DetailView/common/editingComponents.tsx @@ -19,7 +19,7 @@ import { RegisterOptions, FieldValues, UseFormRegisterReturn, FieldErrors } from import { useDetailContext } from '../Context/DetailContext' import { DataValue } from './tabLayoutHelpers' import { modalStyle } from './misc' -import { EditDataType } from '@/backendTypes' +import { EditDataType } from '@/shared/types' import { calculateLocalityMinAge, calculateLocalityMaxAge } from '@/util/ageCalculator' import { checkFieldErrors } from './checkFieldErrors' diff --git a/frontend/src/components/DetailView/common/tabLayoutHelpers.tsx b/frontend/src/components/DetailView/common/tabLayoutHelpers.tsx index 8dd190ea..05415df4 100644 --- a/frontend/src/components/DetailView/common/tabLayoutHelpers.tsx +++ b/frontend/src/components/DetailView/common/tabLayoutHelpers.tsx @@ -1,7 +1,7 @@ import { Card, Typography, Box, Grid, Divider } from '@mui/material' import { ReactNode } from 'react' import { useDetailContext } from '../Context/DetailContext' -import { EditDataType } from '@/backendTypes' +import { EditDataType } from '@/shared/types' export const ArrayToTable = ({ array, half }: { array: Array>; half?: boolean }) => { const maxRowLength = Math.max(...array.map(row => row.length)) diff --git a/frontend/src/components/DetailView/components.tsx b/frontend/src/components/DetailView/components.tsx index 5580d9f5..e80b6db9 100644 --- a/frontend/src/components/DetailView/components.tsx +++ b/frontend/src/components/DetailView/components.tsx @@ -5,7 +5,7 @@ import ArrowBackIcon from '@mui/icons-material/ArrowBack' import SaveIcon from '@mui/icons-material/Save' import { usePageContext } from '../Page' import { useDetailContext } from './Context/DetailContext' -import { EditDataType, Editable, Reference } from '@/backendTypes' +import { EditDataType, Editable, Reference } from '@/shared/types' import { useState, useEffect, Fragment } from 'react' import { referenceValidator } from '@/validators/validator' diff --git a/frontend/src/components/Locality/LocalityDetails.tsx b/frontend/src/components/Locality/LocalityDetails.tsx index 0e36f6ef..b1323c87 100644 --- a/frontend/src/components/Locality/LocalityDetails.tsx +++ b/frontend/src/components/Locality/LocalityDetails.tsx @@ -16,7 +16,7 @@ import { MuseumTab } from './Tabs/MuseumTab' import { ProjectTab } from './Tabs/ProjectTab' import { SpeciesTab } from './Tabs/SpeciesTab' import { TaphonomyTab } from './Tabs/TaphonomyTab' -import { EditDataType, LocalityDetailsType, ValidationErrors } from '@/backendTypes' +import { EditDataType, LocalityDetailsType, ValidationErrors } from '@/shared/types' import { validateLocality } from '@/validators/locality' import { UpdateTab } from '../DetailView/common/UpdateTab' import { emptyLocality } from '../DetailView/common/defaultValues' diff --git a/frontend/src/components/Locality/LocalityTable.tsx b/frontend/src/components/Locality/LocalityTable.tsx index 6ee49691..712ed8a4 100644 --- a/frontend/src/components/Locality/LocalityTable.tsx +++ b/frontend/src/components/Locality/LocalityTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllLocalitiesQuery, useGetLocalitySpeciesListMutation } from '../../redux/localityReducer' -import { Locality } from '@/backendTypes' +import { Locality } from '@/shared/types' import { TableView } from '../TableView/TableView' import { useNotify } from '@/hooks/notification' diff --git a/frontend/src/components/Locality/Tabs/AgeTab.tsx b/frontend/src/components/Locality/Tabs/AgeTab.tsx index c201fcd5..cb734f1c 100644 --- a/frontend/src/components/Locality/Tabs/AgeTab.tsx +++ b/frontend/src/components/Locality/Tabs/AgeTab.tsx @@ -1,4 +1,4 @@ -import { LocalityDetailsType, TimeUnitDetailsType } from '@/backendTypes' +import { LocalityDetailsType, TimeUnitDetailsType } from '@/shared/types' import { BasisForAgeSelection } from '@/components/DetailView/common/editingComponents' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' diff --git a/frontend/src/components/Locality/Tabs/ArchaeologyTab.tsx b/frontend/src/components/Locality/Tabs/ArchaeologyTab.tsx index 2bccbc81..aaae2129 100644 --- a/frontend/src/components/Locality/Tabs/ArchaeologyTab.tsx +++ b/frontend/src/components/Locality/Tabs/ArchaeologyTab.tsx @@ -1,4 +1,4 @@ -import { LocalityDetailsType } from '@/backendTypes' +import { LocalityDetailsType } from '@/shared/types' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/Locality/Tabs/ClimateTab.tsx b/frontend/src/components/Locality/Tabs/ClimateTab.tsx index 95feceb6..ab114673 100644 --- a/frontend/src/components/Locality/Tabs/ClimateTab.tsx +++ b/frontend/src/components/Locality/Tabs/ClimateTab.tsx @@ -1,4 +1,4 @@ -import { LocalityDetailsType } from '@/backendTypes' +import { LocalityDetailsType } from '@/shared/types' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/Locality/Tabs/EcometricsTab.tsx b/frontend/src/components/Locality/Tabs/EcometricsTab.tsx index d540aaf2..0700c8cf 100644 --- a/frontend/src/components/Locality/Tabs/EcometricsTab.tsx +++ b/frontend/src/components/Locality/Tabs/EcometricsTab.tsx @@ -1,4 +1,4 @@ -import { LocalityDetailsType } from '@/backendTypes' +import { LocalityDetailsType } from '@/shared/types' import { ArrayFrame } from '../../DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { calculateMeanHypsodonty } from '@/types' diff --git a/frontend/src/components/Locality/Tabs/LithologyTab.tsx b/frontend/src/components/Locality/Tabs/LithologyTab.tsx index 5912a833..b3b21fa0 100644 --- a/frontend/src/components/Locality/Tabs/LithologyTab.tsx +++ b/frontend/src/components/Locality/Tabs/LithologyTab.tsx @@ -1,4 +1,4 @@ -import { Editable, LocalityDetailsType, SedimentaryStructure, SedimentaryStructureValues } from '@/backendTypes' +import { Editable, LocalityDetailsType, SedimentaryStructure, SedimentaryStructureValues } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { emptyOption } from '@/components/DetailView/common/misc' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Locality/Tabs/LocalityTab.tsx b/frontend/src/components/Locality/Tabs/LocalityTab.tsx index cc575612..557a8bae 100644 --- a/frontend/src/components/Locality/Tabs/LocalityTab.tsx +++ b/frontend/src/components/Locality/Tabs/LocalityTab.tsx @@ -1,4 +1,4 @@ -import { Editable, LocalityDetailsType, LocalitySynonym } from '@/backendTypes' +import { Editable, LocalityDetailsType, LocalitySynonym } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { Grouped, ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { Box, TextField } from '@mui/material' diff --git a/frontend/src/components/Locality/Tabs/MuseumTab.tsx b/frontend/src/components/Locality/Tabs/MuseumTab.tsx index c0761a65..ee34c6ef 100644 --- a/frontend/src/components/Locality/Tabs/MuseumTab.tsx +++ b/frontend/src/components/Locality/Tabs/MuseumTab.tsx @@ -1,4 +1,4 @@ -import { Editable, LocalityDetailsType, Museum } from '@/backendTypes' +import { Editable, LocalityDetailsType, Museum } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Locality/Tabs/ProjectTab.tsx b/frontend/src/components/Locality/Tabs/ProjectTab.tsx index b4f75276..3baf88f4 100644 --- a/frontend/src/components/Locality/Tabs/ProjectTab.tsx +++ b/frontend/src/components/Locality/Tabs/ProjectTab.tsx @@ -1,4 +1,4 @@ -import { Editable, LocalityDetailsType, Project } from '@/backendTypes' +import { Editable, LocalityDetailsType, Project } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Locality/Tabs/SpeciesTab.tsx b/frontend/src/components/Locality/Tabs/SpeciesTab.tsx index 42047723..45c04d4d 100644 --- a/frontend/src/components/Locality/Tabs/SpeciesTab.tsx +++ b/frontend/src/components/Locality/Tabs/SpeciesTab.tsx @@ -1,4 +1,4 @@ -import { LocalityDetailsType, LocalitySpecies, Species, SpeciesDetailsType } from '@/backendTypes' +import { LocalityDetailsType, LocalitySpecies, Species, SpeciesDetailsType } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { EditingForm } from '@/components/DetailView/common/EditingForm' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Locality/Tabs/TaphonomyTab.tsx b/frontend/src/components/Locality/Tabs/TaphonomyTab.tsx index 02b6b527..1edce309 100644 --- a/frontend/src/components/Locality/Tabs/TaphonomyTab.tsx +++ b/frontend/src/components/Locality/Tabs/TaphonomyTab.tsx @@ -1,4 +1,4 @@ -import { Editable, LocalityDetailsType, CollectingMethod } from '@/backendTypes' +import { Editable, LocalityDetailsType, CollectingMethod } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { Grouped, ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { MRT_ColumnDef } from 'material-react-table' diff --git a/frontend/src/components/Map/CoordinateSelectionMap.tsx b/frontend/src/components/Map/CoordinateSelectionMap.tsx index 682165f6..77b90b6d 100644 --- a/frontend/src/components/Map/CoordinateSelectionMap.tsx +++ b/frontend/src/components/Map/CoordinateSelectionMap.tsx @@ -5,7 +5,7 @@ import 'leaflet/dist/leaflet.css' import markerIconPng from 'leaflet/dist/images/marker-icon.png' import { Icon } from 'leaflet' import { useLazyGetGeonamesQuery } from '../../redux/geonamesReducer' -import { ParsedGeoname } from '../../backendTypes' +import { ParsedGeoname } from '../../shared/types' type Coordinate = { lat: number diff --git a/frontend/src/components/Person/PersonDetails.tsx b/frontend/src/components/Person/PersonDetails.tsx index ec556c3c..32a0a9ff 100644 --- a/frontend/src/components/Person/PersonDetails.tsx +++ b/frontend/src/components/Person/PersonDetails.tsx @@ -4,7 +4,7 @@ import { CircularProgress } from '@mui/material' import { DetailView, TabType } from '../DetailView/DetailView' import { PersonTab } from './Tabs/PersonTab' import { useUser } from '@/hooks/user' -import { EditDataType, PersonDetailsType } from '@/backendTypes' +import { EditDataType, PersonDetailsType } from '@/shared/types' export const PersonDetails = () => { const { id: idFromUrl } = useParams() diff --git a/frontend/src/components/Person/PersonTable.tsx b/frontend/src/components/Person/PersonTable.tsx index 669399f9..2254c824 100644 --- a/frontend/src/components/Person/PersonTable.tsx +++ b/frontend/src/components/Person/PersonTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllPersonsQuery } from '../../redux/personReducer' -import { PersonDetailsType } from '@/backendTypes' +import { PersonDetailsType } from '@/shared/types' import { TableView } from '../TableView/TableView' import { formatLastLoginDate } from '@/common' diff --git a/frontend/src/components/Person/Tabs/PersonTab.tsx b/frontend/src/components/Person/Tabs/PersonTab.tsx index 6f6915fe..2ea6b4a4 100644 --- a/frontend/src/components/Person/Tabs/PersonTab.tsx +++ b/frontend/src/components/Person/Tabs/PersonTab.tsx @@ -1,4 +1,4 @@ -import { PersonDetailsType } from '@/backendTypes' +import { PersonDetailsType } from '@/shared/types' import { ArrayFrame, Grouped } from '../../DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { formatLastLoginDate } from '@/common' diff --git a/frontend/src/components/Project/ProjectTable.tsx b/frontend/src/components/Project/ProjectTable.tsx index bd0c52ed..972bb3f5 100644 --- a/frontend/src/components/Project/ProjectTable.tsx +++ b/frontend/src/components/Project/ProjectTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllProjectsQuery } from '../../redux/projectReducer' -import { Project } from '@/backendTypes' +import { Project } from '@/shared/types' import { TableView } from '../TableView/TableView' export const ProjectTable = ({ selectorFn }: { selectorFn?: (id: Project) => void }) => { diff --git a/frontend/src/components/Project/Tabs/CoordinatorTab.tsx b/frontend/src/components/Project/Tabs/CoordinatorTab.tsx index 45fa0e4e..49827393 100644 --- a/frontend/src/components/Project/Tabs/CoordinatorTab.tsx +++ b/frontend/src/components/Project/Tabs/CoordinatorTab.tsx @@ -1,4 +1,4 @@ -import { ProjectDetailsType, ProjectPeople } from '@/backendTypes' +import { ProjectDetailsType, ProjectPeople } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { ArrayFrame, Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { MRT_ColumnDef } from 'material-react-table' diff --git a/frontend/src/components/Reference/ReferenceDetails.tsx b/frontend/src/components/Reference/ReferenceDetails.tsx index a5dd55e7..56e8cf7a 100644 --- a/frontend/src/components/Reference/ReferenceDetails.tsx +++ b/frontend/src/components/Reference/ReferenceDetails.tsx @@ -7,7 +7,7 @@ import { useGetReferenceDetailsQuery, useDeleteReferenceMutation, } from '@/redux/referenceReducer' -import { EditDataType, ReferenceDetailsType, ValidationErrors } from '@/backendTypes' +import { EditDataType, ReferenceDetailsType, ValidationErrors } from '@/shared/types' import { emptyReference } from '../DetailView/common/defaultValues' import { validateReference } from '@/validators/reference' import { useNotify } from '@/hooks/notification' diff --git a/frontend/src/components/Reference/ReferenceTable.tsx b/frontend/src/components/Reference/ReferenceTable.tsx index 41f8e4be..ea10a4ac 100644 --- a/frontend/src/components/Reference/ReferenceTable.tsx +++ b/frontend/src/components/Reference/ReferenceTable.tsx @@ -1,5 +1,5 @@ import { useGetAllReferencesQuery } from '../../redux/referenceReducer' -import { Reference } from '@/backendTypes' +import { Reference } from '@/shared/types' import { TableView } from '../TableView/TableView' import { referenceTableColumns } from '@/common' diff --git a/frontend/src/components/Reference/Tabs/AuthorTab.tsx b/frontend/src/components/Reference/Tabs/AuthorTab.tsx index 2e198323..798f72ef 100644 --- a/frontend/src/components/Reference/Tabs/AuthorTab.tsx +++ b/frontend/src/components/Reference/Tabs/AuthorTab.tsx @@ -1,5 +1,5 @@ import React, { useEffect } from 'react' -import { ReferenceDetailsType, ReferenceAuthorType, RowState, EditDataType } from '@/backendTypes' +import { ReferenceDetailsType, ReferenceAuthorType, RowState, EditDataType } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { EditingForm } from '@/components/DetailView/common/EditingForm' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Reference/Tabs/JournalTab.tsx b/frontend/src/components/Reference/Tabs/JournalTab.tsx index 1ee4cfce..e6ad27a8 100644 --- a/frontend/src/components/Reference/Tabs/JournalTab.tsx +++ b/frontend/src/components/Reference/Tabs/JournalTab.tsx @@ -1,5 +1,5 @@ /* eslint-disable react/prop-types */ -import { ReferenceDetailsType, ReferenceJournalType } from '@/backendTypes' +import { ReferenceDetailsType, ReferenceJournalType } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { EditingForm } from '@/components/DetailView/common/EditingForm' import { SelectingTable } from '@/components/DetailView/common/SelectingTable' diff --git a/frontend/src/components/Reference/Tabs/ReferenceTab.tsx b/frontend/src/components/Reference/Tabs/ReferenceTab.tsx index 25ea400e..fa86be68 100644 --- a/frontend/src/components/Reference/Tabs/ReferenceTab.tsx +++ b/frontend/src/components/Reference/Tabs/ReferenceTab.tsx @@ -1,4 +1,4 @@ -import { ReferenceDetailsType } from '@/backendTypes' +import { ReferenceDetailsType } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers' import { useGetReferenceTypesQuery } from '@/redux/referenceReducer' diff --git a/frontend/src/components/Region/RegionTable.tsx b/frontend/src/components/Region/RegionTable.tsx index cd0414e2..c4f98bc8 100644 --- a/frontend/src/components/Region/RegionTable.tsx +++ b/frontend/src/components/Region/RegionTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllRegionsQuery } from '../../redux/regionReducer' -import { Region } from '@/backendTypes' +import { Region } from '@/shared/types' import { TableView } from '../TableView/TableView' export const RegionTable = ({ selectorFn }: { selectorFn?: (id: Region) => void }) => { diff --git a/frontend/src/components/Region/Tabs/CoordinatorTab.tsx b/frontend/src/components/Region/Tabs/CoordinatorTab.tsx index a566a7b6..7d757210 100644 --- a/frontend/src/components/Region/Tabs/CoordinatorTab.tsx +++ b/frontend/src/components/Region/Tabs/CoordinatorTab.tsx @@ -1,4 +1,4 @@ -import { RegionDetails, RegionCoordinator, RegionCountry } from '@/backendTypes' +import { RegionDetails, RegionCoordinator, RegionCountry } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { MRT_ColumnDef } from 'material-react-table' diff --git a/frontend/src/components/Sequence/SequenceTable.tsx b/frontend/src/components/Sequence/SequenceTable.tsx index db1a5af8..1bdd5fd0 100644 --- a/frontend/src/components/Sequence/SequenceTable.tsx +++ b/frontend/src/components/Sequence/SequenceTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetSequencesQuery } from '../../redux/timeUnitReducer' -import { Sequence } from '@/backendTypes' +import { Sequence } from '@/shared/types' import { TableView } from '../TableView/TableView' export const SequenceTable = ({ selectorFn }: { selectorFn?: (id: Sequence) => void }) => { diff --git a/frontend/src/components/Species/SpeciesDetails.tsx b/frontend/src/components/Species/SpeciesDetails.tsx index 01954325..be1ef477 100644 --- a/frontend/src/components/Species/SpeciesDetails.tsx +++ b/frontend/src/components/Species/SpeciesDetails.tsx @@ -11,7 +11,7 @@ import { SynonymTab } from './Tabs/SynonymTab' import { TaxonomyTab } from './Tabs/TaxonomyTab' import { TeethTab } from './Tabs/TeethTab' import { UpdateTab } from '../DetailView/common/UpdateTab' -import { EditDataType, SpeciesDetailsType, ValidationErrors } from '@/backendTypes' +import { EditDataType, SpeciesDetailsType, ValidationErrors } from '@/shared/types' import { validateSpecies } from '@/validators/species' import { emptySpecies } from '../DetailView/common/defaultValues' import { useNotify } from '@/hooks/notification' diff --git a/frontend/src/components/Species/SpeciesTable.tsx b/frontend/src/components/Species/SpeciesTable.tsx index d588a8b3..5650c6ee 100644 --- a/frontend/src/components/Species/SpeciesTable.tsx +++ b/frontend/src/components/Species/SpeciesTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllSpeciesQuery } from '../../redux/speciesReducer' -import { Species } from '@/backendTypes' +import { Species } from '@/shared/types' import { TableView } from '../TableView/TableView' export const SpeciesTable = ({ selectorFn }: { selectorFn?: (id: Species) => void }) => { diff --git a/frontend/src/components/Species/Tabs/DietTab.tsx b/frontend/src/components/Species/Tabs/DietTab.tsx index c5b07edc..ba32259f 100644 --- a/frontend/src/components/Species/Tabs/DietTab.tsx +++ b/frontend/src/components/Species/Tabs/DietTab.tsx @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '@/backendTypes' +import { SpeciesDetailsType } from '@/shared/types' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/Species/Tabs/LocalitySpeciesTab.tsx b/frontend/src/components/Species/Tabs/LocalitySpeciesTab.tsx index efab84bf..4fe303e4 100644 --- a/frontend/src/components/Species/Tabs/LocalitySpeciesTab.tsx +++ b/frontend/src/components/Species/Tabs/LocalitySpeciesTab.tsx @@ -1,4 +1,4 @@ -import { Editable, SpeciesDetailsType, SpeciesLocality } from '@/backendTypes' +import { Editable, SpeciesDetailsType, SpeciesLocality } from '@/shared/types' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { EditingModal } from '@/components/DetailView/common/EditingModal' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' diff --git a/frontend/src/components/Species/Tabs/LocalityTab.tsx b/frontend/src/components/Species/Tabs/LocalityTab.tsx index ebc99a5e..01167b02 100644 --- a/frontend/src/components/Species/Tabs/LocalityTab.tsx +++ b/frontend/src/components/Species/Tabs/LocalityTab.tsx @@ -1,4 +1,4 @@ -import { Editable, Locality, SpeciesDetailsType } from '@/backendTypes' +import { Editable, Locality, SpeciesDetailsType } from '@/shared/types' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { EditableTable } from '@/components/DetailView/common/EditableTable' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/Species/Tabs/LocomotionTab.tsx b/frontend/src/components/Species/Tabs/LocomotionTab.tsx index 16d6bf86..8090333d 100644 --- a/frontend/src/components/Species/Tabs/LocomotionTab.tsx +++ b/frontend/src/components/Species/Tabs/LocomotionTab.tsx @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '@/backendTypes' +import { SpeciesDetailsType } from '@/shared/types' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { emptyOption } from '@/components/DetailView/common/misc' diff --git a/frontend/src/components/Species/Tabs/SizeTab.tsx b/frontend/src/components/Species/Tabs/SizeTab.tsx index 6c93053a..11d8631b 100644 --- a/frontend/src/components/Species/Tabs/SizeTab.tsx +++ b/frontend/src/components/Species/Tabs/SizeTab.tsx @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '@/backendTypes' +import { SpeciesDetailsType } from '@/shared/types' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@components/DetailView/Context/DetailContext' import { emptyOption } from '@/components/DetailView/common/misc' diff --git a/frontend/src/components/Species/Tabs/SynonymTab.tsx b/frontend/src/components/Species/Tabs/SynonymTab.tsx index 95565cfd..560e7317 100644 --- a/frontend/src/components/Species/Tabs/SynonymTab.tsx +++ b/frontend/src/components/Species/Tabs/SynonymTab.tsx @@ -1,4 +1,4 @@ -import { Editable, EditDataType, Species, SpeciesDetailsType, SpeciesSynonym } from '@/backendTypes' +import { Editable, EditDataType, Species, SpeciesDetailsType, SpeciesSynonym } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers' import { MRT_ColumnDef } from 'material-react-table' diff --git a/frontend/src/components/Species/Tabs/TaxonomyTab.tsx b/frontend/src/components/Species/Tabs/TaxonomyTab.tsx index 3ec1ca3b..7dee8c94 100644 --- a/frontend/src/components/Species/Tabs/TaxonomyTab.tsx +++ b/frontend/src/components/Species/Tabs/TaxonomyTab.tsx @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '@/backendTypes' +import { SpeciesDetailsType } from '@/shared/types' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { emptyOption } from '@/components/DetailView/common/misc' diff --git a/frontend/src/components/Species/Tabs/TeethTab.tsx b/frontend/src/components/Species/Tabs/TeethTab.tsx index 28e4c314..4dfca7cc 100644 --- a/frontend/src/components/Species/Tabs/TeethTab.tsx +++ b/frontend/src/components/Species/Tabs/TeethTab.tsx @@ -1,4 +1,4 @@ -import { SpeciesDetailsType } from '@/backendTypes' +import { SpeciesDetailsType } from '@/shared/types' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/TimeBound/Tabs/BoundTab.tsx b/frontend/src/components/TimeBound/Tabs/BoundTab.tsx index 4745602e..d044398f 100644 --- a/frontend/src/components/TimeBound/Tabs/BoundTab.tsx +++ b/frontend/src/components/TimeBound/Tabs/BoundTab.tsx @@ -1,4 +1,4 @@ -import { TimeBoundDetailsType } from '@/backendTypes' +import { TimeBoundDetailsType } from '@/shared/types' import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/TimeBound/Tabs/TimeUnitTab.tsx b/frontend/src/components/TimeBound/Tabs/TimeUnitTab.tsx index fbd446d5..489af28c 100644 --- a/frontend/src/components/TimeBound/Tabs/TimeUnitTab.tsx +++ b/frontend/src/components/TimeBound/Tabs/TimeUnitTab.tsx @@ -1,4 +1,4 @@ -import { TimeUnit, TimeBoundDetailsType } from '@/backendTypes' +import { TimeUnit, TimeBoundDetailsType } from '@/shared/types' import { useGetTimeBoundTimeUnitsQuery } from '@/redux/timeBoundReducer' import { CircularProgress } from '@mui/material' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/TimeBound/TimeBoundDetails.tsx b/frontend/src/components/TimeBound/TimeBoundDetails.tsx index 8486df83..4380ce20 100644 --- a/frontend/src/components/TimeBound/TimeBoundDetails.tsx +++ b/frontend/src/components/TimeBound/TimeBoundDetails.tsx @@ -1,4 +1,4 @@ -import { EditDataType, TimeBoundDetailsType, ValidationErrors } from '@/backendTypes.js' +import { EditDataType, TimeBoundDetailsType, ValidationErrors } from '@/shared/types.js' import { useNotify } from '@/hooks/notification.ts' import { CircularProgress } from '@mui/material' import { useEffect } from 'react' diff --git a/frontend/src/components/TimeBound/TimeBoundTable.tsx b/frontend/src/components/TimeBound/TimeBoundTable.tsx index bb41c558..ca2cf3ab 100644 --- a/frontend/src/components/TimeBound/TimeBoundTable.tsx +++ b/frontend/src/components/TimeBound/TimeBoundTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllTimeBoundsQuery } from '../../redux/timeBoundReducer' -import { TimeBound } from '@/backendTypes' +import { TimeBound } from '@/shared/types' import { TableView } from '../TableView/TableView' export const TimeBoundTable = ({ diff --git a/frontend/src/components/TimeUnit/Tabs/LocalityTab.tsx b/frontend/src/components/TimeUnit/Tabs/LocalityTab.tsx index c1f410af..840e0436 100644 --- a/frontend/src/components/TimeUnit/Tabs/LocalityTab.tsx +++ b/frontend/src/components/TimeUnit/Tabs/LocalityTab.tsx @@ -1,4 +1,4 @@ -import { TimeUnitDetailsType } from '@/backendTypes' +import { TimeUnitDetailsType } from '@/shared/types' import { useGetTimeUnitLocalitiesQuery } from '@/redux/timeUnitReducer' import { CircularProgress } from '@mui/material' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' diff --git a/frontend/src/components/TimeUnit/Tabs/TimeUnitTab.tsx b/frontend/src/components/TimeUnit/Tabs/TimeUnitTab.tsx index a69848d7..0ac44d23 100644 --- a/frontend/src/components/TimeUnit/Tabs/TimeUnitTab.tsx +++ b/frontend/src/components/TimeUnit/Tabs/TimeUnitTab.tsx @@ -1,4 +1,4 @@ -import { SequenceDetailsType, TimeBoundDetailsType, TimeUnitDetailsType } from '@/backendTypes' +import { SequenceDetailsType, TimeBoundDetailsType, TimeUnitDetailsType } from '@/shared/types' import { FieldWithTableSelection, TimeBoundSelection } from '@/components/DetailView/common/editingComponents' import { emptyOption } from '@/components/DetailView/common/misc' import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers' diff --git a/frontend/src/components/TimeUnit/TimeUnitDetails.tsx b/frontend/src/components/TimeUnit/TimeUnitDetails.tsx index 1f9eb494..a4018ead 100644 --- a/frontend/src/components/TimeUnit/TimeUnitDetails.tsx +++ b/frontend/src/components/TimeUnit/TimeUnitDetails.tsx @@ -1,4 +1,4 @@ -import { EditDataType, TimeUnitDetailsType, ValidationErrors } from '@/backendTypes' +import { EditDataType, TimeUnitDetailsType, ValidationErrors } from '@/shared/types' import { useNotify } from '@/hooks/notification' import { CircularProgress } from '@mui/material' import { useEffect } from 'react' diff --git a/frontend/src/components/TimeUnit/TimeUnitTable.tsx b/frontend/src/components/TimeUnit/TimeUnitTable.tsx index b3476049..10de8444 100644 --- a/frontend/src/components/TimeUnit/TimeUnitTable.tsx +++ b/frontend/src/components/TimeUnit/TimeUnitTable.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { type MRT_ColumnDef } from 'material-react-table' import { useGetAllTimeUnitsQuery } from '../../redux/timeUnitReducer' -import { TimeUnit } from '@/backendTypes' +import { TimeUnit } from '@/shared/types' import { TableView } from '../TableView/TableView' export const TimeUnitTable = ({ selectorFn }: { selectorFn?: (newTimeUnit: TimeUnit) => void }) => { diff --git a/frontend/src/components/pages.tsx b/frontend/src/components/pages.tsx index 57a992dd..3993a9c7 100644 --- a/frontend/src/components/pages.tsx +++ b/frontend/src/components/pages.tsx @@ -7,7 +7,7 @@ import { PersonDetailsType, ProjectDetailsType, RegionDetails as RegionDetailsType, -} from '@/backendTypes' +} from '@/shared/types' import { CrossSearchTable } from './CrossSearch/CrossSearchTable' import { LocalityDetails } from './Locality/LocalityDetails' import { LocalityTable } from './Locality/LocalityTable' diff --git a/frontend/src/redux/crossSearchReducer.ts b/frontend/src/redux/crossSearchReducer.ts index a7e8db49..4584eeba 100644 --- a/frontend/src/redux/crossSearchReducer.ts +++ b/frontend/src/redux/crossSearchReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { CrossSearch } from '@/backendTypes' +import { CrossSearch } from '@/shared/types' const crossSearchApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/geonamesReducer.ts b/frontend/src/redux/geonamesReducer.ts index a6059f88..ef98f2d8 100644 --- a/frontend/src/redux/geonamesReducer.ts +++ b/frontend/src/redux/geonamesReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { ParsedGeoname } from '../backendTypes' +import { ParsedGeoname } from '../shared/types' const geonamesApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/localityReducer.ts b/frontend/src/redux/localityReducer.ts index fcf9ffe4..b0996157 100644 --- a/frontend/src/redux/localityReducer.ts +++ b/frontend/src/redux/localityReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { EditDataType, Locality, LocalityDetailsType } from '@/backendTypes' +import { EditDataType, Locality, LocalityDetailsType } from '@/shared/types' const localitiesApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/museumReducer.ts b/frontend/src/redux/museumReducer.ts index 397256fa..7d125466 100644 --- a/frontend/src/redux/museumReducer.ts +++ b/frontend/src/redux/museumReducer.ts @@ -1,4 +1,4 @@ -import { Museum } from '@/backendTypes' +import { Museum } from '@/shared/types' import { api } from './api' const museumsApi = api.injectEndpoints({ diff --git a/frontend/src/redux/personReducer.ts b/frontend/src/redux/personReducer.ts index 3f20d342..abe799e9 100644 --- a/frontend/src/redux/personReducer.ts +++ b/frontend/src/redux/personReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { PersonDetailsType } from '@/backendTypes' +import { PersonDetailsType } from '@/shared/types' const personsApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/projectReducer.ts b/frontend/src/redux/projectReducer.ts index 00100ef6..21d1d2cb 100644 --- a/frontend/src/redux/projectReducer.ts +++ b/frontend/src/redux/projectReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { Project, ProjectDetailsType } from '@/backendTypes' +import { Project, ProjectDetailsType } from '@/shared/types' const projectsApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/referenceReducer.ts b/frontend/src/redux/referenceReducer.ts index d45feeb6..9f82a587 100644 --- a/frontend/src/redux/referenceReducer.ts +++ b/frontend/src/redux/referenceReducer.ts @@ -6,7 +6,7 @@ import { ReferenceDetailsType, ReferenceJournalType, ReferenceType, -} from '@/backendTypes' +} from '@/shared/types' const referencesApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/regionReducer.ts b/frontend/src/redux/regionReducer.ts index 75b5ce07..ffc85be0 100644 --- a/frontend/src/redux/regionReducer.ts +++ b/frontend/src/redux/regionReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { Region, RegionDetails } from '@/backendTypes' +import { Region, RegionDetails } from '@/shared/types' const regionsApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/sedimentaryStructureReducer.ts b/frontend/src/redux/sedimentaryStructureReducer.ts index fb085434..3220229d 100644 --- a/frontend/src/redux/sedimentaryStructureReducer.ts +++ b/frontend/src/redux/sedimentaryStructureReducer.ts @@ -1,4 +1,4 @@ -import { SedimentaryStructureValues } from '@/backendTypes' +import { SedimentaryStructureValues } from '@/shared/types' import { api } from './api' const sedimentaryStructuresApi = api.injectEndpoints({ diff --git a/frontend/src/redux/sequenceReducer.ts b/frontend/src/redux/sequenceReducer.ts index 980a0b93..612daa7a 100644 --- a/frontend/src/redux/sequenceReducer.ts +++ b/frontend/src/redux/sequenceReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { Sequence, SequenceDetailsType } from '@/backendTypes' +import { Sequence, SequenceDetailsType } from '@/shared/types' const sequencesApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/speciesReducer.ts b/frontend/src/redux/speciesReducer.ts index 952b5666..9e18289d 100644 --- a/frontend/src/redux/speciesReducer.ts +++ b/frontend/src/redux/speciesReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { EditDataType, Species, SpeciesDetailsType } from '@/backendTypes' +import { EditDataType, Species, SpeciesDetailsType } from '@/shared/types' const speciesApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/timeBoundReducer.ts b/frontend/src/redux/timeBoundReducer.ts index 827c5330..f66a8fd3 100644 --- a/frontend/src/redux/timeBoundReducer.ts +++ b/frontend/src/redux/timeBoundReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { EditDataType, TimeBound, TimeBoundDetailsType, TimeUnit } from '@/backendTypes' +import { EditDataType, TimeBound, TimeBoundDetailsType, TimeUnit } from '@/shared/types' const timeboundsApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/redux/timeUnitReducer.ts b/frontend/src/redux/timeUnitReducer.ts index 73b5eda9..2a68731f 100644 --- a/frontend/src/redux/timeUnitReducer.ts +++ b/frontend/src/redux/timeUnitReducer.ts @@ -1,5 +1,5 @@ import { api } from './api' -import { EditDataType, Locality, Sequence, TimeUnit, TimeUnitDetailsType } from '@/backendTypes' +import { EditDataType, Locality, Sequence, TimeUnit, TimeUnitDetailsType } from '@/shared/types' const timeunitsApi = api.injectEndpoints({ endpoints: builder => ({ diff --git a/frontend/src/backendTypes.d.ts b/frontend/src/shared/types.ts similarity index 97% rename from frontend/src/backendTypes.d.ts rename to frontend/src/shared/types.ts index d2ee93e6..0f56edb5 100644 --- a/frontend/src/backendTypes.d.ts +++ b/frontend/src/shared/types.ts @@ -1,6 +1,6 @@ -import * as Prisma from '../../backend/prisma/generated/now_test_client/default' -import * as LogPrisma from '../../backend/prisma/generated/now_log_test_client/default' -import { Role } from './types' +import * as Prisma from '../../../backend/prisma/generated/now_test_client/default' +import * as LogPrisma from '../../../backend/prisma/generated/now_log_test_client/default' +import { Role } from '../types' export type User = { username: string @@ -12,7 +12,7 @@ export type User = { /* This makes all fields optional, except for array-type fields. Also wraps the objects inside arrays as Editable, adding rowState-field in them. Applies itself recursively to all nested objects even inside arrays. */ -type EditDataType = T extends object +export type EditDataType = T extends object ? T extends readonly unknown[] ? { [I in keyof T]: Editable> } : { [K in keyof T as T[K] extends readonly unknown[] ? K : never]: EditDataType } & { diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 51ce0e9e..2440ca8e 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -8,7 +8,7 @@ export enum Role { ReadOnly = 7, } -import { EditDataType, LocalityDetailsType } from '../src/backendTypes' +import { EditDataType, LocalityDetailsType } from './shared/types' export const calculateMeanHypsodonty = (locality: LocalityDetailsType) => { // Mean hypsodonty calculation has been made based on html/include/database.php line 2567 onwards diff --git a/frontend/src/validators/locality.ts b/frontend/src/validators/locality.ts index 9fd960ed..f31c3044 100644 --- a/frontend/src/validators/locality.ts +++ b/frontend/src/validators/locality.ts @@ -1,4 +1,4 @@ -import { EditDataType, LocalityDetailsType } from '../backendTypes' +import { EditDataType, LocalityDetailsType } from '../shared/types' import { Validators, validator } from './validator' import { validCountries } from './countryList' diff --git a/frontend/src/validators/reference.ts b/frontend/src/validators/reference.ts index 7c955fad..7bdfc9f8 100644 --- a/frontend/src/validators/reference.ts +++ b/frontend/src/validators/reference.ts @@ -1,4 +1,4 @@ -import { EditDataType, ReferenceDetailsType, ReferenceAuthorType, ReferenceJournalType } from '../backendTypes' +import { EditDataType, ReferenceDetailsType, ReferenceAuthorType, ReferenceJournalType } from '../shared/types' import { Validators, validator, ValidationError } from './validator' const authorCheck: (data: ReferenceAuthorType[]) => ValidationError = (data: ReferenceAuthorType[]) => { diff --git a/frontend/src/validators/species.ts b/frontend/src/validators/species.ts index c292547a..346b7308 100644 --- a/frontend/src/validators/species.ts +++ b/frontend/src/validators/species.ts @@ -1,4 +1,4 @@ -import { EditDataType, SpeciesDetailsType } from '../backendTypes' +import { EditDataType, SpeciesDetailsType } from '../shared/types' import { Validators, validator } from './validator' export const validateSpecies = ( diff --git a/frontend/src/validators/timeBound.ts b/frontend/src/validators/timeBound.ts index d9665981..c063e3e6 100644 --- a/frontend/src/validators/timeBound.ts +++ b/frontend/src/validators/timeBound.ts @@ -1,4 +1,4 @@ -import { EditDataType, TimeBoundDetailsType } from '../backendTypes' +import { EditDataType, TimeBoundDetailsType } from '../shared/types' import { Validators, validator } from './validator' export const validateTimeBound = ( diff --git a/frontend/src/validators/timeUnit.ts b/frontend/src/validators/timeUnit.ts index acd29af8..2ac9ccd6 100644 --- a/frontend/src/validators/timeUnit.ts +++ b/frontend/src/validators/timeUnit.ts @@ -1,4 +1,4 @@ -import { EditDataType, TimeUnitDetailsType } from '../backendTypes' +import { EditDataType, TimeUnitDetailsType } from '../shared/types' import { Validators, validator } from './validator' export const validateTimeUnit = (editData: EditDataType, fieldName: keyof TimeUnitDetailsType) => {