Create a [DatabaseView] for the current database.
(
&self,
txn: &mut TransactionMut,
params: CreateViewParams,
field_orders: Vec<FieldOrder>,
row_orders: Vec<RowOrder>,
)
| 2241 | |
| 2242 | /// Create a [DatabaseView] for the current database. |
| 2243 | pub fn create_view( |
| 2244 | &self, |
| 2245 | txn: &mut TransactionMut, |
| 2246 | params: CreateViewParams, |
| 2247 | field_orders: Vec<FieldOrder>, |
| 2248 | row_orders: Vec<RowOrder>, |
| 2249 | ) -> Result<(), CollabError> { |
| 2250 | let params = CreateViewParamsValidator::validate(params)?; |
| 2251 | let database_id = self.get_database_id(txn)?; |
| 2252 | let view = DatabaseView { |
| 2253 | id: params.view_id, |
| 2254 | database_id, |
| 2255 | name: params.name, |
| 2256 | layout: params.layout, |
| 2257 | layout_settings: params.layout_settings, |
| 2258 | filters: params.filters, |
| 2259 | group_settings: params.group_settings, |
| 2260 | sorts: params.sorts, |
| 2261 | field_settings: params.field_settings, |
| 2262 | row_orders, |
| 2263 | field_orders, |
| 2264 | created_at: params.created_at, |
| 2265 | modified_at: params.modified_at, |
| 2266 | is_inline: false, |
| 2267 | embedded: params.embedded, |
| 2268 | }; |
| 2269 | |
| 2270 | trace!( |
| 2271 | "Insert linked view to database: {}, view: {}", |
| 2272 | view.database_id, view.id |
| 2273 | ); |
| 2274 | self.views.insert_view(txn, view); |
| 2275 | Ok(()) |
| 2276 | } |
| 2277 | |
| 2278 | pub fn create_linked_view( |
| 2279 | &self, |
no test coverage detected