adds settings collection
This commit is contained in:
130
db/migrations/1713016468_created_settings.go
Normal file
130
db/migrations/1713016468_created_settings.go
Normal file
@@ -0,0 +1,130 @@
|
||||
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"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
jsonData := `{
|
||||
"id": "uavt73rsqcn1n13",
|
||||
"created": "2024-04-13 13:54:26.023Z",
|
||||
"updated": "2024-04-13 13:54:26.023Z",
|
||||
"name": "settings",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "0sepzvkh",
|
||||
"name": "language",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"en",
|
||||
"de",
|
||||
"fr",
|
||||
"hu",
|
||||
"nl",
|
||||
"pl",
|
||||
"pt",
|
||||
"zh"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "zwg1jl0d",
|
||||
"name": "unit",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"metric",
|
||||
"imperial"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "jo1zcsbu",
|
||||
"name": "mapFocus",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"trails",
|
||||
"location"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "ufhepjxo",
|
||||
"name": "location",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "5uip7a4p",
|
||||
"name": "user",
|
||||
"type": "relation",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "_pb_users_auth_",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": null,
|
||||
"viewRule": null,
|
||||
"createRule": null,
|
||||
"updateRule": null,
|
||||
"deleteRule": null,
|
||||
"options": {}
|
||||
}`
|
||||
|
||||
collection := &models.Collection{}
|
||||
if err := json.Unmarshal([]byte(jsonData), &collection); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return daos.New(db).SaveCollection(collection)
|
||||
}, func(db dbx.Builder) error {
|
||||
dao := daos.New(db)
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("uavt73rsqcn1n13")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return dao.DeleteCollection(collection)
|
||||
})
|
||||
}
|
||||
162
db/migrations/1713018113_updated_users.go
Normal file
162
db/migrations/1713018113_updated_users.go
Normal file
@@ -0,0 +1,162 @@
|
||||
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"
|
||||
"github.com/pocketbase/pocketbase/models/schema"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
dao := daos.New(db)
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("_pb_users_auth_")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("wjofulpg")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("t1wlsqyp")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("fhxhln9g")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("wosrk4ue")
|
||||
|
||||
query := dao.RecordQuery("_pb_users_auth_")
|
||||
|
||||
users := []*models.Record{}
|
||||
if err := query.All(&users); err != nil {
|
||||
return err
|
||||
}
|
||||
settingsCollection, err := dao.FindCollectionByNameOrId("settings")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, user := range users {
|
||||
settings := models.NewRecord(settingsCollection)
|
||||
language := user.Get("language")
|
||||
unit := user.Get("unit")
|
||||
location := user.Get("location")
|
||||
settings.Set("language", language)
|
||||
settings.Set("unit", unit)
|
||||
settings.Set("location", location)
|
||||
settings.Set("user", user.Id)
|
||||
settings.Set("mapFocus", "trails")
|
||||
if err := dao.SaveRecord(settings); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
}, func(db dbx.Builder) error {
|
||||
dao := daos.New(db)
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("_pb_users_auth_")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// add
|
||||
del_unit := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "wjofulpg",
|
||||
"name": "unit",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"metric",
|
||||
"imperial"
|
||||
]
|
||||
}
|
||||
}`), del_unit); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_unit)
|
||||
|
||||
// add
|
||||
del_language := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "t1wlsqyp",
|
||||
"name": "language",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"en",
|
||||
"de",
|
||||
"fr",
|
||||
"hu",
|
||||
"nl",
|
||||
"pl",
|
||||
"pt",
|
||||
"zh"
|
||||
]
|
||||
}
|
||||
}`), del_language); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_language)
|
||||
|
||||
// add
|
||||
del_mapView := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "fhxhln9g",
|
||||
"name": "mapView",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"location",
|
||||
"trails"
|
||||
]
|
||||
}
|
||||
}`), del_mapView); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_mapView)
|
||||
|
||||
// add
|
||||
del_location := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "wosrk4ue",
|
||||
"name": "location",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
}`), del_location); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_location)
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
})
|
||||
}
|
||||
46
db/migrations/1713023959_updated_settings.go
Normal file
46
db/migrations/1713023959_updated_settings.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase/daos"
|
||||
m "github.com/pocketbase/pocketbase/migrations"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
dao := daos.New(db);
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("uavt73rsqcn1n13")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ListRule = types.Pointer("user = @request.auth.id")
|
||||
|
||||
collection.ViewRule = types.Pointer("user = @request.auth.id")
|
||||
|
||||
collection.CreateRule = types.Pointer("")
|
||||
|
||||
collection.UpdateRule = types.Pointer("user = @request.auth.id")
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
}, func(db dbx.Builder) error {
|
||||
dao := daos.New(db);
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("uavt73rsqcn1n13")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ListRule = nil
|
||||
|
||||
collection.ViewRule = nil
|
||||
|
||||
collection.CreateRule = nil
|
||||
|
||||
collection.UpdateRule = nil
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
})
|
||||
}
|
||||
98
db/migrations/1713027641_created_trails_bounding_box.go
Normal file
98
db/migrations/1713027641_created_trails_bounding_box.go
Normal file
@@ -0,0 +1,98 @@
|
||||
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"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
jsonData := `{
|
||||
"id": "urytyc428mwlbqq",
|
||||
"created": "2024-04-13 17:00:41.541Z",
|
||||
"updated": "2024-04-13 17:00:41.541Z",
|
||||
"name": "trails_bounding_box",
|
||||
"type": "view",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "iyhsoisl",
|
||||
"name": "max_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "kx2qfztr",
|
||||
"name": "max_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "z4qsnjeb",
|
||||
"name": "min_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "p66xomdb",
|
||||
"name": "min_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": null,
|
||||
"viewRule": null,
|
||||
"createRule": null,
|
||||
"updateRule": null,
|
||||
"deleteRule": null,
|
||||
"options": {
|
||||
"query": "SELECT users.id, COALESCE(MAX(trails.lat), 0) AS max_lat, COALESCE(MAX(trails.lon), 0) AS max_lon, COALESCE(MIN(trails.lat), 0) AS min_lat, COALESCE(MIN(trails.lon), 0) AS min_lon FROM users LEFT JOIN trails ON users.id = trails.author GROUP BY users.id;"
|
||||
}
|
||||
}`
|
||||
|
||||
collection := &models.Collection{}
|
||||
if err := json.Unmarshal([]byte(jsonData), &collection); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return daos.New(db).SaveCollection(collection)
|
||||
}, func(db dbx.Builder) error {
|
||||
dao := daos.New(db);
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("urytyc428mwlbqq")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return dao.DeleteCollection(collection)
|
||||
})
|
||||
}
|
||||
205
db/migrations/1713028155_updated_trails_bounding_box.go
Normal file
205
db/migrations/1713028155_updated_trails_bounding_box.go
Normal file
@@ -0,0 +1,205 @@
|
||||
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"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
dao := daos.New(db);
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("urytyc428mwlbqq")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ViewRule = types.Pointer("@request.auth.id = id")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("iyhsoisl")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("kx2qfztr")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("z4qsnjeb")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("p66xomdb")
|
||||
|
||||
// add
|
||||
new_max_lat := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "osfey1yx",
|
||||
"name": "max_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), new_max_lat); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(new_max_lat)
|
||||
|
||||
// add
|
||||
new_max_lon := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "eohslzky",
|
||||
"name": "max_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), new_max_lon); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(new_max_lon)
|
||||
|
||||
// add
|
||||
new_min_lat := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "kigvankd",
|
||||
"name": "min_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), new_min_lat); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(new_min_lat)
|
||||
|
||||
// add
|
||||
new_min_lon := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "ifnks9mg",
|
||||
"name": "min_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), new_min_lon); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(new_min_lon)
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
}, func(db dbx.Builder) error {
|
||||
dao := daos.New(db);
|
||||
|
||||
collection, err := dao.FindCollectionByNameOrId("urytyc428mwlbqq")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
collection.ViewRule = nil
|
||||
|
||||
// add
|
||||
del_max_lat := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "iyhsoisl",
|
||||
"name": "max_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), del_max_lat); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_max_lat)
|
||||
|
||||
// add
|
||||
del_max_lon := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "kx2qfztr",
|
||||
"name": "max_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), del_max_lon); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_max_lon)
|
||||
|
||||
// add
|
||||
del_min_lat := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "z4qsnjeb",
|
||||
"name": "min_lat",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), del_min_lat); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_min_lat)
|
||||
|
||||
// add
|
||||
del_min_lon := &schema.SchemaField{}
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"system": false,
|
||||
"id": "p66xomdb",
|
||||
"name": "min_lon",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 1
|
||||
}
|
||||
}`), del_min_lon); err != nil {
|
||||
return err
|
||||
}
|
||||
collection.Schema.AddField(del_min_lon)
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("osfey1yx")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("eohslzky")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("kigvankd")
|
||||
|
||||
// remove
|
||||
collection.Schema.RemoveField("ifnks9mg")
|
||||
|
||||
return dao.SaveCollection(collection)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user