interfaces

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSceneIsLocked   error = errors.New("scene is locked")
	ErrOperationDenied error = errors.New("operation denied")
	ErrFileNotIncluded error = errors.New("file not included")
)
View Source
var (
	ErrNoDataSourceAvailable error = errors.New("no datasource available")
	ErrDataSourceInvalidURL  error = errors.New("invalid url")
	ErrDatasetInvalidDepth   error = errors.New("invalid depth")
)
View Source
var (
	ErrParentLayerNotFound                  error = errors.New("parent layer not found")
	ErrPluginNotFound                       error = errors.New("plugin not found")
	ErrExtensionNotFound                    error = errors.New("extension not found")
	ErrInfoboxNotFound                      error = errors.New("infobox not found")
	ErrInfoboxAlreadyExists                 error = errors.New("infobox already exists")
	ErrCannotAddLayerToLinkedLayerGroup     error = errors.New("cannot add layer to linked layer group")
	ErrCannotRemoveLayerToLinkedLayerGroup  error = errors.New("cannot remove layer to linked layer group")
	ErrLinkedLayerItemCannotBeMoved         error = errors.New("linked layer item cannot be moved")
	ErrLayerCannotBeMovedToLinkedLayerGroup error = errors.New("layer cannot be moved to linked layer group")
	ErrCannotMoveLayerToOtherScene          error = errors.New("layer cannot layer to other scene")
	ErrExtensionTypeMustBePrimitive         error = errors.New("extension type must be primitive")
	ErrExtensionTypeMustBeBlock             error = errors.New("extension type must be block")
	ErrInvalidExtensionType                 error = errors.New("invalid extension type")
)
View Source
var (
	ErrPluginAlreadyRegistered = errors.New("plugin already registered")
	ErrInvalidPluginPackage    = errors.New("invalid plugin package")
)
View Source
var (
	ErrProjectAliasIsNotSet    error = errors.New("project alias is not set")
	ErrProjectAliasAlreadyUsed error = errors.New("project alias is already used by another project")
)
View Source
var (
	ErrPropertyNotFound              error = errors.New("property not found")
	ErrPropertyInvalidType           error = errors.New("property invalid type")
	ErrInvalidFile                   error = errors.New("invalid file")
	ErrFailedToUploadFile            error = errors.New("failed to upload file")
	ErrPropertySchemaMustBeSpecified error = errors.New("property schema must be specified")
	ErrInvalidDatasetFieldID         error = errors.New("invalid dataset field id")
	ErrInvalidPropertyLinks          error = errors.New("invalid property links")
	ErrInvalidPropertyValue          error = errors.New("invalid property value")
)
View Source
var (
	ErrPluginAlreadyInstalled    error = errors.New("plugin already installed")
	ErrPluginNotInstalled        error = errors.New("plugin not installed")
	ErrExtensionTypeMustBeWidget error = errors.New("extension type must be widget")
)
View Source
var (
	ErrOwnerCannotLeaveTheTeam = errors.New("owner user cannot leave from the team")
	ErrCannotChangeOwnerRole   = errors.New("cannot change the role of the team owner")
	ErrCannotDeleteTeam        = errors.New("cannot delete team because at least one project is left")
)
View Source
var (
	ErrUserInvalidPasswordConfirmation = errors.New("invalid password confirmation")
	ErrUserInvalidPasswordReset        = errors.New("invalid password reset request")
	ErrUserInvalidLang                 = errors.New("invalid lang")
	ErrSignupInvalidSecret             = errors.New("invalid secret")
	ErrSignupInvalidName               = errors.New("invalid name")
	ErrInvalidUserEmail                = errors.New("invalid email")
	ErrNotVerifiedUser                 = errors.New("not verified user")
	ErrSignupInvalidPassword           = errors.New("invalid password")
	ErrUserAlreadyExists               = errors.New("user already exists")
)
View Source
var (
	ErrCreateAssetFailed error = errors.New("failed to create asset")
)
View Source
var (
	ErrNonemptyTagGroupCannotDelete = errors.New("can't delete non-empty tag group")
)

