Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .kiro/specs/mwn-wikibase-integration/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,26 +48,26 @@
- Add constraint violation detection and error message generation
- _Requirements: 3.3, 6.2, 6.3_

- [ ] 4. Update API endpoints to use NodemwWikibaseService
- [ ] 4.1 Update property search endpoints
- [x] 4. Update API endpoints to use NodemwWikibaseService
- [x] 4.1 Update property search endpoints
- Modify /api/wikibase/:instanceId/properties/search to use nodemw
- Add support for enhanced search parameters and filtering
- Implement response formatting for frontend compatibility
- _Requirements: 2.1, 2.3, 2.5_

- [ ] 4.2 Update property details endpoints
- [x] 4.2 Update property details endpoints
- Modify /api/wikibase/:instanceId/properties/:propertyId to use nodemw
- Add constraint information to property details response
- Implement error handling for property not found scenarios
- _Requirements: 2.2, 3.1, 3.2_

- [ ] 4.3 Add new constraint validation endpoints
- [x] 4.3 Add new constraint validation endpoints
- Create /api/wikibase/:instanceId/properties/:propertyId/constraints endpoint
- Add /api/wikibase/:instanceId/validate/property endpoint for real-time validation
- Implement /api/wikibase/:instanceId/validate/schema endpoint for schema validation
- _Requirements: 3.1, 3.3, 6.1, 6.2_

- [ ] 4.4 Update instance management endpoints
- [x] 4.4 Update instance management endpoints
- Modify instance configuration endpoints to support nodemw configuration
- Add connectivity testing using nodemw client validation
- Implement health check endpoints for instance monitoring
Expand Down
11 changes: 6 additions & 5 deletions backend/eslint.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
import eslintPluginPrettier from 'eslint-plugin-prettier'
import prettierConfig from 'eslint-config-prettier'
import { defineConfig } from 'eslint/config'
import tseslint from 'typescript-eslint'

export default tseslint.config(
export default defineConfig(
{
ignores: ['node_modules/**', 'dist/**', '*.d.ts', 'dataforge.db'],
},
...tseslint.configs.recommended,
prettierConfig,
{
files: ['**/*.ts'],
languageOptions: {
parserOptions: {
project: './tsconfig.json',
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
plugins: {
'@typescript-eslint': tseslint.plugin,
prettier: eslintPluginPrettier,
},
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
Expand All @@ -25,7 +27,6 @@ export default tseslint.config(
{ 'ts-expect-error': 'allow-with-description' },
],
'comma-dangle': ['error', 'always-multiline'],
'prettier/prettier': 'error',
},
},
)
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export const wikibaseEntitiesApi = new Elysia({ prefix: '/api/wikibase/entities'
.use(databasePlugin)
.use(errorHandlerPlugin)
.use(wikibasePlugin)

.get(
'/properties/search',
async ({
Expand Down Expand Up @@ -46,6 +47,7 @@ export const wikibaseEntitiesApi = new Elysia({ prefix: '/api/wikibase/entities'
},
PropertySearchSchema,
)

.get(
'/properties/:propertyId',
async ({ params: { propertyId }, query: { instance = 'wikidata' }, wikibase }) => {
Expand All @@ -63,6 +65,7 @@ export const wikibaseEntitiesApi = new Elysia({ prefix: '/api/wikibase/entities'
},
PropertyDetailsRouteSchema,
)

.get(
'/items/search',
async ({
Expand Down Expand Up @@ -90,6 +93,7 @@ export const wikibaseEntitiesApi = new Elysia({ prefix: '/api/wikibase/entities'
},
ItemSearchSchema,
)

.get(
'/items/:itemId',
async ({ params: { itemId }, query: { instance = 'wikidata' }, wikibase }) => {
Expand Down
9 changes: 5 additions & 4 deletions backend/src/api/wikibase/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export * from './handlers'
export { wikibaseInstanceApi } from './instance-routes'
export { wikibaseEntitiesApi } from './routes'
export * from './schemas'
export { wikibaseConstraintsApi } from '@backend/api/wikibase/constraints'
export { wikibaseEntitiesApi } from '@backend/api/wikibase/entities'
export * from '@backend/api/wikibase/handlers'
export { wikibaseInstanceApi } from '@backend/api/wikibase/instances'
export * from '@backend/api/wikibase/schemas'
Loading