sui_indexer_alt_schema/
objects.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4use diesel::prelude::*;
5use sui_field_count::FieldCount;
6
7use crate::schema::kv_objects;
8use crate::schema::obj_versions;
9
10#[derive(Insertable, Debug, Clone, FieldCount, Queryable)]
11#[diesel(table_name = kv_objects, primary_key(object_id, object_version))]
12#[diesel(treat_none_as_default_value = false)]
13pub struct StoredObject {
14    pub object_id: Vec<u8>,
15    pub object_version: i64,
16    pub serialized_object: Option<Vec<u8>>,
17}
18
19#[derive(
20    Insertable, Selectable, Debug, Clone, PartialEq, Eq, FieldCount, Queryable, QueryableByName,
21)]
22#[diesel(table_name = obj_versions, primary_key(object_id, object_version))]
23pub struct StoredObjVersion {
24    pub object_id: Vec<u8>,
25    pub object_version: i64,
26    pub object_digest: Option<Vec<u8>>,
27    pub cp_sequence_number: i64,
28}