Functions

This section is empty.

Types

type AddDatasetSchemaParam

type AddDatasetSchemaParam struct {
	SceneId             id.SceneID
	Name                string
	RepresentativeField *id.DatasetFieldID
}

type AddDynamicDatasetParam

type AddDynamicDatasetParam struct {
	SchemaId id.DatasetSchemaID
	Author   string
	Content  string
	Target   *string
	Lat      *float64
	Lng      *float64
}

type AddDynamicDatasetSchemaParam

type AddDynamicDatasetSchemaParam struct {
	SceneId id.SceneID
}

type AddInfoboxFieldParam

type AddInfoboxFieldParam struct {
	LayerID     id.LayerID
	PluginID    id.PluginID
	ExtensionID id.PluginExtensionID
	Index       *int
}

type AddLayerGroupInput

type AddLayerGroupInput struct {
	ParentLayerID         id.LayerID
	PluginID              *id.PluginID
	ExtensionID           *id.PluginExtensionID
	Index                 *int
	LinkedDatasetSchemaID *id.DatasetSchemaID
	RepresentativeFieldId *id.DatasetFieldID
	Name                  string
}

type AddLayerItemInput

type AddLayerItemInput struct {
	ParentLayerID   id.LayerID
	PluginID        *id.PluginID
	ExtensionID     *id.PluginExtensionID
	Index           *int
	LinkedDatasetID *id.DatasetID
	Name            string
	LatLng          *property.LatLng
}

type AddPropertyItemParam

type AddPropertyItemParam struct {
	PropertyID     id.PropertyID
	Pointer        *property.Pointer
	Index          *int
	NameFieldValue *property.Value
}

type AssetFilterType added in v0.6.0

type AssetFilterType string
const (
	AssetFilterDate AssetFilterType = "DATE"
	AssetFilterSize AssetFilterType = "SIZE"
	AssetFilterName AssetFilterType = "NAME"
)

type AttachItemToGroupParam

type AttachItemToGroupParam struct {
	ItemID, GroupID id.TagID
}

type Container

type Container struct {
	Asset     Asset
	Dataset   Dataset
	Layer     Layer
	Plugin    Plugin
	Project   Project
	Property  Property
	Published Published
	Scene     Scene
	Tag       Tag
	Team      Team
	User      User
}

type CreateAssetParam

type CreateAssetParam struct {
	TeamID id.TeamID
	File   *file.File
}

type CreateProjectParam

type CreateProjectParam struct {
	TeamID      id.TeamID
	Visualizer  visualizer.Visualizer
	Name        *string
	Description *string
	ImageURL    *url.URL
	Alias       *string
	Archived    *bool
}

type CreateTagGroupParam

type CreateTagGroupParam struct {
	Label   string
	SceneID id.SceneID
	Tags    []id.TagID
}

type CreateTagItemParam

type CreateTagItemParam struct {
	Label                 string
	SceneID               id.SceneID
	Parent                *id.TagID
	LinkedDatasetSchemaID *id.DatasetSchemaID
	LinkedDatasetID       *id.DatasetID
	LinkedDatasetField    *id.DatasetFieldID
}

type Dataset

