io.basestar:basestar-auth

A declarative data-access framework

License

License

GroupId

GroupId

io.basestar
ArtifactId

ArtifactId

basestar-auth
Last Version

Last Version

1.2.2
Release Date

Release Date

Type

Type

jar
Description

Description

A declarative data-access framework
Project Organization

Project Organization

Basestar.IO

Download basestar-auth

How to add to project

<!-- https://jarcasting.com/artifacts/io.basestar/basestar-auth/ -->
<dependency>
    <groupId>io.basestar</groupId>
    <artifactId>basestar-auth</artifactId>
    <version>1.2.2</version>
</dependency>
// https://jarcasting.com/artifacts/io.basestar/basestar-auth/
implementation 'io.basestar:basestar-auth:1.2.2'
// https://jarcasting.com/artifacts/io.basestar/basestar-auth/
implementation ("io.basestar:basestar-auth:1.2.2")
'io.basestar:basestar-auth:jar:1.2.2'
<dependency org="io.basestar" name="basestar-auth" rev="1.2.2">
  <artifact name="basestar-auth" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.basestar', module='basestar-auth', version='1.2.2')
)
libraryDependencies += "io.basestar" % "basestar-auth" % "1.2.2"
[io.basestar/basestar-auth "1.2.2"]

Dependencies

compile (2)

Group / Artifact Type Version
io.basestar : basestar-jackson jar
io.swagger.core.v3 : swagger-models jar

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.18.12

test (1)

Group / Artifact Type Version
io.basestar : basestar-test jar

Project Modules

There are no modules declared in this project.

Basestar

master build maven central

The modern, declarative data toolkit

Writing CRUD layers is a pain, maintaining generated CRUD layers is a pain, you've defined CRUD APIs a million times, and you want to get on with the interesting parts of your project - you should be able to describe your data, the relationships between your data, and rules for accessing your data succinctly, in one place, and all of the infrastructure and machinery implied by that declaration should just exist.

You shouldn't have to choose between tools that work for your web-app and tools that work for massive scale - online or offline - data processing and analysis. You shouldn't be constrained to one implementation, or trapped by one cloud provider.

Basestar solves a relatively simple problem, but it solves it comprehensively and gives you simplicity and power without taking away flexibility or control.

Get started

Pick the parts you need, for example:

<dependencies>
    <dependency>
        <groupId>io.basestar</groupId>
        <artifactId>basestar-database-server</artifactId>
        <version>${basestar.version}</version>
    </dependency>
    <dependency>
        <groupId>io.basestar</groupId>
        <artifactId>basestar-storage-dynamodb</artifactId>
        <version>${basestar.version}</version>
    </dependency>
</dependencies>

Schema first design

See: Basestar schema (basestar-schema)

Integrated expression language

See: Basestar expressions (basestar-expression)

Row-level security

Write me

Multi-value indexes

Write me

Storage engines

Examples

Principal:
    type: object

User:
    type: object
    extend: Principal
    links:
      groups:
        schema: Group
        expression: member.id == this.id for any member in members

Group:
    type: object
    extend: Principal
    properties:
      members:
        array: User
    indexes:
      over:
        member: members
      partition:
        - member.id

Project:
    type: object
    properties:
      owner:
        type: Principal
    permissions:
      read:
        expression: this.principal.id in {caller.id} + {group.id for group in caller.groups}
        expand:
          - caller.groups

Thing:
  type: object
  properties:
    project:
      type: Project
  permissions:
    read:
      inherit:
        - project.read
        
io.basestar

Basestar

Versions

Version
1.2.2
1.2.1
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1
1.0