diff --git a/id/client.go b/id/client.go index ed730d32abfbfc9149aa98cfe9aff4478b5aa136..db941c5ad54b539551193004674ac15f15d314be 100644 --- a/id/client.go +++ b/id/client.go @@ -55,3 +55,7 @@ func parseClientID(parts []string) (*ClientID, error) { id.ClientID = parts[3] return &id, nil } + +func NewClientID(spaceID, id string) *ID { + return &ID{Descriptor: &ClientID{SpaceID: SpaceID{SpaceID: spaceID}, ClientID: id}} +} diff --git a/id/collection.go b/id/collection.go index 9829c7e628749988bd478d3e8b247f62a7e21975..e0f37585b41e77b58530cc50f249283beb6d8eca 100644 --- a/id/collection.go +++ b/id/collection.go @@ -54,3 +54,7 @@ func parseCollectionID(parts []string) (*CollectionID, error) { id.EnvironmentID = *envID return &id, nil } + +func NewCollectionID(spaceID, envID, id string) *ID { + return &ID{Descriptor: &CollectionID{EnvironmentID: EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: envID}, CollectionID: id}} +} diff --git a/id/environment.go b/id/environment.go index e2acdb61cbbbe01328f04e0e5c42765e14b0256f..d42df3e658bc04ae70989d199257a7836bd30f00 100644 --- a/id/environment.go +++ b/id/environment.go @@ -55,3 +55,7 @@ func parseEnvironmentID(parts []string) (*EnvironmentID, error) { id.SpaceID = *spaceID return &id, nil } + +func NewEnvironmentID(spaceID, id string) *ID { + return &ID{Descriptor: &EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: id}} +} diff --git a/id/field.go b/id/field.go index e03361414ed66be2e02edf8d3d24c6a614870307..ca1577552dc7df38d555549ddfc53a51e70e63f1 100644 --- a/id/field.go +++ b/id/field.go @@ -55,3 +55,6 @@ func parseFieldID(parts []string) (*FieldID, error) { id.FieldName = parts[9] return &id, nil } +func NewFieldID(spaceID, envID, collID, itemID, id string) *ID { + return &ID{Descriptor: &FieldID{ItemID: ItemID{CollectionID: CollectionID{EnvironmentID: EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: envID}, CollectionID: collID}, ItemID: itemID}, FieldName: id}} +} diff --git a/id/item.go b/id/item.go index add303f6c5409773fdb1e8c4d032f0cbd87903bf..70c3e7be95b517a85e07e487eb00f94f9f73e14f 100644 --- a/id/item.go +++ b/id/item.go @@ -55,3 +55,7 @@ func parseItemID(parts []string) (*ItemID, error) { id.ItemID = parts[7] return &id, nil } + +func NewItemID(spaceID, envID, collID, id string) *ID { + return &ID{Descriptor: &ItemID{CollectionID: CollectionID{EnvironmentID: EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: envID}, CollectionID: collID}, ItemID: id}} +} diff --git a/id/organization.go b/id/organization.go index 94c1b2dc35d8ed02ac2f2143dc16d165d329f936..fe9d22837977b486e78689ebee5f426bdee80fcf 100644 --- a/id/organization.go +++ b/id/organization.go @@ -43,3 +43,7 @@ func parseOrganizationID(parts []string) (*OrganizationID, error) { id.OrganizationID = parts[1] return &id, nil } + +func NewOrganizationID(id string) *ID { + return &ID{Descriptor: &OrganizationID{OrganizationID: id}} +} diff --git a/id/revision.go b/id/revision.go index d956b4f89f6054019b4346f470a90b0565e07422..0cb417e132fe1683f1e53a081e7c6244820478df 100644 --- a/id/revision.go +++ b/id/revision.go @@ -55,3 +55,7 @@ func parseRevisionID(parts []string) (*RevisionID, error) { id.RevisionID = parts[9] return &id, nil } + +func NewRevisionID(spaceID, envID, collID, itemID, id string) *ID { + return &ID{Descriptor: &RevisionID{ItemID: ItemID{CollectionID: CollectionID{EnvironmentID: EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: envID}, CollectionID: collID}, ItemID: itemID}, RevisionID: id}} +} diff --git a/id/role.go b/id/role.go index d13062bbf19bcb39e8f35a05c2cd6bcd41e5180b..abb6537fc605d3f01f644a67a724cc81e3a6b54b 100644 --- a/id/role.go +++ b/id/role.go @@ -55,3 +55,7 @@ func parseRoleID(parts []string) (*RoleID, error) { id.RoleID = parts[3] return &id, nil } + +func NewRoleID(spaceID, id string) *ID { + return &ID{Descriptor: &RoleID{SpaceID: SpaceID{SpaceID: spaceID}, RoleID: id}} +} diff --git a/id/schema.go b/id/schema.go index cc78c6d00f7ea8257fbdc0e661ecfde257afbb80..e3afee8c6cf29bca6cae1f1eedd72253c47362a5 100644 --- a/id/schema.go +++ b/id/schema.go @@ -54,3 +54,7 @@ func parseSchemaID(parts []string) (*SchemaID, error) { id.CollectionID = parts[5] return &id, nil } + +func NewSchemaID(spaceID, envID, id string) *ID { + return &ID{Descriptor: &SchemaID{EnvironmentID: EnvironmentID{SpaceID: SpaceID{SpaceID: spaceID}, EnvironmentID: envID}, CollectionID: id}} +} diff --git a/id/service.go b/id/service.go index 5583ae7d3fa59bc5ba6b5718a00337cb3b9375cd..23bb23aa500fbba082e1aae578eae6da5624a5b9 100644 --- a/id/service.go +++ b/id/service.go @@ -43,3 +43,7 @@ func parseServiceID(parts []string) (*ServiceID, error) { id.ServiceID = parts[1] return &id, nil } + +func NewServiceID(id string) *ID { + return &ID{Descriptor: &ServiceID{ServiceID: id}} +} diff --git a/id/space.go b/id/space.go index fa6503ecb40cf7dc910df7c3d75af9d4f3b5c93c..39096673456d74462ef203b10814396fe48b2bcf 100644 --- a/id/space.go +++ b/id/space.go @@ -43,3 +43,6 @@ func parseSpaceID(parts []string) (*SpaceID, error) { id.SpaceID = parts[1] return &id, nil } +func NewSpaceID(id string) *ID { + return &ID{Descriptor: &SpaceID{SpaceID: id}} +} diff --git a/id/system.go b/id/system.go index 24d9737f1f6e987e098ec30bffd53a8545e6df43..de2f3c2571896e448f8aad17be32df58b73a6ea4 100644 --- a/id/system.go +++ b/id/system.go @@ -17,3 +17,6 @@ func parseSystemID(parts []string) (*SystemID, error) { } return &id, nil } +func NewSystemID() *ID { + return &ID{Descriptor: &SystemID{}} +} diff --git a/id/user.go b/id/user.go index 77832ce2ea2fe304a339d49642c0a6240d221d67..c76f6c9fa0e8ce440a1ef15e36bbb82a73301be5 100644 --- a/id/user.go +++ b/id/user.go @@ -43,3 +43,7 @@ func parseUserID(parts []string) (*UserID, error) { id.UserID = parts[1] return &id, nil } + +func NewUserID(id string) *ID { + return &ID{Descriptor: &UserID{UserID: id}} +}