type Dataset interface {
	Fetch(context.Context, []id.DatasetID, *usecase.Operator) (dataset.List, error)
	GraphFetch(context.Context, id.DatasetID, int, *usecase.Operator) (dataset.List, error)
	FetchSchema(context.Context, []id.DatasetSchemaID, *usecase.Operator) (dataset.SchemaList, error)
	ImportDataset(context.Context, ImportDatasetParam, *usecase.Operator) (*dataset.Schema, error)
	ImportDatasetFromGoogleSheet(context.Context, ImportDatasetFromGoogleSheetParam, *usecase.Operator) (*dataset.Schema, error)
	GraphFetchSchema(context.Context, id.DatasetSchemaID, int, *usecase.Operator) (dataset.SchemaList, error)
	AddDynamicDatasetSchema(context.Context, AddDynamicDatasetSchemaParam) (*dataset.Schema, error)
	AddDynamicDataset(context.Context, AddDynamicDatasetParam) (*dataset.Schema, *dataset.Dataset, error)
	FindBySchema(context.Context, id.DatasetSchemaID, *usecase.Pagination, *usecase.Operator) (dataset.List, *usecase.PageInfo, error)
	CountBySchema(context.Context, id.DatasetSchemaID) (int, error)
	FindSchemaByScene(context.Context, id.SceneID, *usecase.Pagination, *usecase.Operator) (dataset.SchemaList, *usecase.PageInfo, error)
	FindDynamicSchemaByScene(context.Context, id.SceneID) (dataset.SchemaList, error)
	RemoveDatasetSchema(context.Context, RemoveDatasetSchemaParam, *usecase.Operator) (id.DatasetSchemaID, error)
	UpdateDatasetSchema(context.Context, UpdateDatasetSchemaParam, *usecase.Operator) (*dataset.Schema, error)
	Sync(context.Context, id.SceneID, string, *usecase.Operator) (dataset.SchemaList, dataset.List, error)
	AddDatasetSchema(context.Context, AddDatasetSchemaParam, *usecase.Operator) (*dataset.Schema, error)
}

type DetachItemToGroupParam

type DetachItemToGroupParam struct {
	ItemID, GroupID id.TagID
}

type GetUserByCredentials added in v0.6.0

type GetUserByCredentials struct {
	Email    string
	Password string
}

type ImportDatasetFromGoogleSheetParam

type ImportDatasetFromGoogleSheetParam struct {
	Token     string
	FileID    string
	SheetName string
	SceneId   id.SceneID
	SchemaId  *id.DatasetSchemaID
}

type ImportDatasetParam

type ImportDatasetParam struct {
	File     *file.File
	SceneId  id.SceneID
	SchemaId *id.DatasetSchemaID
}

type ImportLayerParam

type ImportLayerParam struct {
	LayerID id.LayerID
	File    *file.File
	Format  decoding.LayerEncodingFormat
}

type Layer

type Layer interface {
	Fetch(context.Context, []id.LayerID, *usecase.Operator) (layer.List, error)
	FetchGroup(context.Context, []id.LayerID, *usecase.Operator) ([]*layer.Group, error)
	FetchItem(context.Context, []id.LayerID, *usecase.Operator) ([]*layer.Item, error)
	FetchParent(context.Context, id.LayerID, *usecase.Operator) (*layer.Group, error)
	FetchByProperty(context.Context, id.PropertyID, *usecase.Operator) (layer.Layer, error)
	FetchMerged(context.Context, id.LayerID, *id.LayerID, *usecase.Operator) (*layer.Merged, error)
	FetchParentAndMerged(context.Context, id.LayerID, *usecase.Operator) (*layer.Merged, error)
	FetchByTag(context.Context, id.TagID, *usecase.Operator) (layer.List, error)
	Export(context.Context, id.LayerID, string) (io.Reader, string, error)
	AddItem(context.Context, AddLayerItemInput, *usecase.Operator) (*layer.Item, *layer.Group, error)
	AddGroup(context.Context, AddLayerGroupInput, *usecase.Operator) (*layer.Group, *layer.Group, error)
	Remove(context.Context, id.LayerID, *usecase.Operator) (id.LayerID, *layer.Group, error)
	Update(context.Context, UpdateLayerInput, *usecase.Operator) (layer.Layer, error)
	Move(context.Context, MoveLayerInput, *usecase.Operator) (id.LayerID, *layer.Group, *layer.Group, int, error)
	CreateInfobox(context.Context, id.LayerID, *usecase.Operator) (layer.Layer, error)
	RemoveInfobox(context.Context, id.LayerID, *usecase.Operator) (layer.Layer, error)
	AddInfoboxField(context.Context, AddInfoboxFieldParam, *usecase.Operator) (*layer.InfoboxField, layer.Layer, error)
	MoveInfoboxField(context.Context, MoveInfoboxFieldParam, *usecase.Operator) (id.InfoboxFieldID, layer.Layer, int, error)
	RemoveInfoboxField(context.Context, RemoveInfoboxFieldParam, *usecase.Operator) (id.InfoboxFieldID, layer.Layer, error)
	ImportLayer(context.Context, ImportLayerParam, *usecase.Operator) (layer.List, *layer.Group, error)
	AttachTag(context.Context, id.LayerID, id.TagID, *usecase.Operator) (layer.Layer, error)
	DetachTag(context.Context, id.LayerID, id.TagID, *usecase.Operator) (layer.Layer, error)
}

