adrianwit / fsc

Datastore Connectivity for Firestore

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Datastore Connectivity for Firestore (fsc)

Datastore Connectivity library for Firebase in Go. GoDoc

This library is compatible with Go 1.10+

Please refer to CHANGELOG.md if you encounter breaking changes.

Usage:

The following is a very simple example of CRUD operations

package main

import (
	"github.com/viant/dsc"
	"log"
    _ "github.com/adrianwit/fsc"
)


type User struct {
	Id int	
	Name string
}


func main() {

    credentials := "secrets.json"
	config, err := dsc.NewConfigWithParameters("fsc", "", credentials, map[string]interface{}{
		// specify databaseURL to use console.firebase.google.com scoped firestore, 
		// otherwise it would use console.cloud.google.com/firestore
		"databaseURL":   databaseURL, 
 		"projectID":     projectID,
 	})
	
	
	if err != nil {
		log.Fatal(err)
    }
	factory := dsc.NewManagerFactory()
	manager, err := factory.Create(config)
    if err != nil {
    	log.Fatal(err)
    }
    }
    
    var users []*User; // 
   
	inserted, updated, err:= manager.PersistAll(&users, "users", nil)
	if err != nil {
       log.Fatal(err)
   	}

    
    err:= manager.ReadAll(&users, "SELECT id, name FROM users WHERE id IN(?, ?)", []interface{}{1, 10},nil)
	 if err != nil {
         log.Fatal(err)
     }

   
  
    deleted, err := manager.DeleteAll(&users, "users", nil)
    if err != nil {
        log.Fatal(err)
   	}
  
}

License

The source code is made available under the terms of the Apache License, Version 2, as stated in the file LICENSE.

Individual files may be made available under their own specific license, all compatible with Apache License, Version 2. Please see individual files for details.

Credits and Acknowledgements

Library Author: Adrian Witas

Contributors:

About

Datastore Connectivity for Firestore

License:Apache License 2.0


Languages

Language:Go 100.0%