Commit Graph

  • e8fbbede7e chore: update version to 1.0.2 and changelog main warkanum 2026-09-23 20:58:18 +02:00
  • 7f8982fa35 feat(headerspec): add UTF-8 encoding/decoding support * Implement round-trip encoding/decoding for UTF-8 values in header functions. * Update encodeHeaderValue and decodeHeaderValue to use base64 utility functions. * Add tests for UTF-8 header value handling. * Update Vite config to externalize base64 utility. warkanum 2026-09-23 20:57:50 +02:00
  • b587cbd3c4 feat(headers): add support for custom HTTP headers in clients * Introduced headers property in ClientConfig interface. * Updated HeaderSpecClient and ResolveSpecClient to utilize custom headers. * Implemented mergeHeaders function to handle case-insensitive header merging. * Added tests for custom header functionality in clients. warkanum 2026-09-23 19:47:05 +02:00
  • a220338eea feat(spectypes): add CIString, LCString, and UCString types with tests v1.1.53 Hein 2026-09-21 14:06:33 +02:00
  • 20c67166d0 fix(handler): support implicit updates from request body v1.1.52 Hein 2026-09-21 11:18:10 +02:00
  • 749dad4ed1 fix(quickproxy): ensure request body is preserved on fallback v1.1.51 Hein 2026-09-21 09:21:58 +02:00
  • d6c5740f9c fix(handler): add operation type to hook context v1.1.50 warkanum 2026-09-20 16:12:44 +02:00
  • 817b781c88 fix(security): skip loading security rules if disabled v1.1.49 warkanum 2026-09-20 15:52:25 +02:00
  • 87eaa9e18c fix(security): skip row security enforcement for specific operations * Add ShouldSkipRowSecurity function to determine when to bypass row security * Update ApplyRowSecurity to utilize operation context for enforcement warkanum 2026-09-20 15:51:02 +02:00
  • 4f6878099b fix(quickproxy): reject Exclude entries outside their rule's URLPrefix v1.1.48 Hein 2026-09-17 11:40:49 +02:00
  • 0d8b136b91 feat(quickproxy): support per-rule Exclude path prefixes Hein 2026-09-17 11:38:02 +02:00
  • 6de9be0ae7 chore(proxy): remove outdated proxy documentation v1.1.47 Hein 2026-09-17 11:09:14 +02:00
  • 82e923b16e fix(quickproxy): use http.NotFoundHandler per golangci-lint gocritic Hein 2026-09-17 11:08:12 +02:00
  • 9a664593f0 feat(quickproxy): add reverse-proxy-with-static-fallback package Hein 2026-09-17 11:07:53 +02:00
  • 6e3124e4e0 fix(restheadspec): prevent casting numeric values in ILIKE filters v1.1.46 Hein 2026-09-15 13:55:11 +02:00
  • d5de48011b fix(websocketspec,mqttspec,resolvemcp): stop casting citext columns to TEXT for LIKE/ILIKE v1.1.45 Hein 2026-09-15 11:26:28 +02:00
  • 6bd6a6f164 fix(restheadspec,resolvespec): stop casting SqlNull-wrapped and citext columns to TEXT in filters Hein 2026-09-15 11:18:13 +02:00
  • 1885ce016b fix(spectypes): stop nulling out midnight SqlTime values; add sql_types tests v1.1.44 Hein 2026-09-11 11:01:16 +02:00
  • eeb7ba04d8 Merge pull request #21 from bitechdev/feat/json-column-support Hein Puth (Warkanum) 2026-09-11 10:53:29 +02:00
  • e957753ce4 chore(common): satisfy linter on json_column.go (named results, De Morgan) feat/json-column-support Hein 2026-09-07 17:07:22 +02:00
  • 206edd4bfd feat: add JSON/JSONB sub-field select, filter and sort Hein 2026-09-07 17:05:52 +02:00
  • f841d58c59 fix(spectypes): serialize SqlTimeStamp as RFC3339 with offset v1.1.43 warkanum 2026-09-03 22:14:08 +02:00
  • cbac47e052 fix(handler): handle JSON marshaling errors in response v1.1.42 Hein 2026-08-31 16:12:59 +02:00
  • 3d4f6faa8e fix(wkb): simplify loop indexing in geometry reading functions v1.1.41 warkanum 2026-08-29 21:36:01 +02:00
  • f259df1258 feat(spectypes): add support for PostGIS and pgvector types * Implement custom types: SqlGeometry, SqlGeography, SqlHalfVector, SqlSparseVector, SqlBitVector * Add spatial filter operators and vector similarity operators * Include metadata and OpenAPI reporting for geometry/vector column types * Create tests for EWKB and WKT conversions warkanum 2026-08-29 21:27:42 +02:00
  • 798bb47e71 fix: scan relation preloads through configured model v1.1.40 warkanum 2026-08-28 22:55:44 +02:00
  • 105a5e1b87 fix(bun): handle panic in PreloadRelation without returning warkanum 2026-08-28 22:47:55 +02:00
  • a68cf83be6 fix(spec): unwrap SQL wrapper metadata types warkanum 2026-08-28 22:42:52 +02:00
  • dab4940ace fix(security): DatabaseAuthenticator.RefreshToken surfaces rotated refresh token and expiry v1.1.39 warkanum 2026-08-27 21:50:57 +02:00
  • c7178e0a2b fix(parameters): increase default limit for requests v1.1.38 Hein 2026-08-25 15:50:09 +02:00
  • 0261f121e8 fix(security): change types for template and hasBlock v1.1.37 warkanum 2026-08-10 20:46:40 +02:00
  • 93dc1008ee fix(security): unwrap userRef for non-DB providers v1.1.36 warkanum 2026-08-10 20:34:06 +02:00
  • c60565e4e0 feat(resolvespec): add 'contains' operator for array overlap * Implemented 'contains' operator using BuildArrayOverlapCondition for real array containment. * Updated documentation to clarify differences between text-cast ILIKE and array overlap. v1.1.35 warkanum 2026-08-10 15:01:23 +02:00
  • 16cc7d350e fix(hooks): implement retry logic for hook registry locks * Add tryLock and tryRLock methods to manage mutex access * Update Register, Clear, and Execute methods to handle locked state * Log errors when registry operations fail due to locking v1.1.34 Hein 2026-08-04 17:55:36 +02:00
  • a172c73ab0 fix(handler): update default sort retrieval logic v1.1.33 Hein 2026-07-29 10:23:08 +02:00
  • ef28959c4d test(types): add test for ResolveSortColumns with descending order Hein 2026-07-29 10:15:52 +02:00
  • 7c737afc5a feat(handler): implement default sort configuration for models * Add SetDefaultSort method to configure default sort order * Implement getDefaultSort method to retrieve configured defaults * Update handleRead to apply default sort when none specified * Add tests for default sort functionality v1.1.32 Hein 2026-07-29 10:05:24 +02:00
  • a70e3e02d0 feat(security): complete OAuth2/OIDC spec coverage in OAuthServer HeinandClaude Sonnet 5 2026-07-29 09:45:09 +02:00
  • cec8eb5c0f Merge branch 'main' of https://github.com/bitechdev/ResolveSpec Hein 2026-07-28 17:48:14 +02:00
  • 06fa3198f2 feat(security): implement OAuth2 client authentication and grants * Add client authentication methods and client_credentials grant support * Introduce RFC 9728 Protected Resource Metadata endpoint * Implement OIDC discovery and id_token issuance * Update database schema for new client fields * Add new HTTP handlers for metadata and userinfo Hein 2026-07-28 17:48:09 +02:00
  • 52d3dca1fa feat(hooks): add BeforeOp hook and fix BeforeScan row-security gap warkanum 2026-07-25 11:39:31 +02:00
  • 873e8925d4 fix(handler): ensure target ID is provided for updates v1.1.31 v1.1.30 Hein 2026-07-24 16:35:22 +02:00
  • b23916048a fix: ordering in before hook v1.1.29 Hein 2026-07-24 15:56:23 +02:00
  • 47708fc87a fix(security): run RLS-scoping hooks in the same transaction as their queries v1.1.28 Hein 2026-07-24 12:40:27 +02:00
  • a85e572732 fix(hooks): reset Tx to pooled connection for post-commit hook calls v1.1.27 Hein 2026-07-20 13:45:13 +02:00
  • 598fd687f6 feat(security): add GetUserRef method for opaque user identifiers v1.1.26 Hein 2026-07-10 13:47:32 +02:00
  • eee83f9dc6 feat(security): add query mode handling for database operations v1.1.25 Hein 2026-07-07 15:29:29 +02:00
  • 8a06aacfb2 fix(cors): update CORS headers handling for requests * Reflect request origin for Access-Control-Allow-Origin * Set Vary header for caching based on origin * Allow specific headers from preflight requests * Enable credentials only for specific origins v1.1.24 Hein 2026-07-01 12:27:39 +02:00
  • 705c4f8001 fix(manager): ensure HTTP1 is set when HTTP2 is disabled v1.1.23 v1.1.21 Hein 2026-06-30 13:54:56 +02:00
  • d648614611 feat(config): add PanicHandler to Config for custom recovery v1.1.20 Hein 2026-06-30 13:49:51 +02:00
  • 3f86eb0f06 feat(config): add HTTP2 field to ServerInstanceConfig and align with server.Config v1.1.19 Hein 2026-06-30 13:36:06 +02:00
  • 3dac55cb19 fix: Set http2 based on prop v1.1.18 Hein 2026-06-30 13:29:55 +02:00
  • bbb2c6d127 feat(server): add HTTP2 support in server configuration Hein 2026-06-30 11:33:31 +02:00
  • 3fec7b1a90 fix(handler): update Content-Range headers for API response * change Content-Range format to include 'items' * add X-Api-Range-From and X-Api-Modelname headers * add X-Api-Range-Etotal header for total filtered items v1.1.17 Hein 2026-06-24 10:02:54 +02:00
  • 910390f62d fix(headers): correct order of limit and offset parsing v1.1.16 Hein 2026-06-24 09:47:14 +02:00
  • b9bed67bd7 feat(security): add program user ID and table to user context v1.1.15 Hein 2026-06-23 10:18:22 +02:00
  • 11ef16f75a fix(sql_helpers): adjust parenthesis nesting depth comment v1.1.14 Hein 2026-06-23 09:41:40 +02:00
  • 48b72a7631 fix(sql_helpers): enhance splitByAND to handle BETWEEN and quotes * Add support for BETWEEN-aware AND detection * Ensure AND inside single-quoted strings does not cause splits * Update tests to cover new BETWEEN and quote scenarios Hein 2026-06-23 09:41:27 +02:00
  • 4c512acf25 test(function_api): add test for x-detailapi header response v1.1.13 Hein 2026-06-23 08:53:33 +02:00
  • 07a402634e fix(function_api): enhance detail format with table metadata * include table name and prefix in response * add field metadata extraction for raw SQL results Hein 2026-06-23 08:50:29 +02:00
  • 0e8f8925c6 fix(reflection): replace reflect.Ptr with reflect.Pointer * Updated all instances of reflect.Ptr to reflect.Pointer for consistency in type checking. v1.1.12 Hein 2026-06-22 16:40:07 +02:00
  • 5a359a160b fix(handler): update sendFormattedResponse to include table name and model Hein 2026-06-22 16:38:21 +02:00
  • a2799fa224 fix(handler): re-fetch records to capture DB-generated values v1.1.11 Hein 2026-06-12 16:28:51 +02:00
  • 1419542650 fix(handler): re-fetch records to capture DB-generated changes Hein 2026-06-12 13:37:07 +02:00
  • c120b49529 fix(router): prevent HTML escaping in JSON responses fix(sql_helpers): avoid prefix extraction in subqueries Hein 2026-06-08 15:13:58 +02:00
  • 66348dac97 test(handler): add tests for valid nested request verbs v1.1.10 Hein 2026-06-08 09:06:29 +02:00
  • a87cd18b1b fix(handler): validate nested request structure for relations * added checks for valid _request values in single and multiple relations * introduced isValidNestedRequest function to encapsulate validation logic fix(crud): expand operation handling for nested CUD * added "add" to insert operations and "modify" to update operations * included "remove" in delete operations Hein 2026-06-08 09:02:29 +02:00
  • 29449c93d5 fix(test): add tests for asymmetric join column handling Hein 2026-06-07 19:13:59 +02:00
  • 3b6e5c75be fix(handler): update foreign key field resolution logic * Adjust foreign key field name selection for has-many/has-one relationships * Improve logging to clarify foreign key and child field usage v1.1.9 Hein 2026-06-07 14:20:55 +02:00
  • 549ccb8468 fix(handler): fetch updated records after transaction commits * Update selection queries to use model columns * Ensure updated records are fetched and returned in responses v1.1.8 Hein 2026-06-05 11:12:04 +02:00
  • 1af9c76337 fix(handler): fetch updated record after transaction commits v1.1.7 v1.1.6 Hein 2026-06-04 18:23:18 +02:00
  • 938a2ef3d9 fix(staticweb): add fallback for extensionless file paths v1.1.5 Hein 2026-05-27 18:41:43 +02:00
  • 69cc3e2839 fix(db): update Returning method to accept multiple columns v1.1.4 Hein 2026-05-27 14:11:20 +02:00
  • 4018af0636 fix(validation): enhance filter logic for column validation * adjust handling of "all" filter to consider filtered columns fix(function_api): improve variable substitution in SQL queries * add safeSubstituteVar for context-aware value sanitization v1.1.3 Hein 2026-05-27 12:17:31 +02:00
  • c4e79d6950 fix(validation): use strings.EqualFold for case-insensitive comparison Hein 2026-05-27 12:07:08 +02:00
  • 982a0e62ac fix(validation): add Columns method to retrieve valid column names Hein 2026-05-27 12:06:46 +02:00
  • 5d459c95a7 fix(headers): reorder import statements for clarity Hein 2026-05-27 11:28:39 +02:00
  • e9f7726e43 fix(headers): sort combined parameters before processing Hein 2026-05-27 11:28:22 +02:00
  • 3d2251317a fix(headers): remove unused utf8 validation in DecodeParam v1.1.2 Hein 2026-05-26 10:31:34 +02:00
  • 1ce0ab1ab4 fix(validation): improve preload column validation logic v1.1.1 Hein 2026-05-21 20:18:01 +02:00
  • 1f9b230f7f fix(validation): improve preload column validation logic * Use related model's validator for filtering preload columns * Ensure valid columns are checked against the correct validator Hein 2026-05-21 20:16:53 +02:00
  • c42c6b28e3 fix(errortracking): update error context handling in Sentry * Replace event.Extra with event.Contexts["extra"] for error and message captures. * Consolidate extra context handling in CapturePanic method. v1.1.0 v1.0.114 v1.0.113 Hein 2026-05-21 14:03:01 +02:00
  • 57e7503389 feat(staticweb): enhance fallback logic for extensionless paths * Added support for serving index.html for extensionless paths * Updated isStaticAsset to exclude paths without extensions from static asset checks Hein 2026-05-21 13:30:39 +02:00
  • 0308644075 feat(auth): add authenticate callback for fallback logic * Implement SetAuthenticateCallback in authenticators * Update Authenticate methods to use callback on failure v1.0.112 Hein 2026-05-21 11:27:51 +02:00
  • e5984f5205 feat(security): add cookie support for login and logout methods * Implement LoginWithCookie and LogoutWithCookie in stubAuthenticator, mockAuth, mockSecurityProvider, and MockAuthenticator * Update tests to use cookie-based authentication v1.0.111 Hein 2026-05-21 09:51:30 +02:00
  • 76909ae869 feat(security): add cookie support for login and logout methods * Implement LoginWithCookie and LogoutWithCookie in CompositeSecurityProvider * Update Authenticator interface to include cookie methods * Add cookie support in HeaderAuthenticator and JWTAuthenticator v1.0.110 Hein 2026-05-21 09:48:46 +02:00
  • c90c2984ac feat(security): add cookie session support to DatabaseAuthenticator * Introduce enableCookieSession option for session management * Implement LoginWithCookie and LogoutWithCookie methods * Update Authenticate method to support session token from cookie v1.0.109 Hein 2026-05-21 09:14:50 +02:00
  • 1ab4ae33e7 feat(security): implement ChainAuthenticator for sequential authentication v1.0.108 Hein 2026-05-21 08:35:39 +02:00
  • 905457964c fix(restheadspec): remove redundant column selection in query Hein 2026-05-21 08:34:09 +02:00
  • c42d09238f fix: better error detail for failed sql v1.0.107 Hein 2026-05-20 13:06:26 +02:00
  • 0647a88aba fix(restheadspec): qualify primary key and sort columns with table alias Hein 2026-05-20 12:41:16 +02:00
  • 3d2e11eeed fix(restheadspec): always respond 200 OK regardless of result count in sendFormattedResponse v1.0.106 Hein 2026-05-19 09:46:25 +02:00
  • 4493bfa40f feat(reflection): add IsEmptyValue helper; guard CUD ops against missing PK v1.0.105 Hein 2026-05-19 09:14:19 +02:00
  • b157379ff8 fix(restheadspec): return 200 OK with empty body instead of 204 on zero results v1.0.104 Hein 2026-05-19 08:56:11 +02:00
  • 52752d9c8b fix(bun): adjust field alignment in BunSelectQuery struct v1.0.103 Hein 2026-05-18 17:12:32 +02:00
  • baca5ad29e fix(bun): add relation alias handling for separate-query preloads * implement preloadRelationAlias to rewrite WHERE conditions * update Where method to handle relation alias in queries Hein 2026-05-18 17:12:21 +02:00
  • 53ab22ce02 fix(nestedCUD): handle error in processChildRelations gracefully v1.0.102 Hein 2026-05-18 16:14:24 +02:00
  • 09a3dc92b9 fix(restheadspec): normalize empty results to objects instead of arrays v1.0.101 Hein 2026-05-18 14:37:46 +02:00
  • 6590cd789a fix(nestedCUD): re-select rows after insert/update for accurate state * Ensure result.Data reflects DB-generated defaults after insert. * Update result.Data with current DB state after update. v1.0.100 Hein 2026-05-18 13:10:13 +02:00
  • 4244e838b1 fix(reflection): enhance GetForeignKeyColumn logic for self-referential models * Add support for self-referential models in GetForeignKeyColumn * Update comments for clarity on foreign key resolution strategies * Introduce selfRefItem struct for testing self-referential behavior v1.0.99 Hein 2026-05-18 13:03:07 +02:00