From e7e80114f18ddcb3cea641ed24014555eed403ff Mon Sep 17 00:00:00 2001 From: Christian Beutel <> Date: Wed, 15 Jan 2025 22:57:27 +0100 Subject: [PATCH] fixes cascading for user deletion --- .../1736975424_updated_list_share.go | 76 +++++++++++ db/migrations/1736978084_updated_lists.go | 76 +++++++++++ db/migrations/1736978106_updated_follows.go | 120 ++++++++++++++++++ db/migrations/1736978149_updated_comments.go | 76 +++++++++++ .../1736978191_updated_notifications.go | 120 ++++++++++++++++++ .../1736978200_updated_summit_logs.go | 76 +++++++++++ db/migrations/1736978224_updated_waypoints.go | 76 +++++++++++ 7 files changed, 620 insertions(+) create mode 100644 db/migrations/1736975424_updated_list_share.go create mode 100644 db/migrations/1736978084_updated_lists.go create mode 100644 db/migrations/1736978106_updated_follows.go create mode 100644 db/migrations/1736978149_updated_comments.go create mode 100644 db/migrations/1736978191_updated_notifications.go create mode 100644 db/migrations/1736978200_updated_summit_logs.go create mode 100644 db/migrations/1736978224_updated_waypoints.go diff --git a/db/migrations/1736975424_updated_list_share.go b/db/migrations/1736975424_updated_list_share.go new file mode 100644 index 00000000..572af755 --- /dev/null +++ b/db/migrations/1736975424_updated_list_share.go @@ -0,0 +1,76 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("1kot7t9na3hi0gl") + if err != nil { + return err + } + + // update + edit_user := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mix12kkh", + "name": "user", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_user); err != nil { + return err + } + collection.Schema.AddField(edit_user) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("1kot7t9na3hi0gl") + if err != nil { + return err + } + + // update + edit_user := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mix12kkh", + "name": "user", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_user); err != nil { + return err + } + collection.Schema.AddField(edit_user) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978084_updated_lists.go b/db/migrations/1736978084_updated_lists.go new file mode 100644 index 00000000..5e08359b --- /dev/null +++ b/db/migrations/1736978084_updated_lists.go @@ -0,0 +1,76 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("r6gu2ajyidy1x69") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "kwm6zdet", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("r6gu2ajyidy1x69") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "kwm6zdet", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978106_updated_follows.go b/db/migrations/1736978106_updated_follows.go new file mode 100644 index 00000000..00ebda4b --- /dev/null +++ b/db/migrations/1736978106_updated_follows.go @@ -0,0 +1,120 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("8obn1ukumze565i") + if err != nil { + return err + } + + // update + edit_follower := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "in1traur", + "name": "follower", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_follower); err != nil { + return err + } + collection.Schema.AddField(edit_follower) + + // update + edit_followee := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "wxwomfd5", + "name": "followee", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_followee); err != nil { + return err + } + collection.Schema.AddField(edit_followee) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("8obn1ukumze565i") + if err != nil { + return err + } + + // update + edit_follower := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "in1traur", + "name": "follower", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_follower); err != nil { + return err + } + collection.Schema.AddField(edit_follower) + + // update + edit_followee := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "wxwomfd5", + "name": "followee", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_followee); err != nil { + return err + } + collection.Schema.AddField(edit_followee) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978149_updated_comments.go b/db/migrations/1736978149_updated_comments.go new file mode 100644 index 00000000..c558a08e --- /dev/null +++ b/db/migrations/1736978149_updated_comments.go @@ -0,0 +1,76 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("lf06qip3f4d11yk") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "7lwo1mxx", + "name": "author", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("lf06qip3f4d11yk") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "7lwo1mxx", + "name": "author", + "type": "relation", + "required": false, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978191_updated_notifications.go b/db/migrations/1736978191_updated_notifications.go new file mode 100644 index 00000000..587eda2e --- /dev/null +++ b/db/migrations/1736978191_updated_notifications.go @@ -0,0 +1,120 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("khrcci2uqknny8h") + if err != nil { + return err + } + + // update + edit_recipient := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "tmghd4vo", + "name": "recipient", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_recipient); err != nil { + return err + } + collection.Schema.AddField(edit_recipient) + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "exqo1whj", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("khrcci2uqknny8h") + if err != nil { + return err + } + + // update + edit_recipient := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "tmghd4vo", + "name": "recipient", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_recipient); err != nil { + return err + } + collection.Schema.AddField(edit_recipient) + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "exqo1whj", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978200_updated_summit_logs.go b/db/migrations/1736978200_updated_summit_logs.go new file mode 100644 index 00000000..93cd4f40 --- /dev/null +++ b/db/migrations/1736978200_updated_summit_logs.go @@ -0,0 +1,76 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("dd2l9a4vxpy2ni8") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "r0mj3tkr", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("dd2l9a4vxpy2ni8") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "r0mj3tkr", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1736978224_updated_waypoints.go b/db/migrations/1736978224_updated_waypoints.go new file mode 100644 index 00000000..3aa75c06 --- /dev/null +++ b/db/migrations/1736978224_updated_waypoints.go @@ -0,0 +1,76 @@ +package migrations + +import ( + "encoding/json" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + m "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/models/schema" +) + +func init() { + m.Register(func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("goeo2ubp103rzp9") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "8qbxrsd8", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": true, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("goeo2ubp103rzp9") + if err != nil { + return err + } + + // update + edit_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "8qbxrsd8", + "name": "author", + "type": "relation", + "required": true, + "presentable": false, + "unique": false, + "options": { + "collectionId": "_pb_users_auth_", + "cascadeDelete": false, + "minSelect": null, + "maxSelect": 1, + "displayFields": null + } + }`), edit_author); err != nil { + return err + } + collection.Schema.AddField(edit_author) + + return dao.SaveCollection(collection) + }) +}