Use base64 encoding everywhere
Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
@@ -50,11 +50,11 @@ func NewGID(et uint32) (GID, error) {
|
||||
|
||||
binary.BigEndian.PutUint32(id[10:14], et)
|
||||
|
||||
return Nil, nil
|
||||
return GID(id), nil
|
||||
}
|
||||
|
||||
func (gid GID) Value() (driver.Value, error) {
|
||||
return gid[:], nil
|
||||
return gid.String(), nil
|
||||
}
|
||||
|
||||
func (gid GID) EntityType() uint32 {
|
||||
@@ -64,19 +64,15 @@ func (gid GID) EntityType() uint32 {
|
||||
func (gid *GID) Scan(value interface{}) error {
|
||||
switch v := value.(type) {
|
||||
case string:
|
||||
id, err := uuid.Parse(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*gid = GID(id)
|
||||
case []byte:
|
||||
id, err := uuid.ParseBytes(v)
|
||||
enc := base64.RawURLEncoding
|
||||
id, err := enc.DecodeString(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
*gid = GID(id)
|
||||
default:
|
||||
return fmt.Errorf("invalid type for GID: expected string or []byte, got %T", value)
|
||||
return fmt.Errorf("invalid type for GID: expected string, got %T", value)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
1
pkg/probo/coredata/migrations/20250125T212400Z.sql
Normal file
1
pkg/probo/coredata/migrations/20250125T212400Z.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE organizations DROP COLUMN description;
|
||||
31
pkg/probo/coredata/migrations/20250125T214100Z.sql
Normal file
31
pkg/probo/coredata/migrations/20250125T214100Z.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
ALTER TABLE frameworks DROP CONSTRAINT IF EXISTS frameworks_organization_id_fkey;
|
||||
ALTER TABLE controls DROP CONSTRAINT IF EXISTS controls_framework_id_fkey;
|
||||
ALTER TABLE tasks DROP CONSTRAINT IF EXISTS tasks_control_id_fkey;
|
||||
|
||||
ALTER TABLE organizations DROP CONSTRAINT organizations_pkey;
|
||||
ALTER TABLE organizations ALTER COLUMN id TYPE TEXT USING id::text;
|
||||
ALTER TABLE organizations ADD PRIMARY KEY (id);
|
||||
|
||||
ALTER TABLE frameworks DROP CONSTRAINT frameworks_pkey;
|
||||
ALTER TABLE frameworks ALTER COLUMN id TYPE TEXT USING id::text;
|
||||
ALTER TABLE frameworks ADD PRIMARY KEY (id);
|
||||
ALTER TABLE frameworks ALTER COLUMN organization_id TYPE TEXT USING organization_id::text;
|
||||
|
||||
ALTER TABLE controls DROP CONSTRAINT controls_pkey;
|
||||
ALTER TABLE controls ALTER COLUMN id TYPE TEXT USING id::text;
|
||||
ALTER TABLE controls ADD PRIMARY KEY (id);
|
||||
ALTER TABLE controls ALTER COLUMN framework_id TYPE TEXT USING framework_id::text;
|
||||
|
||||
ALTER TABLE tasks DROP CONSTRAINT tasks_pkey;
|
||||
ALTER TABLE tasks ALTER COLUMN id TYPE TEXT USING id::text;
|
||||
ALTER TABLE tasks ADD PRIMARY KEY (id);
|
||||
ALTER TABLE tasks ALTER COLUMN control_id TYPE TEXT USING control_id::text;
|
||||
|
||||
ALTER TABLE frameworks ADD CONSTRAINT frameworks_organization_id_fkey
|
||||
FOREIGN KEY (organization_id) REFERENCES organizations(id);
|
||||
|
||||
ALTER TABLE controls ADD CONSTRAINT controls_framework_id_fkey
|
||||
FOREIGN KEY (framework_id) REFERENCES frameworks(id);
|
||||
|
||||
ALTER TABLE tasks ADD CONSTRAINT tasks_control_id_fkey
|
||||
FOREIGN KEY (control_id) REFERENCES controls(id);
|
||||
Reference in New Issue
Block a user