{"id":18700669,"url":"https://github.com/manosbatsis/vaultaire","last_synced_at":"2025-10-24T13:00:12.700Z","repository":{"id":48037901,"uuid":"203215390","full_name":"manosbatsis/vaultaire","owner":"manosbatsis","description":"Query DSL and data access utilities for Corda developers.","archived":false,"fork":false,"pushed_at":"2023-07-15T09:33:16.000Z","size":5006,"stargazers_count":13,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T03:33:11.561Z","etag":null,"topics":["corda","corda-developers","corda-framework","corda-rpc","cordapp","cordapps","dsl","dsl-builder","kotlin","kotlin-dsl","query","query-builder","query-dsl","query-language","querydsl","querying"],"latest_commit_sha":null,"homepage":"https://manosbatsis.github.io/vaultaire","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manosbatsis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-08-19T17:04:56.000Z","updated_at":"2025-03-02T05:57:18.000Z","dependencies_parsed_at":"2023-12-15T20:10:15.251Z","dependency_job_id":"1211919f-225b-4db3-b3f2-4329e6ba4615","html_url":"https://github.com/manosbatsis/vaultaire","commit_stats":{"total_commits":208,"total_committers":3,"mean_commits":69.33333333333333,"dds":0.5048076923076923,"last_synced_commit":"628d9aab34c1a50d71a774b566b2193dbc235d71"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manosbatsis%2Fvaultaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manosbatsis%2Fvaultaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manosbatsis%2Fvaultaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manosbatsis%2Fvaultaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manosbatsis","download_url":"https://codeload.github.com/manosbatsis/vaultaire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248537840,"owners_count":21120890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["corda","corda-developers","corda-framework","corda-rpc","cordapp","cordapps","dsl","dsl-builder","kotlin","kotlin-dsl","query","query-builder","query-dsl","query-language","querydsl","querying"],"created_at":"2024-11-07T11:38:24.170Z","updated_at":"2025-10-24T13:00:12.508Z","avatar_url":"https://github.com/manosbatsis.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vaultaire [![Maven Central](https://img.shields.io/maven-central/v/com.github.manosbatsis.vaultaire/vaultaire.svg)](https://repo1.maven.org/maven2/com/github/manosbatsis/vaultaire/vaultaire/) [![Build Status](https://travis-ci.com/manosbatsis/vaultaire.svg?branch=master)](https://travis-ci.com/manosbatsis/vaultaire)\n\nQuery DSL and data access utilities for Corda developers.   \n\nSee complete documentation at https://manosbatsis.github.io/vaultaire\n\n## Query DSL\n\nUse DSL will make your queries much easier to read and maintain. \nEach query DSL is automatically (re)generated at build time using annotation\nprocessing.\n\nUsage example:\n\n```kotlin\nval queryCriteria: QueryCriteria = booksQuery {\n    and {\n    \t// Check publisher?\n        if(checkPublisher) fields.publisher `==` \"Corda Books Ltd.\"\n        or {\n            fields.title  `==` \"A book on Corda\"\n            fields.author `!=` \"John Doe\"\n        }\n    }\n    orderBy {\n        fields.title sort DESC\n    }\n}.toCriteria()\n```\n\nFor more details see [Query DSL](https://manosbatsis.github.io/vaultaire/core/query-dsl/).\n\n## State Services\n\nVaultaire's `StateService` components provide a simple, consistent API to\nload, query and track vault states.\n\n`StateService` implementations are usually auto-generated at build-time\nand specific to a `ContractState` type. They also help decouple your \ncode from `ServiceHub` and `CordaRPCOps` amd help increase code reuse in and out of a Node, \ni.e. between cordapps and their clients.\n\nFor more details see [State Services](https://manosbatsis.github.io/vaultaire/core/state-services/).\n\n\n## RSQL Plugin\n\nA plugin with support for [RSQL](https://www.baeldung.com/rest-api-search-language-rsql-fiql), \na URL-friendly query language for dynamic, complex queries and \nmaintenance-free REST endpoints for searching the Vault.\n\nFor more details see [RSQL Support](https://manosbatsis.github.io/vaultaire/plugins/rsql-support/).\n\n## Accounts Plugin\n\nA plugin for adding Corda Accounts support to Vaultaire's runtime and build-time modules.\n\nFor more details see [Corda Accounts](https://manosbatsis.github.io/vaultaire/plugins/corda-accounts/).\n\n## State DTOs\n\nMaintaining Data Transfer Objects for your contract states can be a mundane, error-prone task. \nVaultaire’s annotation processing automates this by (re)generating those DTOs for you.\n\nFor more info checkout [State DTOs](https://manosbatsis.github.io/vaultaire/core/state-dtos/)\n\n## Other Utils\n\nVaultaire includes a few other utilities like:\n\n- REST-friendly pages for query results.\n- Annotation to generate responder flows from commonly used supertypes.\n\nFor more info checkout [Other Utilities](https://manosbatsis.github.io/vaultaire/core/other-utils/)\n\n\n## Sample Projects\n\n1. For simple examples, checkout the vaultaire-example-contract and vaultaire-example-workflow \n   modules in Vaultaire's [repository](https://github.com/manosbatsis/vaultaire) on Github.\n2. For an extensive Cordapp example including a Spring Boot client checkout the \n   [corbeans-yo-cordapp](https://github.com/manosbatsis/corbeans-yo-cordapp) \n   repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanosbatsis%2Fvaultaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanosbatsis%2Fvaultaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanosbatsis%2Fvaultaire/lists"}