==================
Temporal access example
==================

model
  schema 1.1

type user

type document
  relations
    define viewer: [user, user with non_expired_grant]

condition non_expired_grant(current_time: timestamp, grant_time: timestamp, grant_duration: duration) {
  current_time < grant_time + grant_duration
}

---

(source_file
  (model
    (schema
      (version)))
  (type_declaration
    (identifier))
  (type_declaration
    (identifier)
    (relations
      (definition
        (identifier)
        (relation_def
          (direct_relationship
            (identifier)
            (identifier)
            (conditional
              (identifier)))))))
  (condition_declaration
    (identifier)
    (param
      (identifier)
      (type_identifier))
    (param
      (identifier)
      (type_identifier))
    (param
      (identifier)
      (type_identifier))
    (condition_body
      (binary_expression
        (identifier)
        (binary_expression
          (identifier)
          (identifier))))))
