Project class

A Kumiho project—the top-level container for assets.

Projects are the root of the Kumiho hierarchy. Each project has its own namespace for spaces and items, and manages access control and settings independently. The Project class exposes ergonomic helpers for creating and listing model-layer entities without exposing the protobuf surfaces that back the gRPC transport.

final project = await kumiho.getProject('my-project');

// Create spaces
final assets = await project.createSpace('assets');
final shots = await project.createSpace('shots');

// Create items
final hero = await project.createItem('hero', 'model');

// List all spaces
await for (final space in project.getSpaces(recursive: true)) {
  print(space.path);
}
Inheritance

Constructors

Project(ProjectResponse response, dynamic client)
Creates a Project from a protobuf response.

Properties

allowPublic bool
Whether anonymous read access is enabled.
latefinal
client → dynamic
The client instance for making API calls.
finalinherited
createdAt String?
ISO timestamp when the project was created.
latefinal
deprecated bool
Whether the project is deprecated (soft-deleted).
latefinal
description String
Human-readable description of the project.
latefinal
hashCode int
The hash code for this object.
no setterinherited
name String
The URL-safe name of the project (e.g., "film-2024").
latefinal
projectId String
The unique identifier for this project.
latefinal
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
updatedAt String?
ISO timestamp of the last update.
latefinal

Methods

createBundle(String bundleName, {String? parentPath, Map<String, String>? metadata}) Future<Bundle>
Creates a new bundle within this project.
createItem(String itemName, String kind, {String? parentPath}) Future<Item>
Creates a new item within this project.
createSpace(String spaceName, {String? parentPath}) Future<Space>
Creates a space within this project.
delete({bool force = false}) Future<void>
Soft-deletes (deprecates) or hard-deletes this project.
getItems({String? kindFilter, String? nameFilter, int? pageSize, String? cursor, bool includeDeprecated = false}) Future<PagedList<Item>>
Searches for items within this project.
getSpace(String relativePath) Future<Space>
Gets a space by path relative to this project.
getSpaces({bool recursive = false}) Future<List<Space>>
Gets all child spaces of this project.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setAllowPublic(bool allowPublic) Future<Project>
Alias for setPublic using the allow_public terminology.
setPublic(bool allowPublic) Future<Project>
Sets the public access mode for this project.
toString() String
A string representation of this object.
override
update({String? description}) Future<Project>
Updates the project description.

Operators

operator ==(Object other) bool
The equality operator.
inherited