Documentation
¶
Index ¶
- func AddKomentar(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func AmbilSemuaKomentar(MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func CheckPasswordHash(password, hash string) bool
- func CreateWisata(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func CreateWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
- func DecodeGetRole(publickey string, tokenstring string) string
- func DecodeGetUsername(publickey string, tokenstring string) string
- func DeleteKomentar(MONGOCONNSTRINGENV *mongo.Database, collname string, datakomentar Komentar) interface{}
- func DeleteUser(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func DeleteWisata(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func DeleteWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
- func EditKomentar(MONGOCONNSTRINGENV *mongo.Database, collname string, datakomentar Komentar) interface{}
- func EditUser(MONGOCONNSTRINGENV *mongo.Database, collname string, datauser User) interface{}
- func Encode(username, role, privatekey string) (string, error)
- func GCFPostHandlerSIGN(token, PASETOPRIVATEKEYENV, MONGOCONNSTRINGENV, dbname, collectionname string, ...) string
- func GCFReturnStruct(DataStuct any) string
- func GenerateKey() (privatekey, publickey string)
- func Geocode(address, apiKey string) (string, error)
- func GeocodeHandler(w http.ResponseWriter, r *http.Request)
- func HapusKomentar(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func HapusUser(MONGOCONNSTRINGENV *mongo.Database, collname string, userdata User) interface{}
- func HashPassword(password string) (string, error)
- func InsertKomentar(MONGOCONNSTRINGENV *mongo.Database, collname string, datakomentar Komentar) interface{}
- func InsertUserdata(MONGOCONNSTRINGENV *mongo.Database, ...) (InsertedID interface{})
- func IsPasswordValid(MONGOCONNSTRINGENV *mongo.Database, collection string, userdata User) bool
- func LoginHandler(token, privatekey, MONGOCONNSTRINGENV, dbname, collname string, ...) string
- func NamaWisataExist(MONGOCONNSTRINGENV, dbname string, datawisata TempatWisata) bool
- func NomorWAExists(MONGOCONNSTRINGENV, dbname string, userdata User) bool
- func Otorisasi(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReadOnWisata(MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReadOneKomentar(MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReadUserHandler(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReadWisata(MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReadsatuUser(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func Registrasi(token, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func ReverseGeocode(lat, lng float64, apiKey string) (string, error)
- func ReverseGeocodeHandler(w http.ResponseWriter, r *http.Request)
- func SaveImageToMongoDB(mconn *mongo.Database, imageBytes []byte) (string, error)
- func ServeImage(w http.ResponseWriter, r *http.Request)
- func SetConnection(MONGOCONNSTRINGENV, dbname string) *mongo.Database
- func SignupGCF(w http.ResponseWriter, r *http.Request)
- func UpdateKomentar(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func UpdateUser(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string
- func UpdateWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
- type BeriPesan
- type Credential
- type CredentialUser
- type GeoJson
- type GeoJsonLineString
- type GeoJsonPolygon
- type Geometry
- type GeometryLineString
- type GeometryPoint
- type GeometryPolygon
- type Komentar
- type Lokasi
- type Payload
- type Properties
- type SignupPayload
- type TempatWisata
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddKomentar ¶ added in v1.4.5
func AmbilSemuaKomentar ¶ added in v1.4.5
func CheckPasswordHash ¶
func CreateWisata ¶ added in v1.1.1
WISATA
func CreateWisataConn ¶ added in v1.1.8
func CreateWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
func DecodeGetRole ¶ added in v1.1.6
func DecodeGetUsername ¶ added in v1.1.6
func DeleteKomentar ¶ added in v1.4.5
func DeleteUser ¶ added in v1.2.9
func DeleteWisata ¶ added in v1.1.1
func UpdateWisata(publickey, MONGOCONNSTRINGENV, dbname, collname string, r *http.Request) string {
var response BeriPesan
response.Status = false
mconn := SetConnection(MONGOCONNSTRINGENV, dbname)
// Upload gambar
gambarPath, err := UploadGambar(r)
if err != nil {
response.Message = "Error uploading gambar: " + err.Error()
return GCFReturnStruct(response)
}
defer os.Remove(gambarPath)
// Menerima datawisata dari permintaan multipart/form-data
err = r.ParseMultipartForm(10 << 20) // maksimal 10 MB
if err != nil {
response.Message = "Error parsing multipart form: " + err.Error()
return GCFReturnStruct(response)
}
var auth User
header := r.Header.Get("token")
if header == "" {
response.Message = "Header token tidak ditemukan"
return GCFReturnStruct(response)
}
var datawisata TempatWisata
datawisata.Nama = r.FormValue("nama")
datawisata.Jenis = r.FormValue("jenis")
datawisata.Deskripsi = r.FormValue("deskripsi")
datawisata.Alamat = r.FormValue("alamat")
datawisata.Gambar = gambarPath // Menggunakan path gambar yang telah diunggah
// Parsing koordinat lokasi
latitudeStr := r.Form.Get("lokasi.latitude")
longitudeStr := r.Form.Get("lokasi.longitude")
latitude, err := strconv.ParseFloat(latitudeStr, 64)
if err != nil {
response.Message = "Error parsing latitude: " + err.Error()
return GCFReturnStruct(response)
}
longitude, err := strconv.ParseFloat(longitudeStr, 64)
if err != nil {
response.Message = "Error parsing longitude: " + err.Error()
return GCFReturnStruct(response)
}
datawisata.Lokasi = Lokasi{
Type: "Point",
Coordinates: []float64{latitude, longitude},
}
// Parsing rating
rating, _ := strconv.ParseFloat(r.FormValue("rating"), 64)
datawisata.Rating = rating
// Decode token to get user details
tokenusername := DecodeGetUsername(os.Getenv(publickey), header)
tokenrole := DecodeGetRole(os.Getenv(publickey), header)
auth.Username = tokenusername
if tokenusername == "" || tokenrole == "" {
response.Message = "Hasil decode tidak ditemukan"
return GCFReturnStruct(response)
}
// Check if the user account exists
if !usernameExists(MONGOCONNSTRINGENV, dbname, auth) {
response.Message = "Akun tidak ditemukan"
return GCFReturnStruct(response)
}
// Check if the user has admin or user privileges
if tokenrole != "admin" && tokenrole != "user" {
response.Message = "Anda tidak memiliki akses"
return GCFReturnStruct(response)
}
response.Status = true
UpdateWisataConn(mconn, collname, datawisata)
response.Message = "Berhasil Update data Ya"
return GCFReturnStruct(response)
}
func DeleteWisataConn ¶ added in v1.2.8
func DeleteWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
func EditKomentar ¶ added in v1.4.5
func GCFPostHandlerSIGN ¶ added in v1.1.7
func GCFReturnStruct ¶
func GenerateKey ¶ added in v1.1.6
func GenerateKey() (privatekey, publickey string)
func GeocodeHandler ¶ added in v1.4.3
func GeocodeHandler(w http.ResponseWriter, r *http.Request)
geocoding handler
func HapusKomentar ¶ added in v1.4.5
func HashPassword ¶
func InsertKomentar ¶ added in v1.4.5
func InsertKomentar(MONGOCONNSTRINGENV *mongo.Database, collname string, datakomentar Komentar) interface{}
Crud Komentar Takis
func InsertUserdata ¶ added in v1.1.7
func IsPasswordValid ¶
User
func LoginHandler ¶ added in v1.2.0
func NamaWisataExist ¶ added in v1.2.9
func NamaWisataExist(MONGOCONNSTRINGENV, dbname string, datawisata TempatWisata) bool
func NomorWAExists ¶ added in v1.5.3
func ReadOnWisata ¶ added in v1.2.9
func ReadOneKomentar ¶ added in v1.4.5
func ReadUserHandler ¶ added in v1.2.9
func ReadWisata ¶ added in v1.1.1
GET FIX
func ReadsatuUser ¶ added in v1.2.9
func Registrasi ¶ added in v1.1.7
func ReverseGeocode ¶ added in v1.5.0
Reverse Geocoding
func ReverseGeocodeHandler ¶ added in v1.5.0
func ReverseGeocodeHandler(w http.ResponseWriter, r *http.Request)
func SaveImageToMongoDB ¶ added in v1.6.9
func ServeImage ¶ added in v1.6.9
func ServeImage(w http.ResponseWriter, r *http.Request)
func SetConnection ¶
func UpdateKomentar ¶ added in v1.4.5
func UpdateUser ¶ added in v1.2.9
func UpdateWisataConn ¶ added in v1.2.8
func UpdateWisataConn(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) interface{}
Types ¶
type Credential ¶
type CredentialUser ¶ added in v1.1.6
type GeoJson ¶
type GeoJson struct {
Type string `json:"type" bson:"type"`
Properties Properties `json:"properties" bson:"properties"`
Geometry Geometry `json:"geometry" bson:"geometry"`
}
type GeoJsonLineString ¶
type GeoJsonLineString struct {
Type string `json:"type" bson:"type"`
Properties Properties `json:"properties" bson:"properties"`
Geometry GeometryLineString `json:"geometry" bson:"geometry"`
}
type GeoJsonPolygon ¶
type GeoJsonPolygon struct {
Type string `json:"type" bson:"type"`
Properties Properties `json:"properties" bson:"properties"`
Geometry GeometryPolygon `json:"geometry" bson:"geometry"`
}
type Geometry ¶
type Geometry struct {
Coordinates interface{} `json:"coordinates" bson:"coordinates"`
Type string `json:"type" bson:"type"`
}
type GeometryLineString ¶
type GeometryPoint ¶
type GeometryPolygon ¶
type Komentar ¶ added in v1.4.5
type Komentar struct {
ID string `json:"id" bson:"id"`
Nama_Wisata string `json:"nama_wisata" bson:"nama_wisata"`
Name string `json:"name" bson:"name"`
Tanggal string `json:"tanggal" bson:"tanggal"`
Komentar string `json:"komentar" bson:"komentar"`
}
func FindKomentar ¶ added in v1.4.5
type Payload ¶ added in v1.1.6
type Properties ¶
type Properties struct {
Name string `json:"name" bson:"name"`
}
type SignupPayload ¶ added in v1.1.0
type TempatWisata ¶ added in v1.1.1
type TempatWisata struct {
Nama string `json:"nama" bson:"nama"`
Jenis string `json:"jenis" bson:"jenis"`
Deskripsi string `json:"deskripsi" bson:"deskripsi"`
Lokasi Lokasi `json:"lokasi" bson:"lokasi"`
Alamat string `json:"alamat" bson:"alamat"`
GambarID string `json:"gambar_id" bson:"gambar_id"` // ID gambar di MongoDB
Rating float64 `json:"rating" bson:"rating"`
}
func FindWisat ¶ added in v1.2.9
func FindWisat(MONGOCONNSTRINGENV *mongo.Database, collname string, datawisata TempatWisata) TempatWisata
func Geocoding ¶ added in v1.1.2
func Geocoding(MONGOCONNSTRINGENV, dbname, collectionname string, query string) ([]TempatWisata, error)
Geocoding (untuk menemukan lokasi dari konten yang sudah dibuat Local host)
func GetAllWisata ¶ added in v1.2.9
func GetAllWisata(MONGOCONNSTRINGENV *mongo.Database, collname string) []TempatWisata
Read All wisata
type User ¶
type User struct {
No_whatsapp string `json:"no_whatsapp,omitempty" bson:"no_whatsapp"`
Username string `json:"username" bson:"username"`
Password string `json:"password,omitempty" bson:"password"`
Role string `json:"role,omitempty" bson:"role,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.