storj/pkg/satellite/satellitedb/dbx/satellitedb.dbx
Yehor Butko 0c95fba4c8
Satellite Projects db entity and api updated (#772)
* Satellite Projects db entity and api updated

* get users projects query updated with dbx
2018-12-06 17:19:47 +02:00

111 lines
2.5 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 id
field id blob
field member_id user.id cascade
field project_id project.id cascade ( updatable )
field created_at timestamp ( autoinsert )
)
read all ( select project_member)
read all (
select project_member
where project_member.project_id = ?
)
read one (
select project_member
where project_member.member_id = ?
)
read one (
select project_member
where project_member.id = ?
)
create project_member ( )
update project_member ( where project_member.id = ? )
delete project_member ( where project_member.id = ? )