diff --git a/db/main.go b/db/main.go index 74028dd1..96e97bbd 100644 --- a/db/main.go +++ b/db/main.go @@ -256,7 +256,7 @@ func createCommentHandler(app *pocketbase.PocketBase) func(e *core.RecordCreateE "id": commentTrail.Id, "author": commentAuthor.GetString("username"), "trail": commentTrail.GetString("name"), - "comment": e.Record.GetString("text")[:128], + "comment": e.Record.GetString("text"), }, Seen: false, Author: e.Record.GetString("author"), diff --git a/db/migrations/1735585642_updated_activities.go b/db/migrations/1735585642_updated_activities.go new file mode 100644 index 00000000..00a548a8 --- /dev/null +++ b/db/migrations/1735585642_updated_activities.go @@ -0,0 +1,552 @@ +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("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,type \nFROM (\n SELECT summit_logs.id,trails.id as trail_id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,summit_logs.created,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,id as trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,\"trail\" as type \n FROM trails\n)\nORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // remove + collection.Schema.RemoveField("zmvj8lcq") + + // remove + collection.Schema.RemoveField("ujwzemal") + + // remove + collection.Schema.RemoveField("royuu8hr") + + // remove + collection.Schema.RemoveField("e5myhqi1") + + // remove + collection.Schema.RemoveField("twzxntjy") + + // remove + collection.Schema.RemoveField("mbgymehy") + + // remove + collection.Schema.RemoveField("jvd9zgrj") + + // remove + collection.Schema.RemoveField("v6t7ybts") + + // remove + collection.Schema.RemoveField("vnddbe3a") + + // remove + collection.Schema.RemoveField("mp9jqukw") + + // remove + collection.Schema.RemoveField("c6zw4l4h") + + // remove + collection.Schema.RemoveField("njsy8gsh") + + // add + new_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mpcwfh4x", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_trail_id); err != nil { + return err + } + collection.Schema.AddField(new_trail_id) + + // add + new_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xsxx8b8a", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_date); err != nil { + return err + } + collection.Schema.AddField(new_date) + + // add + new_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "4ybgblqj", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_name); err != nil { + return err + } + collection.Schema.AddField(new_name) + + // add + new_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "f7y3unyx", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_description); err != nil { + return err + } + collection.Schema.AddField(new_description) + + // add + new_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "cowkmcyy", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_gpx); err != nil { + return err + } + collection.Schema.AddField(new_gpx) + + // add + new_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "dgewwftr", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_author); err != nil { + return err + } + collection.Schema.AddField(new_author) + + // add + new_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "ugtikydq", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_photos); err != nil { + return err + } + collection.Schema.AddField(new_photos) + + // add + new_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "gal6bffx", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_distance); err != nil { + return err + } + collection.Schema.AddField(new_distance) + + // add + new_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "kimwtlps", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_duration); err != nil { + return err + } + collection.Schema.AddField(new_duration) + + // add + new_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "80vmdusd", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(new_elevation_gain) + + // add + new_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mrq3rozi", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(new_elevation_loss) + + // add + new_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "i4dy54g8", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_type); err != nil { + return err + } + collection.Schema.AddField(new_type) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, type \nFROM (\n SELECT summit_logs.id,trails.id as trail_id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,id as trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss, \"trail\" as type \n FROM trails\n)\nORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // add + del_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "zmvj8lcq", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_trail_id); err != nil { + return err + } + collection.Schema.AddField(del_trail_id) + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "ujwzemal", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_date); err != nil { + return err + } + collection.Schema.AddField(del_date) + + // add + del_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "royuu8hr", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_name); err != nil { + return err + } + collection.Schema.AddField(del_name) + + // add + del_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "e5myhqi1", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_description); err != nil { + return err + } + collection.Schema.AddField(del_description) + + // add + del_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "twzxntjy", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_gpx); err != nil { + return err + } + collection.Schema.AddField(del_gpx) + + // add + del_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mbgymehy", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_author); err != nil { + return err + } + collection.Schema.AddField(del_author) + + // add + del_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "jvd9zgrj", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_photos); err != nil { + return err + } + collection.Schema.AddField(del_photos) + + // add + del_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "v6t7ybts", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_distance); err != nil { + return err + } + collection.Schema.AddField(del_distance) + + // add + del_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "vnddbe3a", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_duration); err != nil { + return err + } + collection.Schema.AddField(del_duration) + + // add + del_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mp9jqukw", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(del_elevation_gain) + + // add + del_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "c6zw4l4h", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(del_elevation_loss) + + // add + del_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "njsy8gsh", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_type); err != nil { + return err + } + collection.Schema.AddField(del_type) + + // remove + collection.Schema.RemoveField("mpcwfh4x") + + // remove + collection.Schema.RemoveField("xsxx8b8a") + + // remove + collection.Schema.RemoveField("4ybgblqj") + + // remove + collection.Schema.RemoveField("f7y3unyx") + + // remove + collection.Schema.RemoveField("cowkmcyy") + + // remove + collection.Schema.RemoveField("dgewwftr") + + // remove + collection.Schema.RemoveField("ugtikydq") + + // remove + collection.Schema.RemoveField("gal6bffx") + + // remove + collection.Schema.RemoveField("kimwtlps") + + // remove + collection.Schema.RemoveField("80vmdusd") + + // remove + collection.Schema.RemoveField("mrq3rozi") + + // remove + collection.Schema.RemoveField("i4dy54g8") + + return dao.SaveCollection(collection) + }) +} diff --git a/db/migrations/1735585929_updated_activities.go b/db/migrations/1735585929_updated_activities.go new file mode 100644 index 00000000..081bb157 --- /dev/null +++ b/db/migrations/1735585929_updated_activities.go @@ -0,0 +1,552 @@ +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("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,type \nFROM (\n SELECT summit_logs.id,trails.id as trail_id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,summit_logs.created,\"summit_log\" as type \n FROM summit_logs\n JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,id as trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,\"trail\" as type \n FROM trails\n)\nORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // remove + collection.Schema.RemoveField("mpcwfh4x") + + // remove + collection.Schema.RemoveField("xsxx8b8a") + + // remove + collection.Schema.RemoveField("4ybgblqj") + + // remove + collection.Schema.RemoveField("f7y3unyx") + + // remove + collection.Schema.RemoveField("cowkmcyy") + + // remove + collection.Schema.RemoveField("dgewwftr") + + // remove + collection.Schema.RemoveField("ugtikydq") + + // remove + collection.Schema.RemoveField("gal6bffx") + + // remove + collection.Schema.RemoveField("kimwtlps") + + // remove + collection.Schema.RemoveField("80vmdusd") + + // remove + collection.Schema.RemoveField("mrq3rozi") + + // remove + collection.Schema.RemoveField("i4dy54g8") + + // add + new_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "nsakta5t", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_trail_id); err != nil { + return err + } + collection.Schema.AddField(new_trail_id) + + // add + new_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "oahimwtf", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_date); err != nil { + return err + } + collection.Schema.AddField(new_date) + + // add + new_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "t9nlksmj", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_name); err != nil { + return err + } + collection.Schema.AddField(new_name) + + // add + new_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "fzfiex8c", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_description); err != nil { + return err + } + collection.Schema.AddField(new_description) + + // add + new_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "1vk5125z", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_gpx); err != nil { + return err + } + collection.Schema.AddField(new_gpx) + + // add + new_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "skmgodvs", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_author); err != nil { + return err + } + collection.Schema.AddField(new_author) + + // add + new_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "5rkwvgcy", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_photos); err != nil { + return err + } + collection.Schema.AddField(new_photos) + + // add + new_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xsuyuifg", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_distance); err != nil { + return err + } + collection.Schema.AddField(new_distance) + + // add + new_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "0hsfxjcm", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_duration); err != nil { + return err + } + collection.Schema.AddField(new_duration) + + // add + new_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "izyphasx", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(new_elevation_gain) + + // add + new_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "bffz6a6t", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(new_elevation_loss) + + // add + new_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "2xlfylnh", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), new_type); err != nil { + return err + } + collection.Schema.AddField(new_type) + + return dao.SaveCollection(collection) + }, func(db dbx.Builder) error { + dao := daos.New(db); + + collection, err := dao.FindCollectionByNameOrId("t9lphichi5xwyeu") + if err != nil { + return err + } + + options := map[string]any{} + if err := json.Unmarshal([]byte(`{ + "query": "SELECT id,trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,type \nFROM (\n SELECT summit_logs.id,trails.id as trail_id,summit_logs.date,trails.name,text as description,summit_logs.gpx,summit_logs.author,summit_logs.photos,summit_logs.distance,summit_logs.duration,summit_logs.elevation_gain,summit_logs.elevation_loss,summit_logs.created,\"summit_log\" as type \n FROM summit_logs\n LEFT JOIN trails ON summit_logs.id IN (\n SELECT value\n FROM json_each(trails.summit_logs)\n )\n UNION\n SELECT id,id as trail_id,date,name,description,gpx,author,photos,distance,duration,elevation_gain,elevation_loss,created,\"trail\" as type \n FROM trails\n)\nORDER BY date DESC" + }`), &options); err != nil { + return err + } + collection.SetOptions(options) + + // add + del_trail_id := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mpcwfh4x", + "name": "trail_id", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_trail_id); err != nil { + return err + } + collection.Schema.AddField(del_trail_id) + + // add + del_date := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "xsxx8b8a", + "name": "date", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_date); err != nil { + return err + } + collection.Schema.AddField(del_date) + + // add + del_name := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "4ybgblqj", + "name": "name", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_name); err != nil { + return err + } + collection.Schema.AddField(del_name) + + // add + del_description := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "f7y3unyx", + "name": "description", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_description); err != nil { + return err + } + collection.Schema.AddField(del_description) + + // add + del_gpx := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "cowkmcyy", + "name": "gpx", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_gpx); err != nil { + return err + } + collection.Schema.AddField(del_gpx) + + // add + del_author := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "dgewwftr", + "name": "author", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_author); err != nil { + return err + } + collection.Schema.AddField(del_author) + + // add + del_photos := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "ugtikydq", + "name": "photos", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_photos); err != nil { + return err + } + collection.Schema.AddField(del_photos) + + // add + del_distance := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "gal6bffx", + "name": "distance", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_distance); err != nil { + return err + } + collection.Schema.AddField(del_distance) + + // add + del_duration := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "kimwtlps", + "name": "duration", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_duration); err != nil { + return err + } + collection.Schema.AddField(del_duration) + + // add + del_elevation_gain := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "80vmdusd", + "name": "elevation_gain", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_gain); err != nil { + return err + } + collection.Schema.AddField(del_elevation_gain) + + // add + del_elevation_loss := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "mrq3rozi", + "name": "elevation_loss", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_elevation_loss); err != nil { + return err + } + collection.Schema.AddField(del_elevation_loss) + + // add + del_type := &schema.SchemaField{} + if err := json.Unmarshal([]byte(`{ + "system": false, + "id": "i4dy54g8", + "name": "type", + "type": "json", + "required": false, + "presentable": false, + "unique": false, + "options": { + "maxSize": 1 + } + }`), del_type); err != nil { + return err + } + collection.Schema.AddField(del_type) + + // remove + collection.Schema.RemoveField("nsakta5t") + + // remove + collection.Schema.RemoveField("oahimwtf") + + // remove + collection.Schema.RemoveField("t9nlksmj") + + // remove + collection.Schema.RemoveField("fzfiex8c") + + // remove + collection.Schema.RemoveField("1vk5125z") + + // remove + collection.Schema.RemoveField("skmgodvs") + + // remove + collection.Schema.RemoveField("5rkwvgcy") + + // remove + collection.Schema.RemoveField("xsuyuifg") + + // remove + collection.Schema.RemoveField("0hsfxjcm") + + // remove + collection.Schema.RemoveField("izyphasx") + + // remove + collection.Schema.RemoveField("bffz6a6t") + + // remove + collection.Schema.RemoveField("2xlfylnh") + + return dao.SaveCollection(collection) + }) +} diff --git a/web/src/hooks.server.ts b/web/src/hooks.server.ts index 8fbe4a5f..d12206fe 100644 --- a/web/src/hooks.server.ts +++ b/web/src/hooks.server.ts @@ -20,7 +20,7 @@ function csrf(allowedPaths: string[]): Handle { request.method === "PATCH" || request.method === "DELETE") && request.headers.get("origin") !== url.origin && - !allowedPaths.includes(url.pathname); + !allowedPaths.some(p => url.pathname.startsWith(p)); if (forbidden) { const message = `Cross-site ${request.method} form submissions are forbidden`; @@ -111,4 +111,4 @@ const auth: Handle = async ({ event, resolve }) => { return response } -export const handle = sequence(csrf(['/api/v1/trail/upload']), auth) \ No newline at end of file +export const handle = sequence(csrf(['/api/v1']), auth) \ No newline at end of file diff --git a/web/src/lib/components/notification/notification_dropdown.svelte b/web/src/lib/components/notification/notification_dropdown.svelte index afda6602..fd09b953 100644 --- a/web/src/lib/components/notification/notification_dropdown.svelte +++ b/web/src/lib/components/notification/notification_dropdown.svelte @@ -1,17 +1,17 @@