{"id":15379271,"url":"https://github.com/ducksoupdev/back4app","last_synced_at":"2025-03-06T00:28:43.400Z","repository":{"id":210941112,"uuid":"727818517","full_name":"ducksoupdev/back4app","owner":"ducksoupdev","description":"Go library for accessing the Back4App API","archived":false,"fork":false,"pushed_at":"2024-01-09T21:15:41.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T10:39:36.135Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ducksoupdev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-05T16:30:20.000Z","updated_at":"2023-12-12T08:06:16.000Z","dependencies_parsed_at":"2023-12-28T12:47:07.437Z","dependency_job_id":"7d5c6c23-433d-4f1a-9447-b2bcdcd0773c","html_url":"https://github.com/ducksoupdev/back4app","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"d4489fb5628f327b462adc63d64998412e662885"},"previous_names":["ducksoupdev/back4aappclient"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducksoupdev%2Fback4app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducksoupdev%2Fback4app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducksoupdev%2Fback4app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducksoupdev%2Fback4app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ducksoupdev","download_url":"https://codeload.github.com/ducksoupdev/back4app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242127680,"owners_count":20076160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T14:18:40.338Z","updated_at":"2025-03-06T00:28:43.370Z","avatar_url":"https://github.com/ducksoupdev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# back4app\n\nGo library for accessing the [Back4App API](https://www.back4app.com/)\n\n## Installation ##\n\nBack4app is compatible with modern Go releases in module mode, with Go installed:\n\n```bash\ngo get github.com/ducksoupdev/back4app/user\ngo get github.com/ducksoupdev/back4app/object\ngo get github.com/ducksoupdev/back4app/util\n```\n\nwill resolve and add the package to the current development module, along with its dependencies.\n\nAlternatively the same can be achieved if you use import in a package:\n\n```go\nimport \"github.com/ducksoupdev/back4app/user\"\nimport \"github.com/ducksoupdev/back4app/object\"\nimport \"github.com/ducksoupdev/back4app/util\"\n```\n\nand run `go get` without parameters.\n\n## Usage\n\n### User\n\nConstruct a new user, then use the methods on the user to\nlogin, sign up and request password reset. For example:\n\n```go\nu := user.NewUser(\"applicationId\", \"restApiKey\")\n\n// login user\nsessionToken, err := user.Login(\"username\", \"password\")\n\n// sign up user\nvar data = make(map[string]interface{})\ndata[\"username\"] = \"username\"\ndata[\"password\"] = \"password\"\nsessionToken, _ := u.SignUp(data)\n\n// if user records are protected\n// sign up user with session token in the body\nvar data = make(map[string]interface{})\ndata[\"username\"] = \"username\"\ndata[\"password\"] = \"password\"\ndata[\"sessionToken\"] = \"sessionToken\"\nsessionToken, _ := u.SignUp(data)\n\n// current user\nuser, err := u.CurrentUser(\"sessionToken\")\n\n// request password reset\nerr := u.RequestPasswordReset(\"email\")\n\n// request email verification\nerr := u.VerificationEmailRequest(\"email\")\n```\n\n### Object\n\nConstruct a new object, then use the methods on the object to\ncreate, update, delete and query objects. For example:\n\n```go\no := object.NewObject(\"applicationId\", \"restApiKey\", \"sessionToken\")\n\n// create object\nvar data = make(map[string]interface{})\ndata[\"name\"] = \"name\"\ndata[\"description\"] = \"description\"\nobject, err := o.Create(\"className\", data)\n\n// update object\nvar data = make(map[string]interface{})\ndata[\"name\"] = \"name\"\ndata[\"description\"] = \"description\"\nisUpdated, err := o.Update(\"className\", \"objectId\", data)\n\n// delete object\nisDeleted, err := o.Delete(\"className\", \"objectId\")\n\n// read object\nobject, err := o.Read(\"className\", \"objectId\")\n\n// list objects\nobjects, err := o.List(\"className\")\n\n// count objects\nobjects, err := o.List(\"className\", WithCount(10))\n\n// limit objects\nobjects, err := o.List(\"className\", WithLimit(10))\n\n// skip objects\nobjects, err := o.List(\"className\", WithSkip(10))\n\n// order objects\nobjects, err := o.List(\"className\", WithOrder(\"name\"))\n\n// objects with constraints\nobjects, err := o.List(\"className\", WithConstraints(\"{\"title\": \"My post title\", \"likes\": { \"$gt\": 100 }}\"))\n```\n\n### Utility functions\n\nThe util package contains some useful functions. For example:\n\n```go\n// generate a back4app date object\ndate := utility.ToBack4AppDate('2020-01-01T00:00:00.000Z')\n\n// parse a back4app date object from map[string]interface{}\ndate := utility.ParseBack4AppDate(map[string]interface{}{\"__type\": \"Date\", \"iso\": \"2020-01-01T00:00:00.000Z\"})\n\n// convert a back4app date object to a time.Time object\ntime, err := utility.Back4AppDateToTime(date)\n\n// convert a back4app date object to a string\nstr := utility.Back4AppDateToIsoString(date)\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [`LICENSE`](LICENSE) file for details.\n\n## Contributing\n\nAny kind of positive contribution is welcome! Please help us to grow by contributing to the project.\n\nIf you wish to contribute, you can work on any features you think would enhance the library. After adding your code, please send us a Pull Request.\n\n\u003e Please read [CONTRIBUTING](CONTRIBUTING.md) for details on our [CODE OF CONDUCT](CODE_OF_CONDUCT.md), and the process for submitting pull requests to us.\n\n## Support\n\nWe all need support and motivation. Please give this project a ⭐️ to encourage and show that you liked it. Don't forget to leave a star ⭐️ before you move away.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducksoupdev%2Fback4app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fducksoupdev%2Fback4app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducksoupdev%2Fback4app/lists"}