678eb81d54
* V3-898 Create ability for querying db in transaction scope * handling errors * fixing linter * Transaction updated * fixing empty lines linter * tx signatures changed * fixing comments
107 lines
2.4 KiB
Plaintext
107 lines
2.4 KiB
Plaintext
// dbx.v1 golang satellitedb.dbx .
|
|
|
|
model user (
|
|
key id
|
|
unique email
|
|
|
|
field id blob
|
|
field first_name text ( updatable )
|
|
field last_name text ( updatable )
|
|
field email text ( updatable )
|
|
field password_hash blob ( updatable )
|
|
|
|
field created_at timestamp ( autoinsert )
|
|
)
|
|
read one (
|
|
select user
|
|
where user.email = ?
|
|
where user.password_hash = ?
|
|
)
|
|
read one (
|
|
select user
|
|
where user.id = ?
|
|
)
|
|
create user ( )
|
|
update user ( where user.id = ? )
|
|
delete user ( where user.id = ? )
|
|
|
|
|
|
model company (
|
|
key user_id
|
|
|
|
field user_id user.id cascade
|
|
|
|
field name text ( updatable )
|
|
field address text ( updatable )
|
|
field country text ( updatable )
|
|
field city text ( updatable )
|
|
field state text ( updatable )
|
|
field postal_code text ( updatable )
|
|
|
|
field created_at timestamp ( autoinsert )
|
|
)
|
|
read one (
|
|
select company
|
|
where company.user_id = ?
|
|
)
|
|
create company ( )
|
|
update company ( where company.user_id = ? )
|
|
delete company ( where company.user_id = ? )
|
|
|
|
|
|
model project (
|
|
key id
|
|
|
|
field id blob
|
|
field owner_id user.id setnull ( nullable, updatable )
|
|
|
|
field name text
|
|
field company_name text
|
|
field description text ( updatable )
|
|
// stores last accepted version of terms of use
|
|
field terms_accepted int ( updatable )
|
|
|
|
field created_at timestamp ( autoinsert )
|
|
)
|
|
read all ( select project)
|
|
read one (
|
|
select project
|
|
where project.id = ?
|
|
)
|
|
read all (
|
|
select project
|
|
where project.owner_id = ?
|
|
)
|
|
read all (
|
|
select project
|
|
join project.id = project_member.project_id
|
|
where project_member.member_id = ?
|
|
)
|
|
create project ( )
|
|
update project ( where project.id = ? )
|
|
delete project ( where project.id = ? )
|
|
|
|
|
|
model project_member (
|
|
key member_id project_id
|
|
|
|
field member_id user.id cascade
|
|
field project_id project.id cascade
|
|
|
|
field created_at timestamp ( autoinsert )
|
|
)
|
|
|
|
read all (
|
|
select project_member
|
|
where project_member.project_id = ?
|
|
)
|
|
read one (
|
|
select project_member
|
|
where project_member.member_id = ?
|
|
)
|
|
create project_member ( )
|
|
delete project_member (
|
|
where project_member.member_id = ?
|
|
where project_member.project_id = ?
|
|
)
|