@elqnt/entity 1.0.8 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -91
- package/dist/index.d.ts +3 -91
- package/dist/index.js +2 -715
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -714
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/entity/dist/index.js","../context/entity-definition-context.tsx","../hooks/use-entity-definition.ts","../store/entity-definition-slice.ts","../hooks/use-entity-definition-details.ts","../hooks/use-entity-record.ts","../store/entity-record-slice.ts","../hooks/use-debounce.ts","../context/entity-record-context.tsx","../consts/colors.ts"],"names":["useEffect","useSelector","initialState","setLoading","setOperationLoading","setError","useCallback","error"],"mappings":"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B;AACa,EAAA;AACK,EAAA;AAGvB,EAAA;AAI7B;AAE6C;AACO,EAAA;AAEpC,EAAA;AACF,IAAA;AACR,MAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AD04BsD;AACA;AQv7BvB;AA0B3B;AArBO;AAW0B;AACnC,EAAA;AACA,EAAA;AACA,EAAA;AACW,EAAA;AACiB;AACa,EAAA;AACS,EAAA;AAG3B,EAAA;AAIzB;AAEyC;AACO,EAAA;AAEhC,EAAA;AACF,IAAA;AACR,MAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;ARo6BsD;AACA;ASh9BrB;AACC,EAAA;AACG,EAAA;AACA,EAAA;AACD,EAAA;AACD,EAAA;AACA,EAAA;AACE,EAAA;AACA,EAAA;AACrC;ATk9BsD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/entity/dist/index.js","sourcesContent":[null,"\"use client\";\n\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport {\n useEntityDefinition,\n UseEntityDefinitionType,\n UseEntityDefinitionOptions,\n} from \"../hooks\";\n\nexport const EntityDefinitionContext = createContext<\n UseEntityDefinitionType | undefined\n>(undefined);\n\nexport interface EntityDefinitionProviderProps {\n children: React.ReactNode;\n orgId: string;\n entityName?: string;\n options?: UseEntityDefinitionOptions;\n}\n\nexport function EntityDefinitionProvider({\n children,\n orgId,\n entityName,\n options = {},\n}: EntityDefinitionProviderProps) {\n const hookValue = useEntityDefinition(orgId, entityName, options);\n const value = useMemo(() => hookValue, [hookValue]);\n\n return (\n <EntityDefinitionContext.Provider value={value}>\n {children}\n </EntityDefinitionContext.Provider>\n );\n}\n\nexport function useEntityDefinitionContext() {\n const context = useContext(EntityDefinitionContext);\n\n if (!context) {\n throw new Error(\n \"useEntityDefinitionContext must be used within an EntityDefinitionProvider\"\n );\n }\n\n return context;\n}\n","\"use client\";\n\nimport { useCallback, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useNatsContext } from \"@elqnt/nats\";\nimport {\n CreateEntityDefinitionRequest,\n CreateOrgSchemaRequest,\n CreateOrgSchemaResponse,\n CreateViewRequest,\n DropOrgSchemaRequest,\n DropOrgSchemaResponse,\n DeleteEntityDefinitionRequest,\n DeleteViewRequest,\n EntityDefinition,\n EntityDefinitionCreate,\n EntityDefinitionDelete,\n EntityDefinitionGet,\n EntityDefinitionList,\n EntityDefinitionResponse,\n EntityDefinitionUpdate,\n EntityOrgSchemaCreate,\n EntityOrgSchemaDrop,\n EntityView,\n EntityViewCreate,\n EntityViewDelete,\n EntityViewList,\n EntityViewResponse,\n EntityViewUpdate,\n GetEntityDefinitionRequest,\n ListEntityDefinitionsRequest,\n ListEntityDefinitionsResponse,\n ListViewsRequest,\n ListViewsResponse,\n ResponseMetadata,\n UpdateEntityDefinitionRequest,\n UpdateViewRequest,\n} from \"../models\";\nimport {\n addDefinition,\n addView,\n EntityDefinitionSelector,\n removeDefinition,\n removeView,\n setDefinitions,\n setError,\n setLoading,\n setOperationLoading,\n setSelectedDefinition,\n setViews,\n updateDefinition,\n updateView,\n} from \"../store/entity-definition-slice\";\n\nexport type UseEntityDefinitionType = {\n // State\n definitions: Record<string, EntityDefinition>;\n selectedDefinition?: EntityDefinition;\n views: Record<string, EntityView[]>;\n selectedView?: EntityView;\n isLoading: boolean;\n loadingStates: Record<string, boolean>;\n error?: string;\n\n // Organization operations\n createOrgSchema: (orgId: string) => Promise<CreateOrgSchemaResponse>;\n dropOrgSchema: (orgId: string) => Promise<DropOrgSchemaResponse>;\n\n // Definition operations\n loadDefinitions: () => Promise<void>;\n loadDefinition: (name: string) => Promise<void>;\n createDefinition: (\n definition: EntityDefinition\n ) => Promise<EntityDefinitionResponse>;\n updateDefinition: (\n name: string,\n definition: EntityDefinition\n ) => Promise<EntityDefinitionResponse>;\n deleteDefinition: (name: string) => Promise<ResponseMetadata>;\n\n // View operations\n loadViews: (entityName: string) => Promise<void>;\n createView: (entityName: string, view: EntityView) => Promise<EntityView>;\n updateView: (entityName: string, view: EntityView) => Promise<EntityView>;\n deleteView: (\n entityName: string,\n viewId: string\n ) => Promise<{ success: boolean }>;\n\n // Utilities\n refresh: () => void;\n};\n\nexport interface UseEntityDefinitionOptions {\n autoLoad?: boolean;\n module?: string;\n}\n\n// todo: performance improvement: use selectors\n// const selectEntityDefinition = (state: EntityDefinitionSelector) => state.entityDefinition;\n\nexport function useEntityDefinition(\n orgId: string | undefined,\n entityName?: string,\n options: UseEntityDefinitionOptions = {}\n): UseEntityDefinitionType {\n const { autoLoad, module } = options;\n const { natsConnected, request } = useNatsContext();\n const dispatch = useDispatch();\n\n // todo: performance improvement: use selectors\n\n // const selectDefinitions = createSelector(\n // selectEntityDefinition,\n // (state) => state.definitions\n // );\n // const selectSelectedDefinition = createSelector(\n // selectEntityDefinition,\n // (state) => state.selectedDefinition\n // );\n\n // // Similar selectors for views, selectedView, isLoading, loadingStates, error...\n\n // // In the hook\n // const definitions = useSelector(selectDefinitions);\n // const selectedDefinition = useSelector(selectSelectedDefinition);\n // const views = useSelector(selectViews);\n\n const definitions = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.definitions\n );\n const selectedDefinition = useSelector(\n (state: EntityDefinitionSelector) =>\n state.entityDefinition.selectedDefinition\n );\n const views = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.views\n );\n const selectedView = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.selectedView\n );\n const isLoading = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.isLoading\n );\n const loadingStates = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.loadingStates\n );\n const error = useSelector(\n (state: EntityDefinitionSelector) => state.entityDefinition.error\n );\n\n const createOrgSchema = useCallback(\n async (targetOrgId: string): Promise<CreateOrgSchemaResponse> => {\n if (!natsConnected) {\n throw new Error(\"Not connected to NATS\");\n }\n\n dispatch(setOperationLoading({ operation: \"createOrgSchema\", loading: true }));\n\n try {\n const response = await request<\n CreateOrgSchemaRequest,\n CreateOrgSchemaResponse\n >(EntityOrgSchemaCreate, { orgId: targetOrgId });\n\n if (response instanceof Error) {\n throw response;\n }\n\n return response;\n } finally {\n dispatch(setOperationLoading({ operation: \"createOrgSchema\", loading: false }));\n }\n },\n [natsConnected, dispatch, request]\n );\n\n const dropOrgSchema = useCallback(\n async (targetOrgId: string): Promise<DropOrgSchemaResponse> => {\n if (!natsConnected) {\n throw new Error(\"Not connected to NATS\");\n }\n\n dispatch(setOperationLoading({ operation: \"dropOrgSchema\", loading: true }));\n\n try {\n const response = await request<\n DropOrgSchemaRequest,\n DropOrgSchemaResponse\n >(EntityOrgSchemaDrop, { orgId: targetOrgId });\n\n if (response instanceof Error) {\n throw response;\n }\n\n return response;\n } finally {\n dispatch(setOperationLoading({ operation: \"dropOrgSchema\", loading: false }));\n }\n },\n [natsConnected, dispatch, request]\n );\n\n const loadDefinitions = useCallback(async () => {\n if (!natsConnected || !orgId) return;\n\n const loadingKey = \"loadDefinitions\";\n if (loadingStates[loadingKey]) return; // Prevent concurrent loads\n\n dispatch(setOperationLoading({ operation: loadingKey, loading: true }));\n\n try {\n const response = await request<\n ListEntityDefinitionsRequest,\n ListEntityDefinitionsResponse\n >(EntityDefinitionList, { orgId, module });\n\n if (response instanceof Error) {\n dispatch(setError(response.message));\n } else {\n dispatch(setDefinitions(response?.definitions ?? []));\n }\n } catch (err) {\n dispatch(setError(err instanceof Error ? err.message : \"Unknown error\"));\n } finally {\n dispatch(setOperationLoading({ operation: loadingKey, loading: false }));\n }\n }, [natsConnected, orgId, options.module, dispatch, request]);\n\n useEffect(() => {\n let mounted = true;\n\n if (autoLoad && natsConnected && orgId && mounted) {\n loadDefinitions();\n }\n\n return () => {\n mounted = false;\n };\n }, [autoLoad, natsConnected, orgId]);\n\n const loadDefinition = useCallback(\n async (name: string) => {\n if (!natsConnected || !orgId) return;\n\n dispatch(\n setOperationLoading({ operation: `load_${name}`, loading: true })\n );\n try {\n const response = await request<\n GetEntityDefinitionRequest,\n EntityDefinitionResponse\n >(EntityDefinitionGet, { entityName: name, orgId }, {});\n\n if (response instanceof Error) {\n dispatch(setError(response.message));\n return;\n }\n\n dispatch(setSelectedDefinition(response.definition));\n } finally {\n dispatch(\n setOperationLoading({ operation: `load_${name}`, loading: false })\n );\n }\n },\n [natsConnected, orgId, dispatch, request]\n );\n\n useEffect(() => {\n if (natsConnected && orgId && entityName) {\n loadDefinition(entityName);\n }\n }, [natsConnected, orgId, entityName, loadDefinition]);\n\n const createDefinition = async (definition: EntityDefinition) => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(setOperationLoading({ operation: \"create\", loading: true }));\n\n try {\n const response = await request<\n CreateEntityDefinitionRequest,\n EntityDefinitionResponse\n >(EntityDefinitionCreate, { definition, orgId }, {});\n\n // console.log(\"createDefinition response\", response);\n\n if (response instanceof Error) {\n console.error(\"createDefinition error\", response);\n throw response;\n }\n\n if (response.metadata.success) {\n dispatch(addDefinition(response.definition));\n }\n return response;\n } finally {\n dispatch(setOperationLoading({ operation: \"create\", loading: false }));\n }\n };\n\n const updateDefinitionById = async (\n name: string,\n definition: EntityDefinition\n ) => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: `update_${name}`, loading: true })\n );\n try {\n const response = await request<\n UpdateEntityDefinitionRequest,\n EntityDefinitionResponse\n >(\n EntityDefinitionUpdate,\n {\n entityName: name,\n definition,\n orgId,\n },\n {}\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n if (response.metadata.success) {\n dispatch(updateDefinition(response.definition));\n }\n\n return response;\n } finally {\n dispatch(\n setOperationLoading({ operation: `update_${name}`, loading: false })\n );\n }\n };\n\n const deleteDefinition = async (name: string) => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: `delete_${name}`, loading: true })\n );\n try {\n const response = await request<\n DeleteEntityDefinitionRequest,\n ResponseMetadata\n >(EntityDefinitionDelete, { entityName: name, orgId }, {});\n\n if (response instanceof Error) {\n throw response;\n }\n\n dispatch(removeDefinition(name));\n return response;\n } finally {\n dispatch(\n setOperationLoading({ operation: `delete_${name}`, loading: false })\n );\n }\n };\n\n const loadViews = useCallback(\n async (entityName: string): Promise<void> => {\n if (!natsConnected || !orgId) return;\n\n const loadingKey = `loadViews_${entityName}`;\n if (loadingStates[loadingKey]) return; // Prevent concurrent loads\n\n dispatch(setOperationLoading({ operation: loadingKey, loading: true }));\n\n try {\n const response = await request<ListViewsRequest, ListViewsResponse>(\n EntityViewList,\n { entityName, orgId },\n {}\n );\n\n console.log(\"loadViews response\", response);\n\n if (response instanceof Error) {\n dispatch(setError(response.message));\n return;\n }\n\n dispatch(setViews({ entityName, views: response.views }));\n } catch (err) {\n dispatch(\n setError(err instanceof Error ? err.message : \"Unknown error\")\n );\n } finally {\n dispatch(\n setOperationLoading({ operation: loadingKey, loading: false })\n );\n }\n },\n [natsConnected, orgId, loadingStates, dispatch, request]\n );\n\n const createView = async (entityName: string, view: EntityView) => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(setOperationLoading({ operation: \"create_view\", loading: true }));\n try {\n const response = await request<CreateViewRequest, EntityViewResponse>(\n EntityViewCreate,\n { entityName, view, orgId },\n {}\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n dispatch(addView({ entityName, view: response.view }));\n return response.view;\n } finally {\n dispatch(\n setOperationLoading({ operation: \"create_view\", loading: false })\n );\n }\n };\n\n const updateViewById = async (entityName: string, view: EntityView) => {\n if (!natsConnected || !orgId || !view.id) {\n throw new Error(\"Not connected, missing orgId, or invalid view\");\n }\n\n dispatch(\n setOperationLoading({\n operation: `update_view_${view.id}`,\n loading: true,\n })\n );\n try {\n const response = await request<UpdateViewRequest, EntityViewResponse>(\n EntityViewUpdate,\n { view, orgId },\n {}\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n // console.log(\"updateViewById response\", response);\n\n dispatch(updateView({ entityName, view: response.view }));\n return response.view;\n } finally {\n dispatch(\n setOperationLoading({\n operation: `update_view_${view.id}`,\n loading: false,\n })\n );\n }\n };\n\n const deleteView = async (entityName: string, viewId: string) => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: `delete_view_${viewId}`, loading: true })\n );\n try {\n const response = await request<DeleteViewRequest, ResponseMetadata>(\n EntityViewDelete,\n { viewId, orgId },\n {}\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n dispatch(removeView({ entityName, viewId }));\n return response;\n } finally {\n dispatch(\n setOperationLoading({\n operation: `delete_view_${viewId}`,\n loading: false,\n })\n );\n }\n };\n\n const refresh = useCallback(() => {\n if (!natsConnected || !orgId) return;\n\n if (entityName) {\n loadDefinition(entityName);\n } else {\n dispatch(setLoading(true));\n loadDefinitions().finally(() => dispatch(setLoading(false)));\n }\n }, [natsConnected, orgId, entityName, loadDefinition, dispatch]);\n\n return {\n // State\n definitions,\n selectedDefinition,\n views,\n selectedView,\n isLoading,\n loadingStates,\n error,\n\n // Organization operations\n createOrgSchema,\n dropOrgSchema,\n\n // Definition operations\n loadDefinitions,\n loadDefinition,\n createDefinition,\n updateDefinition: updateDefinitionById,\n deleteDefinition,\n\n // View operations\n loadViews,\n createView,\n updateView: updateViewById,\n deleteView,\n\n // Utilities\n refresh,\n };\n}\n","// store/entityDefinitionSlice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityDefinition, EntityView } from \"../models\";\nexport interface EntityDefinitionState {\n definitions: Record<string, EntityDefinition>;\n selectedDefinition?: EntityDefinition;\n views: Record<string, EntityView[]>;\n selectedView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityDefinitionSelector {\n entityDefinition: EntityDefinitionState;\n}\n\nconst initialState: EntityDefinitionState = {\n definitions: {},\n views: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityDefinitionSlice = createSlice({\n name: \"entityDefinition\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n setDefinitions: (state, action: PayloadAction<EntityDefinition[]>) => {\n state.definitions = action.payload.reduce(\n (acc, def) => {\n acc[def.name] = def;\n return acc;\n },\n {} as Record<string, EntityDefinition>\n );\n },\n addDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n },\n updateDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n if (state.selectedDefinition?.name === definition.name) {\n state.selectedDefinition = definition;\n }\n },\n removeDefinition: (state, action: PayloadAction<string>) => {\n delete state.definitions[action.payload];\n if (state.selectedDefinition?.name === action.payload) {\n state.selectedDefinition = undefined;\n }\n },\n setSelectedDefinition: (\n state,\n action: PayloadAction<EntityDefinition | undefined>\n ) => {\n state.selectedDefinition = action.payload;\n },\n setViews: (\n state,\n action: PayloadAction<{ entityName: string; views: EntityView[] }>\n ) => {\n const { entityName, views } = action.payload;\n state.views[entityName] = views;\n },\n addView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n if (!state.views[entityName]) {\n state.views[entityName] = [];\n }\n state.views[entityName].push(view);\n },\n updateView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n const views = state.views[entityName];\n if (views) {\n const index = views.findIndex((v) => v.id === view.id);\n if (index !== -1) {\n views[index] = view;\n if (state.selectedView?.id === view.id) {\n state.selectedView = view;\n }\n }\n }\n },\n removeView: (\n state,\n action: PayloadAction<{ entityName: string; viewId: string }>\n ) => {\n const { entityName, viewId } = action.payload;\n const views = state.views[entityName];\n if (views) {\n state.views[entityName] = views.filter((v) => v.id !== viewId);\n if (state.selectedView?.id === viewId) {\n state.selectedView = undefined;\n }\n }\n },\n setSelectedView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.selectedView = action.payload;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setDefinitions,\n addDefinition,\n updateDefinition,\n removeDefinition,\n setSelectedDefinition,\n setViews,\n addView,\n updateView,\n removeView,\n setSelectedView,\n} = entityDefinitionSlice.actions;\n\nexport const entityDefinitionReducer = entityDefinitionSlice.reducer;\n","\"use client\";\n\nimport { useCallback, useEffect } from \"react\";\nimport { useEntityDefinitionContext } from \"../context/entity-definition-context\";\nimport { EntityDefinition } from \"../models\";\n\nexport function useEntityDefinitionDetails(entityName: string) {\n const context = useEntityDefinitionContext();\n const definition = context.definitions[entityName];\n\n const loadDefinitionDetails = useCallback(async () => {\n return context.loadDefinition(entityName);\n }, [context, entityName]);\n\n useEffect(() => {\n if (entityName && !definition) {\n loadDefinitionDetails();\n }\n }, [definition, entityName, loadDefinitionDetails]);\n\n return {\n definition,\n isLoading: context.loadingStates[`load_${entityName}`],\n error: context.error,\n updateDefinition: (updatedDef: EntityDefinition) =>\n context.updateDefinition(entityName, updatedDef),\n deleteDefinition: () => context.deleteDefinition(entityName),\n refresh: loadDefinitionDetails,\n };\n}\n","\"use client\";\n\nimport { useCallback, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useNatsContext } from \"@elqnt/nats\";\nimport {\n CreateRecordRequest,\n DeleteRecordRequest,\n EntityQuery,\n EntityRecord,\n EntityRecordCreate,\n EntityRecordDelete,\n EntityRecordGet,\n EntityRecordQuery,\n EntityRecordCount,\n EntityRecordResponse,\n EntityRecordUpdate,\n GetEntityRecordRequest,\n ListEntityRecordsResponse,\n QueryRequest,\n ResponseMetadata,\n UpdateRecordRequest,\n CountEntityRecordsRequest,\n CountEntityRecordsResponse,\n} from \"../models\";\nimport {\n addRecord,\n EntityRecordSelector,\n removeRecord,\n setError,\n setOperationLoading,\n setRecords,\n setSelected,\n setSelectedRecord,\n updateQueryParams,\n updateRecord,\n} from \"../store/entity-record-slice\";\n\nexport type UseEntityRecordType = {\n // State\n records: Record<string, EntityRecord>;\n selectedRecord?: EntityRecord;\n params: EntityQuery;\n selected: string[];\n isLoading: boolean;\n loadingStates: Record<string, boolean>;\n error?: string;\n\n // Operations\n loadRecords: (params?: Partial<EntityQuery>) => Promise<void>;\n createRecord: (record: EntityRecord) => Promise<EntityRecordResponse>;\n updateRecord: (record: EntityRecord) => Promise<EntityRecordResponse>;\n deleteRecord: (recordId: string) => Promise<ResponseMetadata>;\n loadRecord: (recordId: string) => Promise<void>;\n countRecords: (filters?: Record<string, any>) => Promise<number>;\n getEntityRecordById: (recordId: string) => Promise<EntityRecord | null>;\n\n\n // Selection\n selectRecords: (ids: string[]) => void;\n clearSelection: () => void;\n\n // Query\n updateParams: (params: Partial<EntityQuery>) => void;\n refresh: () => void;\n};\n\nconst defaultQuery: EntityQuery = {\n filters: {},\n page: 1,\n pageSize: 25,\n sortBy: \"metadata.createdAt\",\n sortOrder: -1,\n};\n\nexport function useEntityRecord(\n orgId: string | undefined,\n entityName: string,\n options: { autoLoad?: boolean } = {}\n): UseEntityRecordType {\n const { autoLoad = true } = options;\n const { natsConnected, request } = useNatsContext();\n const dispatch = useDispatch();\n\n const recordState = useSelector(\n (state: EntityRecordSelector) =>\n state.entityRecord.records[entityName] || {\n items: {},\n params: defaultQuery,\n meta: {\n items: [],\n totalCount: 0,\n currentPage: 1,\n pageSize: 25,\n totalPages: 0,\n },\n selected: [],\n }\n );\n\n const selectedRecord = useSelector(\n (state: EntityRecordSelector) => state.entityRecord.selectedRecord\n );\n\n const isLoading = useSelector(\n (state: EntityRecordSelector) => state.entityRecord.isLoading\n );\n const loadingStates = useSelector(\n (state: EntityRecordSelector) => state.entityRecord.loadingStates\n );\n const error = useSelector(\n (state: EntityRecordSelector) => state.entityRecord.error\n );\n\n const loadRecords = useCallback(\n async (params?: Partial<EntityQuery>) => {\n if (!natsConnected || !orgId) return;\n\n const loadingKey = `load_${entityName}`;\n if (loadingStates[loadingKey]) return;\n\n dispatch(setOperationLoading({ operation: loadingKey, loading: true }));\n\n try {\n const queryParams = { ...recordState.params, ...params };\n // console.log(\"will loadRecords\", queryParams);\n\n const response = await request<QueryRequest, ListEntityRecordsResponse>(\n EntityRecordQuery,\n {\n orgId,\n entityName,\n query: queryParams,\n }\n );\n\n if (response instanceof Error) {\n dispatch(setError(response.message));\n } else if (response.records) {\n dispatch(\n setRecords({\n entityName,\n records: response.records,\n params: queryParams,\n })\n );\n }\n } catch (err) {\n dispatch(\n setError(err instanceof Error ? err.message : \"Unknown error\")\n );\n } finally {\n dispatch(\n setOperationLoading({ operation: loadingKey, loading: false })\n );\n }\n },\n [natsConnected, orgId, entityName, recordState.params, dispatch, request]\n );\n\n const loadRecord = useCallback(\n async (recordId: string) => {\n if (!natsConnected || !orgId) return;\n\n const loadingKey = `load_${recordId}`;\n if (loadingStates[loadingKey]) return;\n\n dispatch(setOperationLoading({ operation: loadingKey, loading: true }));\n\n try {\n const response = await request<\n GetEntityRecordRequest,\n EntityRecordResponse\n >(EntityRecordGet, { entityName, recordId, orgId }, {});\n\n if (response instanceof Error) {\n dispatch(setError(response.message));\n return;\n }\n\n dispatch(setSelectedRecord({ record: response.record }));\n } finally {\n dispatch(\n setOperationLoading({ operation: loadingKey, loading: false })\n );\n }\n },\n [natsConnected, orgId, entityName, recordState.params, dispatch, request]\n );\n\n const createRecord = async (\n record: EntityRecord\n ): Promise<EntityRecordResponse> => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: \"create_record\", loading: true })\n );\n\n try {\n const response = await request<CreateRecordRequest, EntityRecordResponse>(\n EntityRecordCreate,\n {\n orgId,\n entityName,\n record,\n }\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n if (response.metadata.success) {\n dispatch(addRecord({ entityName, record: response.record }));\n }\n\n // Refresh list after create\n loadRecords();\n\n return response;\n } finally {\n dispatch(\n setOperationLoading({ operation: \"create_record\", loading: false })\n );\n }\n };\n\n const updateRecordById = async (\n record: EntityRecord\n ): Promise<EntityRecordResponse> => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: `update_${record.id}`, loading: true })\n );\n\n try {\n const response = await request<UpdateRecordRequest, EntityRecordResponse>(\n EntityRecordUpdate,\n {\n orgId,\n entityName,\n record,\n recordId: record.id,\n }\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n dispatch(updateRecord({ entityName, record: response.record }));\n return response;\n } finally {\n dispatch(\n setOperationLoading({\n operation: `update_${record.id}`,\n loading: false,\n })\n );\n }\n };\n\n const deleteRecordById = async (\n recordId: string\n ): Promise<ResponseMetadata> => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n dispatch(\n setOperationLoading({ operation: `delete_${recordId}`, loading: true })\n );\n\n try {\n const response = await request<DeleteRecordRequest, ResponseMetadata>(\n EntityRecordDelete,\n {\n orgId,\n entityName,\n recordId,\n }\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n dispatch(removeRecord({ entityName, recordId }));\n return response;\n } finally {\n dispatch(\n setOperationLoading({ operation: `delete_${recordId}`, loading: false })\n );\n }\n };\n\n const countRecords = async (filters?: Record<string, any>): Promise<number> => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n try {\n const response = await request<CountEntityRecordsRequest, CountEntityRecordsResponse>(\n EntityRecordCount,\n {\n orgId,\n entityName,\n filters: filters || {},\n }\n );\n\n if (response instanceof Error) {\n throw response;\n }\n\n if (!response.metadata?.success) {\n throw new Error(response.metadata?.error || \"Failed to count records\");\n }\n\n return response.count || 0;\n } catch (err) {\n console.error(\"Error counting records:\", err);\n return 0;\n }\n };\n\n const getEntityRecordById = async (\n recordId: string\n ): Promise<EntityRecord | null> => {\n if (!natsConnected || !orgId) {\n throw new Error(\"Not connected or missing orgId\");\n }\n\n try {\n const response = await request<\n GetEntityRecordRequest,\n EntityRecordResponse\n >(EntityRecordGet, { entityName, recordId, orgId }, {});\n\n if (response instanceof Error) {\n console.error(\"Error fetching record:\", response.message);\n return null;\n }\n\n return response.record || null;\n } catch (error) {\n console.error(\"Error in getEntityRecordById:\", error);\n return null;\n }\n };\n\n const selectRecords = (ids: string[]) => {\n dispatch(setSelected({ entityName, ids }));\n };\n\n const clearSelection = () => {\n dispatch(setSelected({ entityName, ids: [] }));\n };\n\n const updateParams = (params: Partial<EntityQuery>) => {\n console.log(\"updating query params\", params);\n dispatch(updateQueryParams({ entityName, params }));\n loadRecords(params);\n };\n\n const refresh = useCallback(() => {\n loadRecords();\n }, [loadRecords]);\n\n useEffect(() => {\n let mounted = true;\n\n if (autoLoad && natsConnected && orgId && mounted) {\n loadRecords();\n }\n\n return () => {\n mounted = false;\n };\n }, [autoLoad, natsConnected, orgId]);\n\n return {\n // State\n records: recordState.items,\n params: recordState.params,\n selected: recordState.selected,\n selectedRecord,\n isLoading,\n loadingStates,\n error,\n\n // Operations\n loadRecords,\n createRecord,\n updateRecord: updateRecordById,\n deleteRecord: deleteRecordById,\n loadRecord,\n countRecords,\n getEntityRecordById,\n // Selection\n selectRecords,\n clearSelection,\n\n // Query\n updateParams,\n refresh,\n };\n}\n","// store/entity-record-slice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityQuery, EntityRecord, EntityView, ListResult } from \"../models\";\n\nexport interface EntityRecordState {\n records: {\n [entityName: string]: {\n items: Record<string, EntityRecord>;\n params: EntityQuery;\n meta: ListResult<EntityRecord>;\n selected: string[]; // Selected record IDs\n };\n };\n selectedRecord?: EntityRecord;\n activeView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityRecordSelector {\n entityRecord: EntityRecordState;\n}\n\nconst initialState: EntityRecordState = {\n records: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityRecordSlice = createSlice({\n name: \"entityRecord\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n\n setRecords: (\n state,\n action: PayloadAction<{\n entityName: string;\n records: ListResult<EntityRecord>;\n params: EntityQuery;\n }>\n ) => {\n const { entityName, records, params } = action.payload;\n state.records[entityName] = {\n items: records.items.reduce(\n (acc, record) => {\n acc[record.id] = record;\n return acc;\n },\n {} as Record<string, EntityRecord>\n ),\n params,\n meta: records,\n selected: [],\n };\n },\n\n addRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n updateRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n removeRecord: (\n state,\n action: PayloadAction<{ entityName: string; recordId: string }>\n ) => {\n const { entityName, recordId } = action.payload;\n if (state.records[entityName]) {\n delete state.records[entityName].items[recordId];\n state.records[entityName].selected = state.records[\n entityName\n ].selected.filter((id) => id !== recordId);\n }\n },\n\n setSelected: (\n state,\n action: PayloadAction<{ entityName: string; ids: string[] }>\n ) => {\n const { entityName, ids } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].selected = ids;\n }\n },\n\n setActiveView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.activeView = action.payload;\n },\n\n updateQueryParams: (\n state,\n action: PayloadAction<{\n entityName: string;\n params: Partial<EntityQuery>;\n }>\n ) => {\n const { entityName, params } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].params = {\n ...state.records[entityName].params,\n ...params,\n };\n }\n },\n\n setSelectedRecord: (\n state,\n action: PayloadAction<{ record: EntityRecord }>\n ) => {\n const { record } = action.payload;\n state.selectedRecord = record;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setRecords,\n addRecord,\n updateRecord,\n removeRecord,\n setSelected,\n setSelectedRecord,\n setActiveView,\n updateQueryParams,\n} = entityRecordSlice.actions;\n\nexport const entityRecordReducer = entityRecordSlice.reducer;\n","\"use client\";\n\nimport { useCallback, useRef } from 'react';\n\nexport function useDebounce<T extends (...args: any[]) => any>(\n callback: T,\n delay: number\n): (...args: Parameters<T>) => void {\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n\n return useCallback((...args: Parameters<T>) => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n\n timerRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n }, [callback, delay]);\n}\n\n","\"use client\";\n\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport { useEntityRecord, UseEntityRecordType } from \"../hooks\";\n\nexport const EntityRecordContext = createContext<\n UseEntityRecordType | undefined\n>(undefined);\n\nexport interface EntityRecordProviderProps {\n children: React.ReactNode;\n orgId: string;\n entityName: string;\n options?: {\n autoLoad?: boolean;\n };\n}\n\nexport function EntityRecordProvider({\n children,\n orgId,\n entityName,\n options = {},\n}: EntityRecordProviderProps) {\n const hookValue = useEntityRecord(orgId, entityName, options);\n const value = useMemo(() => hookValue, [hookValue]);\n\n return (\n <EntityRecordContext.Provider value={value}>\n {children}\n </EntityRecordContext.Provider>\n );\n}\n\nexport function useEntityRecordContext() {\n const context = useContext(EntityRecordContext);\n\n if (!context) {\n throw new Error(\n \"useEntityRecordContext must be used within an EntityRecordProvider\"\n );\n }\n\n return context;\n}\n","// Predefined colors with their display names\nexport const PREDEFINED_COLORS = [\n { value: \"#EF4444\", name: \"Red\" },\n { value: \"#F97316\", name: \"Orange\" },\n { value: \"#EAB308\", name: \"Yellow\" },\n { value: \"#22C55E\", name: \"Green\" },\n { value: \"#06B6D4\", name: \"Cyan\" },\n { value: \"#3B82F6\", name: \"Blue\" },\n { value: \"#6366F1\", name: \"Indigo\" },\n { value: \"#A855F7\", name: \"Purple\" },\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/entity/dist/index.js","../store/entity-definition-slice.ts","../store/entity-record-slice.ts","../consts/colors.ts"],"names":["initialState","createSlice","setLoading","setOperationLoading","setError"],"mappings":"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","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/entity/dist/index.js","sourcesContent":[null,"// store/entityDefinitionSlice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityDefinition, EntityView } from \"../models\";\nexport interface EntityDefinitionState {\n definitions: Record<string, EntityDefinition>;\n selectedDefinition?: EntityDefinition;\n views: Record<string, EntityView[]>;\n selectedView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityDefinitionSelector {\n entityDefinition: EntityDefinitionState;\n}\n\nconst initialState: EntityDefinitionState = {\n definitions: {},\n views: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityDefinitionSlice = createSlice({\n name: \"entityDefinition\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n setDefinitions: (state, action: PayloadAction<EntityDefinition[]>) => {\n state.definitions = action.payload.reduce(\n (acc, def) => {\n acc[def.name] = def;\n return acc;\n },\n {} as Record<string, EntityDefinition>\n );\n },\n addDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n },\n updateDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n if (state.selectedDefinition?.name === definition.name) {\n state.selectedDefinition = definition;\n }\n },\n removeDefinition: (state, action: PayloadAction<string>) => {\n delete state.definitions[action.payload];\n if (state.selectedDefinition?.name === action.payload) {\n state.selectedDefinition = undefined;\n }\n },\n setSelectedDefinition: (\n state,\n action: PayloadAction<EntityDefinition | undefined>\n ) => {\n state.selectedDefinition = action.payload;\n },\n setViews: (\n state,\n action: PayloadAction<{ entityName: string; views: EntityView[] }>\n ) => {\n const { entityName, views } = action.payload;\n state.views[entityName] = views;\n },\n addView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n if (!state.views[entityName]) {\n state.views[entityName] = [];\n }\n state.views[entityName].push(view);\n },\n updateView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n const views = state.views[entityName];\n if (views) {\n const index = views.findIndex((v) => v.id === view.id);\n if (index !== -1) {\n views[index] = view;\n if (state.selectedView?.id === view.id) {\n state.selectedView = view;\n }\n }\n }\n },\n removeView: (\n state,\n action: PayloadAction<{ entityName: string; viewId: string }>\n ) => {\n const { entityName, viewId } = action.payload;\n const views = state.views[entityName];\n if (views) {\n state.views[entityName] = views.filter((v) => v.id !== viewId);\n if (state.selectedView?.id === viewId) {\n state.selectedView = undefined;\n }\n }\n },\n setSelectedView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.selectedView = action.payload;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setDefinitions,\n addDefinition,\n updateDefinition,\n removeDefinition,\n setSelectedDefinition,\n setViews,\n addView,\n updateView,\n removeView,\n setSelectedView,\n} = entityDefinitionSlice.actions;\n\nexport const entityDefinitionReducer = entityDefinitionSlice.reducer;\n","// store/entity-record-slice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityQuery, EntityRecord, EntityView, ListResult } from \"../models\";\n\nexport interface EntityRecordState {\n records: {\n [entityName: string]: {\n items: Record<string, EntityRecord>;\n params: EntityQuery;\n meta: ListResult<EntityRecord>;\n selected: string[]; // Selected record IDs\n };\n };\n selectedRecord?: EntityRecord;\n activeView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityRecordSelector {\n entityRecord: EntityRecordState;\n}\n\nconst initialState: EntityRecordState = {\n records: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityRecordSlice = createSlice({\n name: \"entityRecord\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n\n setRecords: (\n state,\n action: PayloadAction<{\n entityName: string;\n records: ListResult<EntityRecord>;\n params: EntityQuery;\n }>\n ) => {\n const { entityName, records, params } = action.payload;\n state.records[entityName] = {\n items: records.items.reduce(\n (acc, record) => {\n acc[record.id] = record;\n return acc;\n },\n {} as Record<string, EntityRecord>\n ),\n params,\n meta: records,\n selected: [],\n };\n },\n\n addRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n updateRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n removeRecord: (\n state,\n action: PayloadAction<{ entityName: string; recordId: string }>\n ) => {\n const { entityName, recordId } = action.payload;\n if (state.records[entityName]) {\n delete state.records[entityName].items[recordId];\n state.records[entityName].selected = state.records[\n entityName\n ].selected.filter((id) => id !== recordId);\n }\n },\n\n setSelected: (\n state,\n action: PayloadAction<{ entityName: string; ids: string[] }>\n ) => {\n const { entityName, ids } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].selected = ids;\n }\n },\n\n setActiveView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.activeView = action.payload;\n },\n\n updateQueryParams: (\n state,\n action: PayloadAction<{\n entityName: string;\n params: Partial<EntityQuery>;\n }>\n ) => {\n const { entityName, params } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].params = {\n ...state.records[entityName].params,\n ...params,\n };\n }\n },\n\n setSelectedRecord: (\n state,\n action: PayloadAction<{ record: EntityRecord }>\n ) => {\n const { record } = action.payload;\n state.selectedRecord = record;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setRecords,\n addRecord,\n updateRecord,\n removeRecord,\n setSelected,\n setSelectedRecord,\n setActiveView,\n updateQueryParams,\n} = entityRecordSlice.actions;\n\nexport const entityRecordReducer = entityRecordSlice.reducer;\n","// Predefined colors with their display names\nexport const PREDEFINED_COLORS = [\n { value: \"#EF4444\", name: \"Red\" },\n { value: \"#F97316\", name: \"Orange\" },\n { value: \"#EAB308\", name: \"Yellow\" },\n { value: \"#22C55E\", name: \"Green\" },\n { value: \"#06B6D4\", name: \"Cyan\" },\n { value: \"#3B82F6\", name: \"Blue\" },\n { value: \"#6366F1\", name: \"Indigo\" },\n { value: \"#A855F7\", name: \"Purple\" },\n];\n"]}
|