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
-
- Object
- KumihoObject
- Project
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