CREATE TABLE collections (
  uuid     TEXT NOT NULL PRIMARY KEY,
  org_uuid TEXT NOT NULL REFERENCES organizations (uuid),
  name     TEXT NOT NULL
);

CREATE TABLE organizations (
  uuid          TEXT NOT NULL PRIMARY KEY,
  name          TEXT NOT NULL,
  billing_email TEXT NOT NULL
);


CREATE TABLE users_collections (
  user_uuid       TEXT NOT NULL REFERENCES users (uuid),
  collection_uuid TEXT NOT NULL REFERENCES collections (uuid),
  PRIMARY KEY (user_uuid, collection_uuid)
);

CREATE TABLE users_organizations (
  user_uuid TEXT    NOT NULL REFERENCES users (uuid),
  org_uuid  TEXT    NOT NULL REFERENCES organizations (uuid),

  key       TEXT    NOT NULL,
  status    INTEGER NOT NULL,
  type      INTEGER NOT NULL,

  PRIMARY KEY (user_uuid, org_uuid)
);