type LinkPropertyValueParam

type LinkPropertyValueParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
	Links      *property.Links
}

type ListOperation

type ListOperation string
const (
	ListOperationAdd    ListOperation = "add"
	ListOperationMove   ListOperation = "move"
	ListOperationRemove ListOperation = "remove"
)

type MoveInfoboxFieldParam

type MoveInfoboxFieldParam struct {
	LayerID        id.LayerID
	InfoboxFieldID id.InfoboxFieldID
	Index          int
}

type MoveLayerInput

type MoveLayerInput struct {
	LayerID     id.LayerID
	DestLayerID *id.LayerID
	Index       int
}

type MovePropertyItemParam

type MovePropertyItemParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
	Index      int
}

type ProjectPublishedMetadata

type ProjectPublishedMetadata struct {
	Title             string `json:"title,omitempty"`
	Description       string `json:"description,omitempty"`
	Image             string `json:"image,omitempty"`
	Noindex           bool   `json:"noindex,omitempty"`
	IsBasicAuthActive bool   `json:"isBasicAuthActive,omitempty"`
	BasicAuthUsername string `json:"basicAuthUsername,omitempty"`
	BasicAuthPassword string `json:"basicAuthPassword,omitempty"`
}

func ProjectPublishedMetadataFrom

func ProjectPublishedMetadataFrom(prj *project.Project) ProjectPublishedMetadata

type Property

type Property interface {
	Fetch(context.Context, []id.PropertyID, *usecase.Operator) ([]*property.Property, error)
	FetchSchema(context.Context, []id.PropertySchemaID, *usecase.Operator) ([]*property.Schema, error)
	FetchMerged(context.Context, *id.PropertyID, *id.PropertyID, *id.DatasetID, *usecase.Operator) (*property.Merged, error)
	UpdateValue(context.Context, UpdatePropertyValueParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, *property.Field, error)
	RemoveField(context.Context, RemovePropertyFieldParam, *usecase.Operator) (*property.Property, error)
	UploadFile(context.Context, UploadFileParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, *property.Field, error)
	LinkValue(context.Context, LinkPropertyValueParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, *property.Field, error)
	UnlinkValue(context.Context, UnlinkPropertyValueParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, *property.Field, error)
	AddItem(context.Context, AddPropertyItemParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, error)
	MoveItem(context.Context, MovePropertyItemParam, *usecase.Operator) (*property.Property, *property.GroupList, *property.Group, error)
	RemoveItem(context.Context, RemovePropertyItemParam, *usecase.Operator) (*property.Property, error)
	UpdateItems(context.Context, UpdatePropertyItemsParam, *usecase.Operator) (*property.Property, error)
}

type PublishProjectParam

type PublishProjectParam struct {
	ID     id.ProjectID
	Alias  *string
	Status project.PublishmentStatus
}

type Published

type Published interface {
	Metadata(context.Context, string) (ProjectPublishedMetadata, error)
	Data(context.Context, string) (io.Reader, error)
	Index(context.Context, string, *url.URL) (string, error)
}

type RemoveDatasetSchemaParam

type RemoveDatasetSchemaParam struct {
	SchemaID id.DatasetSchemaID
	Force    *bool
}

type RemoveInfoboxFieldParam

type RemoveInfoboxFieldParam struct {
	LayerID        id.LayerID
	InfoboxFieldID id.InfoboxFieldID
}

type RemovePropertyFieldParam

type RemovePropertyFieldParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
}

type RemovePropertyItemParam

type RemovePropertyItemParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
}

