Files
simple-nanoshare/dbschema/default.gel
T

42 lines
865 B
Plaintext

module default {
scalar type access_status extending enum<ok, denied, expired, error>;
type files {
required file_id: str;
required file_name: str;
required file_content: str;
required file_size: str;
required note: str;
required content_type: str {
readonly := true;
}
required expires_at: datetime;
required uploaded_at: datetime {
readonly := true;
}
multi accesses -> file_access;
required property user_id: str {
readonly := true;
};
index on ((.file_id, .file_name, .expires_at, .user_id));
}
type file_access {
required ip: str;
required status: access_status {
default := access_status.ok;
}
user_agent: str {
readonly := true;
};
required at: datetime {
readonly := true;
default := datetime_of_statement();
}
}
}