Documentation
¶
Index ¶
- Constants
- func CutStringRight(s string, sep string) (string, string)
- func ExtractBaseFeatureType(code string) string
- func GenerateCMSID() string
- func GetEffectiveConverter(featureItem *FeatureItem, cityItem *CityItem, specConverter string) string
- func GetLastBracketContent(s string) string
- func GetMainItemWithMetadata(ctx context.Context, c cms.Interface, i *cms.Item) (_ *cms.Item, err error)
- func IsDerivedFeatureType(code string) bool
- func TagFrom(t fmt.Stringer) *cms.Tag
- func TagIs(t *cms.Tag, v fmt.Stringer) bool
- func TagIsNot(t *cms.Tag, v fmt.Stringer) bool
- func ValidatePayload(ctx context.Context, w *cmswebhook.Payload, cmsintegration string) bool
- type CMSMock
- func (c *CMSMock) Asset(ctx context.Context, id string) (*cms.Asset, error)
- func (c *CMSMock) CommentToItem(ctx context.Context, assetID, content string) error
- func (c *CMSMock) CreateItem(ctx context.Context, modelID string, fields []*cms.Field, ...) (*cms.Item, error)
- func (c *CMSMock) GetItem(ctx context.Context, id string, asset bool) (*cms.Item, error)
- func (c *CMSMock) GetItemsPartially(ctx context.Context, id string, page, perPage int, asset bool) (*cms.Items, error)
- func (c *CMSMock) GetModels(ctx context.Context, projectID string) (*cms.Models, error)
- func (c *CMSMock) Reset()
- func (c *CMSMock) UpdateItem(ctx context.Context, id string, fields []*cms.Field, ...) (*cms.Item, error)
- func (c *CMSMock) UploadAsset(ctx context.Context, projectID, url string) (string, error)
- func (c *CMSMock) UploadAssetDirectly(ctx context.Context, projectID, name string, r io.Reader, ...) (string, error)
- type CityItem
- type Config
- type ConvSettings
- type ConvertionStatus
- type FeatureItem
- func (i *FeatureItem) CMSItem() *cms.Item
- func (f *FeatureItem) ConvSettings() *ConvSettings
- func (f *FeatureItem) FeatureTypeCode() string
- func (item *FeatureItem) IsQCAndConvSkipped() (skipQC bool, skipConv bool)
- func (item *FeatureItem) ReqType() ReqType
- func (f *FeatureItem) SpecMajorVersionInt() int
- type FeatureItemDatum
- type GenericItem
- type GenericItemDataset
- type GeospatialjpDataItem
- type GeospatialjpIndexItem
- type ManagementStatus
- type PRCS
- type RelatedItem
- type RelatedItemDatum
- type ReqType
- func (t ReqType) CMSStatus(s ConvertionStatus) (qc ConvertionStatus, conv ConvertionStatus)
- func (ty ReqType) Intersection(other ReqType) ReqType
- func (r ReqType) IsConv() bool
- func (r ReqType) IsQC() bool
- func (ty ReqType) Normalize() ReqType
- func (ty ReqType) Override(override ReqType) ReqType
- func (r ReqType) Title() string
Constants ¶
View Source
const CityModel = "city"
View Source
const GeospatialjpData = "geospatialjp-data"
View Source
const GeospatialjpIndex = "geospatialjp-index"
View Source
const ModelPrefix = "plateau-"
View Source
const RelatedModel = "related"
Variables ¶
This section is empty.
Functions ¶
func ExtractBaseFeatureType ¶
ExtractBaseFeatureType extracts the base feature type from a code. Examples: "bldg2" -> "bldg", "tran10" -> "tran", "bldg" -> "bldg"
func GenerateCMSID ¶
func GenerateCMSID() string
func GetEffectiveConverter ¶
func GetEffectiveConverter(featureItem *FeatureItem, cityItem *CityItem, specConverter string) string
GetEffectiveConverter returns the effective converter setting based on override priority: FeatureItem.Converter > CityItem.Converter > specConverter (PlateauSpec.Converter) > default (empty string)
func GetLastBracketContent ¶
func GetMainItemWithMetadata ¶
func IsDerivedFeatureType ¶
IsDerivedFeatureType returns true if the code is a derived feature type (e.g., "bldg2").
func ValidatePayload ¶
Types ¶
type CMSMock ¶
type CMSMock struct {
cms.Interface
MockGetItem func(ctx context.Context, id string, asset bool) (*cms.Item, error)
MockGetItemsPartially func(ctx context.Context, id string, page, perPage int, asset bool) (*cms.Items, error)
MockCreateItem func(ctx context.Context, modelID string, fields []*cms.Field, metadataFields []*cms.Field) (*cms.Item, error)
MockUpdateItem func(ctx context.Context, id string, fields []*cms.Field, metadataFields []*cms.Field) (*cms.Item, error)
MockAsset func(ctx context.Context, id string) (*cms.Asset, error)
MockUploadAsset func(ctx context.Context, projectID, url string) (string, error)
MockUploadAssetDirectly func(ctx context.Context, projectID, name string, r io.Reader, opts ...cms.UploadAssetOption) (string, error)
MockCommentToItem func(ctx context.Context, assetID, content string) error
MockGetModels func(ctx context.Context, projectID string) (*cms.Models, error)
}
func (*CMSMock) CommentToItem ¶
func (*CMSMock) CreateItem ¶
func (*CMSMock) GetItemsPartially ¶
func (*CMSMock) UpdateItem ¶
func (*CMSMock) UploadAsset ¶
type CityItem ¶
type CityItem struct {
ID string `json:"id,omitempty" cms:"id"`
Prefecture string `json:"prefecture,omitempty" cms:"prefecture,select"`
CityName string `json:"city_name,omitempty" cms:"city_name,text"`
CityNameEn string `json:"city_name_en,omitempty" cms:"city_name_en,text"`
CityCode string `json:"city_code,omitempty" cms:"city_code,text"`
Spec string `json:"spec,omitempty" cms:"spec,select"`
OpenDataUrl string `json:"open_data_url,omitempty" cms:"open_data_url,url"`
PRCS PRCS `json:"prcs,omitempty" cms:"prcs,select"`
CodeLists *cms.PublicAsset `json:"codelists,omitempty" cms:"codelists,asset"`
Schemas *cms.PublicAsset `json:"schemas,omitempty" cms:"schemas,asset"`
Metadata *cms.PublicAsset `json:"metadata,omitempty" cms:"metadata,asset"`
Specification *cms.PublicAsset `json:"specification,omitempty" cms:"specification,asset"`
ObjectLists *cms.PublicAsset `json:"objectLists,omitempty" cms:"objectLists,asset"`
Misc *cms.PublicAsset `json:"misc,omitempty" cms:"misc,asset"`
References map[string]string `json:"references,omitempty" cms:"-"`
RelatedDataset string `json:"related_dataset,omitempty" cms:"related_dataset,reference"`
GeospatialjpIndex string `json:"geospatialjp-index,omitempty" cms:"geospatialjp-index,reference"`
GeospatialjpData string `json:"geospatialjp-data,omitempty" cms:"geospatialjp-data,reference"`
// FME/Flow converter override (empty means use PlateauSpec setting)
Converter string `json:"converter,omitempty" cms:"converter,select"`
// meatadata
PlateauDataStatus string `json:"plateau_data_status,omitempty" cms:"plateau_data_status,select,metadata"`
CityPublic bool `json:"city_public,omitempty" cms:"city_public,bool,metadata"`
SDKPublic bool `json:"sdk_public,omitempty" cms:"sdk_public,bool,metadata"`
Public map[string]bool `json:"public,omitempty" cms:"-"`
}
func (*CityItem) ConvSettings ¶
func (i *CityItem) ConvSettings() *ConvSettings
func (*CityItem) MetadataZipURLs ¶
func (*CityItem) SpecMajorVersionInt ¶
type Config ¶
type Config struct {
// general
Host string
Secret string
Debug bool
APIToken string
// CMS
CMSBaseURL string
CMSToken string
CMSIntegration string
CMSSystemProject string
// geospatial.jp
CkanBaseURL string
CkanOrg string
CkanToken string
CkanPrivate bool
DisableGeospatialjpPublication bool
// dataconv
DisableDataConv bool
// FME common
FMEMock bool
// geospatial.jp v3
GeospatialjpBuildType string
GeospatialjpCloudRunJobsJobName string
GeospatialjpCloudBuildMachineType string
GeospatialjpCloudBuildProject string
GeospatialjpCloudBuildRegion string
GeospatialjpCloudBuildDiskSizeGb int64
// cloud build
TaskImage string
GCPProject string
GCPRegion string
// Flow
FlowBaseURL string
FlowToken string
// compat
// geospatial.jp v2
DisableGeospatialjpCatalogCheck bool
// FME v2
FMEBaseURL string
FMEBaseURLV2 string
FMEToken string
FMESkipQualityCheck bool
}
type ConvSettings ¶
type ConvSettings struct {
FeatureType string `json:"featureType"`
PRCS string `json:"prcs"`
Schemas string `json:"schemas"`
CodeLists string `json:"codelists"`
ObjectLists string `json:"objectLists"`
}
func (*ConvSettings) Merge ¶
func (c *ConvSettings) Merge(other *ConvSettings) *ConvSettings
func (*ConvSettings) Validate ¶
func (c *ConvSettings) Validate(qc bool) error
type ConvertionStatus ¶
type ConvertionStatus string
const ( ConvertionStatusNotStarted ConvertionStatus = "未実行" ConvertionStatusRunning ConvertionStatus = "実行中" ConvertionStatusError ConvertionStatus = "エラー" ConvertionStatusSuccess ConvertionStatus = "成功" )
func (ConvertionStatus) String ¶
func (s ConvertionStatus) String() string
type FeatureItem ¶
type FeatureItem struct {
ID string `json:"id,omitempty" cms:"id"`
City string `json:"city,omitempty" cms:"city,reference"`
CityGML string `json:"citygml,omitempty" cms:"citygml,asset"`
Data []string `json:"data,omitempty" cms:"data,asset"`
Desc string `json:"desc,omitempty" cms:"desc,textarea"`
Items []FeatureItemDatum `json:"items,omitempty" cms:"items,group"`
QCResult string `json:"qc_result,omitempty" cms:"qc_result,asset"`
SearchIndex string `json:"search_index,omitempty" cms:"search_index,asset"`
Dic string `json:"dic,omitempty" cms:"dic,textarea"`
MaxLOD string `json:"maxlod,omitempty" cms:"maxlod,asset"`
FeatureType string `json:"featureType,omitempty" cms:"feature_type,select"`
// override city item's settings
Spec string `json:"spec,omitempty" cms:"spec,select"`
PRCS string `json:"prcs" cms:"prcs,text"`
Schemas *cms.PublicAsset `json:"schemas" cms:"schemas,asset"`
CodeLists *cms.PublicAsset `json:"codelists" cms:"codelists,asset"`
ObjectLists *cms.PublicAsset `json:"objectLists" cms:"objectLists,asset"`
// FME/Flow converter override (empty means use CityItem or PlateauSpec setting)
Converter string `json:"converter,omitempty" cms:"converter,select"`
// metadata
SkipQCConv *cms.Tag `json:"skip_qc_conv,omitempty" cms:"skip_qc_conv,tag,metadata"`
Status *cms.Tag `json:"status,omitempty" cms:"status,select,metadata"`
ConvertionStatus *cms.Tag `json:"conv_status,omitempty" cms:"conv_status,tag,metadata"`
QCStatus *cms.Tag `json:"qc_status,omitempty" cms:"qc_status,tag,metadata"`
LODStatStatus *cms.Tag `json:"lodstat_status,omitempty" cms:"lodstat_status,tag,metadata"`
MaxLODStatus *cms.Tag `json:"maxlod_status,omitempty" cms:"maxlod_status,tag,metadata"`
// compat
SkipQC bool `json:"skip_qc,omitempty" cms:"skip_qc,bool,metadata"`
SkipConvert bool `json:"skip_conv,omitempty" cms:"skip_conv,bool,metadata"`
// Flow fields for cancellation
FlowRunID string `json:"flow_run_id,omitempty" cms:"flow_run_id,text,metadata"`
FlowTriggerID string `json:"flow_trigger_id,omitempty" cms:"flow_trigger_id,text,metadata"`
}
func FeatureItemFrom ¶
func FeatureItemFrom(item *cms.Item) (i *FeatureItem)
func (*FeatureItem) CMSItem ¶
func (i *FeatureItem) CMSItem() *cms.Item
func (*FeatureItem) ConvSettings ¶
func (f *FeatureItem) ConvSettings() *ConvSettings
func (*FeatureItem) FeatureTypeCode ¶
func (f *FeatureItem) FeatureTypeCode() string
func (*FeatureItem) IsQCAndConvSkipped ¶
func (item *FeatureItem) IsQCAndConvSkipped() (skipQC bool, skipConv bool)
func (*FeatureItem) ReqType ¶
func (item *FeatureItem) ReqType() ReqType
func (*FeatureItem) SpecMajorVersionInt ¶
func (f *FeatureItem) SpecMajorVersionInt() int
type FeatureItemDatum ¶
type GenericItem ¶
type GenericItem struct {
ID string `json:"id,omitempty" cms:"id"`
City string `json:"city,omitempty" cms:"city,reference"`
Name string `json:"name,omitempty" cms:"name,text"`
Type string `json:"type,omitempty" cms:"type,text"`
TypeEn string `json:"type_en,omitempty" cms:"type_en,text"`
Datasets []GenericItemDataset `json:"datasets,omitempty" cms:"datasets,group"`
OpenDataUrl string `json:"open-data-url,omitempty" cms:"open_data_url,url"`
Year string `json:"year,omitempty" cms:"year,select"`
// metadata
Public bool `json:"public,omitempty" cms:"public,bool,metadata"`
UseAR bool `json:"use-ar,omitempty" cms:"use-ar,bool,metadata"`
}
func GenericItemFrom ¶
func GenericItemFrom(item *cms.Item) (i *GenericItem)
func (*GenericItem) CMSItem ¶
func (i *GenericItem) CMSItem() *cms.Item
type GenericItemDataset ¶
type GenericItemDataset struct {
ID string `json:"id,omitempty" cms:"id"`
Data string `json:"data,omitempty" cms:"data,asset"`
Desc string `json:"desc,omitempty" cms:"desc,textarea"`
DataURL string `json:"url,omitempty" cms:"data_url,url"`
DataFormat string `json:"data-format,omitempty" cms:"data_format,select"`
LayerName string `json:"layer-name,omitempty" cms:"layer_name,text"`
}
type GeospatialjpDataItem ¶
type GeospatialjpDataItem struct {
ID string `json:"id,omitempty" cms:"id"`
City string `json:"city,omitempty" cms:"city,reference"`
CityGML string `json:"citygml,omitempty" cms:"citygml,asset"`
PlateauData string `json:"converted-data,omitempty" cms:"plateau_data,asset"`
RelatedData string `json:"related-data,omitempty" cms:"related_data,asset"`
GenericData string `json:"generic-data,omitempty" cms:"generic_data,asset"`
// metadata
CityGMLMergeStatus ConvertionStatus `json:"citygml_merge_status,omitempty" cms:"citygml_merge_status,select,metadata"`
ConvertedDataMergeSatatus ConvertionStatus `json:"plateau_merge_status,omitempty" cms:"plateau_merge_status,select,metadata"`
RelatedDataMergeStatus ConvertionStatus `json:"related_merge_status,omitempty" cms:"related_merge_status,select,metadata"`
}
func GeospatialjpDataItemFrom ¶
func GeospatialjpDataItemFrom(item *cms.Item) (i *GeospatialjpDataItem)
func (*GeospatialjpDataItem) CMSItem ¶
func (i *GeospatialjpDataItem) CMSItem() *cms.Item
type GeospatialjpIndexItem ¶
type GeospatialjpIndexItem struct {
ID string `json:"id,omitempty" cms:"id"`
City string `json:"city,omitempty" cms:"city,reference"`
Title string `json:"title,omitempty" cms:"title,text"`
Desc string `json:"desc,omitempty" cms:"desc,markdown"`
Region string `json:"region,omitempty" cms:"region,text"`
Thumbnail string `json:"thumbnail,omitempty" cms:"thumbnail,asset"`
// metadata
Status ManagementStatus `json:"status,omitempty" cms:"status,select,metadata"`
}
func GeospatialjpIndexItemFrom ¶
func GeospatialjpIndexItemFrom(item *cms.Item) (i *GeospatialjpIndexItem)
func (*GeospatialjpIndexItem) CMSItem ¶
func (i *GeospatialjpIndexItem) CMSItem() *cms.Item
type ManagementStatus ¶
type ManagementStatus string
const ( ManagementStatusNotStarted ManagementStatus = "登録未着手" ManagementStatusRunning ManagementStatus = "新規登録中" ManagementStatusSkip ManagementStatus = "対象外" ManagementStatusDone ManagementStatus = "登録済み" ManagementStatusReady ManagementStatus = "確認可能" )
func (ManagementStatus) String ¶
func (s ManagementStatus) String() string
type RelatedItem ¶
type RelatedItem struct {
ID string `json:"id,omitempty" cms:"id"`
City string `json:"city,omitempty" cms:"city,reference"`
Items map[string]RelatedItemDatum `json:"items,omitempty" cms:"-"`
Merged string `json:"merged,omitempty" cms:"merged,asset"`
// metadata
Status *cms.Tag `json:"status,omitempty" cms:"status,tag,metadata"`
ConvertStatus map[string]*cms.Tag `json:"conv_status,omitempty" cms:"-"`
MergeStatus *cms.Tag `json:"merge_status,omitempty" cms:"merge_status,tag,metadata"`
Merge bool `json:"merge,omitempty" cms:"merge,bool,metadata"`
}
func RelatedItemFrom ¶
func RelatedItemFrom(item *cms.Item, relatedDataTypes []string) (i *RelatedItem)
type RelatedItemDatum ¶
type ReqType ¶
type ReqType string
func ReqTypeFrom ¶
func (ReqType) CMSStatus ¶
func (t ReqType) CMSStatus(s ConvertionStatus) (qc ConvertionStatus, conv ConvertionStatus)
func (ReqType) Intersection ¶
Click to show internal directories.
Click to hide internal directories.