type SignupOIDCParam added in v0.6.0

type SignupOIDCParam struct {
	AccessToken string
	Issuer      string
	Sub         string
	Email       string
	Name        string
	Secret      *string
	User        SignupUserParam
}

type SignupParam

type SignupParam struct {
	Sub      *string // required by Auth0
	Email    string
	Name     string
	Password *string
	Secret   *string
	User     SignupUserParam
}

type SignupUserParam added in v0.6.0

type SignupUserParam struct {
	UserID *id.UserID
	Lang   *language.Tag
	Theme  *user.Theme
	TeamID *id.TeamID
}

type UnlinkPropertyValueParam

type UnlinkPropertyValueParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
}

type UpdateClusterParam added in v0.3.0

type UpdateClusterParam struct {
	ClusterID  id.ClusterID
	SceneID    id.SceneID
	Name       *string
	PropertyID *id.PropertyID
}

type UpdateDatasetSchemaParam

type UpdateDatasetSchemaParam struct {
	SchemaId id.DatasetSchemaID
	Name     string
}

type UpdateLayerInput

type UpdateLayerInput struct {
	LayerID id.LayerID
	Name    *string
	Visible *bool
}

type UpdateMeParam

type UpdateMeParam struct {
	Name                 *string
	Email                *string
	Lang                 *language.Tag
	Theme                *user.Theme
	Password             *string
	PasswordConfirmation *string
}

type UpdateProjectParam

type UpdateProjectParam struct {
	ID                id.ProjectID
	Name              *string
	Description       *string
	Alias             *string
	Archived          *bool
	IsBasicAuthActive *bool
	BasicAuthUsername *string
	BasicAuthPassword *string
	ImageURL          *url.URL
	PublicTitle       *string
	PublicDescription *string
	PublicImage       *string
	PublicNoIndex     *bool
	DeletePublicImage bool
	DeleteImageURL    bool
}

type UpdatePropertyItemsOperationParam

type UpdatePropertyItemsOperationParam struct {
	Operation      ListOperation
	ItemID         *id.PropertyItemID
	Index          *int
	NameFieldValue *property.Value
}

type UpdatePropertyItemsParam

type UpdatePropertyItemsParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
	Operations []UpdatePropertyItemsOperationParam
}

type UpdatePropertyValueParam

type UpdatePropertyValueParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
	Value      *property.Value
}

type UpdateTagParam

type UpdateTagParam struct {
	Label *string
	TagID id.TagID
}

type UpdateWidgetAlignSystemParam

type UpdateWidgetAlignSystemParam struct {
	SceneID  id.SceneID
	Location scene.WidgetLocation
	Align    *scene.WidgetAlignType
}

type UpdateWidgetParam

type UpdateWidgetParam struct {
	SceneID  id.SceneID
	WidgetID id.WidgetID
	Enabled  *bool
	Extended *bool
	Location *scene.WidgetLocation
	Index    *int
}

type UploadFileParam

type UploadFileParam struct {
	PropertyID id.PropertyID
	Pointer    *property.Pointer
	File       *file.File
}

type User

type User interface {
	Fetch(context.Context, []id.UserID, *usecase.Operator) ([]*user.User, error)
	Signup(context.Context, SignupParam) (*user.User, *user.Team, error)
	SignupOIDC(context.Context, SignupOIDCParam) (*user.User, *user.Team, error)
	CreateVerification(context.Context, string) error
	VerifyUser(context.Context, string) (*user.User, error)
	GetUserByCredentials(context.Context, GetUserByCredentials) (*user.User, error)
	GetUserBySubject(context.Context, string) (*user.User, error)
	StartPasswordReset(context.Context, string) error
	PasswordReset(context.Context, string, string) error
	UpdateMe(context.Context, UpdateMeParam, *usecase.Operator) (*user.User, error)
	RemoveMyAuth(context.Context, string, *usecase.Operator) (*user.User, error)
	SearchUser(context.Context, string, *usecase.Operator) (*user.User, error)
	DeleteMe(context.Context, id.UserID, *usecase.Operator) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL