Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.8.4-dev
1.8.4
94 changes: 47 additions & 47 deletions mongoapi/mongoapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ func NewMongoClient(url string, dbName string) (*MongoClient, error) {
})
client, err := mongo.Connect(opts)
if err != nil {
return nil, fmt.Errorf("MongoClient Creation err: %+v", err)
return nil, fmt.Errorf("MongoClient Creation err: %w", err)
}
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
if err = client.Ping(ctx, nil); err != nil {
_ = client.Disconnect(context.Background())
return nil, fmt.Errorf("MongoClient Ping err: %+v", err)
return nil, fmt.Errorf("MongoClient Ping err: %w", err)
}
c.Client = client
return &c, nil
Expand Down Expand Up @@ -94,7 +94,7 @@ func (c *MongoClient) RestfulAPIGetOne(collName string, filter bson.M) (map[stri
collection := c.Client.Database(c.dbName).Collection(collName)
result, err := getOrigData(collection, filter)
if err != nil {
return nil, fmt.Errorf("RestfulAPIGetOne err: %+v", err)
return nil, fmt.Errorf("RestfulAPIGetOne err: %w", err)
}
return result, nil
}
Expand All @@ -106,7 +106,7 @@ func (c *MongoClient) RestfulAPIGetMany(collName string, filter bson.M) ([]map[s
defer cancel()
cur, err := collection.Find(ctx, filter)
if err != nil {
return nil, fmt.Errorf("RestfulAPIGetMany err: %+v", err)
return nil, fmt.Errorf("RestfulAPIGetMany err: %w", err)
}
defer func(ctx context.Context) {
if err := cur.Close(ctx); err != nil {
Expand All @@ -118,15 +118,15 @@ func (c *MongoClient) RestfulAPIGetMany(collName string, filter bson.M) ([]map[s
for cur.Next(ctx) {
var result map[string]any
if err := cur.Decode(&result); err != nil {
return nil, fmt.Errorf("RestfulAPIGetMany err: %+v", err)
return nil, fmt.Errorf("RestfulAPIGetMany err: %w", err)
}

// Delete "_id" entry which is auto-inserted by MongoDB
delete(result, "_id")
resultArray = append(resultArray, result)
}
if err := cur.Err(); err != nil {
return nil, fmt.Errorf("RestfulAPIGetMany err: %+v", err)
return nil, fmt.Errorf("RestfulAPIGetMany err: %w", err)
}

return resultArray, nil
Expand All @@ -143,7 +143,7 @@ func (c *MongoClient) RestfulAPIPutOneWithContext(ctx context.Context, collName
opts := options.UpdateOne().SetUpsert(true)
result, err := collection.UpdateOne(ctx, filter, bson.M{"$set": putData}, opts)
if err != nil {
return false, fmt.Errorf("RestfulAPIPutOne err: %+v", err)
return false, fmt.Errorf("RestfulAPIPutOneWithContext UpdateOne err: %w", err)
}
return result.MatchedCount > 0, nil
}
Expand All @@ -152,10 +152,10 @@ func (c *MongoClient) RestfulAPIPullOne(collName string, filter bson.M, putData
return c.RestfulAPIPullOneWithContext(context.TODO(), collName, filter, putData)
}

func (c *MongoClient) RestfulAPIPullOneWithContext(context context.Context, collName string, filter bson.M, putData map[string]any) error {
func (c *MongoClient) RestfulAPIPullOneWithContext(ctx context.Context, collName string, filter bson.M, putData map[string]any) error {
collection := c.Client.Database(c.dbName).Collection(collName)
if _, err := collection.UpdateOne(context, filter, bson.M{"$pull": putData}); err != nil {
return fmt.Errorf("RestfulAPIPullOne err: %+v", err)
if _, err := collection.UpdateOne(ctx, filter, bson.M{"$pull": putData}); err != nil {
return fmt.Errorf("RestfulAPIPullOneWithContext UpdateOne err: %w", err)
}
return nil
}
Expand All @@ -165,15 +165,15 @@ func (c *MongoClient) RestfulAPIPutOneNotUpdate(collName string, filter bson.M,
collection := c.Client.Database(c.dbName).Collection(collName)
existed, err := checkDataExisted(collection, filter)
if err != nil {
return false, fmt.Errorf("RestfulAPIPutOneNotUpdate err: %+v", err)
return false, fmt.Errorf("RestfulAPIPutOneNotUpdate err: %w", err)
}

if existed {
return true, nil
}

if _, err := collection.InsertOne(context.TODO(), putData); err != nil {
return false, fmt.Errorf("RestfulAPIPutOneNotUpdate InsertOne err: %+v", err)
return false, fmt.Errorf("RestfulAPIPutOneNotUpdate InsertOne err: %w", err)
}
return false, nil
}
Expand All @@ -185,16 +185,16 @@ func (c *MongoClient) RestfulAPIPutMany(collName string, filterArray []bson.M, p
filter := filterArray[i]
existed, err := checkDataExisted(collection, filter)
if err != nil {
return fmt.Errorf("RestfulAPIPutMany err: %+v", err)
return fmt.Errorf("RestfulAPIPutMany err: %w", err)
}

if existed {
if _, err := collection.UpdateOne(context.TODO(), filter, bson.M{"$set": putData}); err != nil {
return fmt.Errorf("RestfulAPIPutMany UpdateOne err: %+v", err)
return fmt.Errorf("RestfulAPIPutMany UpdateOne err: %w", err)
}
} else {
if _, err := collection.InsertOne(context.TODO(), putData); err != nil {
return fmt.Errorf("RestfulAPIPutMany InsertOne err: %+v", err)
return fmt.Errorf("RestfulAPIPutMany InsertOne err: %w", err)
}
}
}
Expand All @@ -205,11 +205,11 @@ func (c *MongoClient) RestfulAPIDeleteOne(collName string, filter bson.M) error
return c.RestfulAPIDeleteOneWithContext(context.TODO(), collName, filter)
}

func (c *MongoClient) RestfulAPIDeleteOneWithContext(context context.Context, collName string, filter bson.M) error {
func (c *MongoClient) RestfulAPIDeleteOneWithContext(ctx context.Context, collName string, filter bson.M) error {
collection := c.Client.Database(c.dbName).Collection(collName)

if _, err := collection.DeleteOne(context, filter); err != nil {
return fmt.Errorf("RestfulAPIDeleteOne err: %+v", err)
if _, err := collection.DeleteOne(ctx, filter); err != nil {
return fmt.Errorf("RestfulAPIDeleteOneWithContext DeleteOne err: %w", err)
}
return nil
}
Expand All @@ -218,7 +218,7 @@ func (c *MongoClient) RestfulAPIDeleteMany(collName string, filter bson.M) error
collection := c.Client.Database(c.dbName).Collection(collName)

if _, err := collection.DeleteMany(context.TODO(), filter); err != nil {
return fmt.Errorf("RestfulAPIDeleteMany err: %+v", err)
return fmt.Errorf("RestfulAPIDeleteMany err: %w", err)
}
return nil
}
Expand All @@ -228,30 +228,30 @@ func (c *MongoClient) RestfulAPIMergePatch(collName string, filter bson.M, patch

originalData, err := getOrigData(collection, filter)
if err != nil {
return fmt.Errorf("RestfulAPIMergePatch getOrigData err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch getOrigData err: %w", err)
}

original, err := json.Marshal(originalData)
if err != nil {
return fmt.Errorf("RestfulAPIMergePatch Marshal err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch Marshal err: %w", err)
}

patchDataByte, err := json.Marshal(patchData)
if err != nil {
return fmt.Errorf("RestfulAPIMergePatch Marshal err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch Marshal err: %w", err)
}

modifiedAlternative, err := jsonpatch.MergePatch(original, patchDataByte)
if err != nil {
return fmt.Errorf("RestfulAPIMergePatch MergePatch err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch MergePatch err: %w", err)
}

var modifiedData map[string]any
if err := json.Unmarshal(modifiedAlternative, &modifiedData); err != nil {
return fmt.Errorf("RestfulAPIMergePatch Unmarshal err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch Unmarshal err: %w", err)
}
if _, err := collection.UpdateOne(context.TODO(), filter, bson.M{"$set": modifiedData}); err != nil {
return fmt.Errorf("RestfulAPIMergePatch UpdateOne err: %+v", err)
return fmt.Errorf("RestfulAPIMergePatch UpdateOne err: %w", err)
}
return nil
}
Expand All @@ -260,35 +260,35 @@ func (c *MongoClient) RestfulAPIJSONPatch(collName string, filter bson.M, patchJ
return c.RestfulAPIJSONPatchWithContext(context.TODO(), collName, filter, patchJSON)
}

func (c *MongoClient) RestfulAPIJSONPatchWithContext(context context.Context, collName string, filter bson.M, patchJSON []byte) error {
func (c *MongoClient) RestfulAPIJSONPatchWithContext(ctx context.Context, collName string, filter bson.M, patchJSON []byte) error {
collection := c.Client.Database(c.dbName).Collection(collName)

originalData, err := getOrigData(collection, filter)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatch getOrigData err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatch getOrigData err: %w", err)
}

original, err := json.Marshal(originalData)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatch Marshal err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatch Marshal err: %w", err)
}

patch, err := jsonpatch.DecodePatch(patchJSON)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatch DecodePatch err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatch DecodePatch err: %w", err)
}

modified, err := patch.Apply(original)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatch Apply err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatch Apply err: %w", err)
}

var modifiedData map[string]any
if err := json.Unmarshal(modified, &modifiedData); err != nil {
return fmt.Errorf("RestfulAPIJSONPatch Unmarshal err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatch Unmarshal err: %w", err)
}
if _, err := collection.UpdateOne(context, filter, bson.M{"$set": modifiedData}); err != nil {
return fmt.Errorf("RestfulAPIJSONPatch UpdateOne err: %+v", err)
if _, err := collection.UpdateOne(ctx, filter, bson.M{"$set": modifiedData}); err != nil {
return fmt.Errorf("RestfulAPIJSONPatch UpdateOne err: %w", err)
}
return nil
}
Expand All @@ -298,31 +298,31 @@ func (c *MongoClient) RestfulAPIJSONPatchExtend(collName string, filter bson.M,

originalDataCover, err := getOrigData(collection, filter)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend getOrigData err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend getOrigData err: %w", err)
}

originalData := originalDataCover[dataName]
original, err := json.Marshal(originalData)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend Marshal err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend Marshal err: %w", err)
}

patch, err := jsonpatch.DecodePatch(patchJSON)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend DecodePatch err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend DecodePatch err: %w", err)
}

modified, err := patch.Apply(original)
if err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend Apply err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend Apply err: %w", err)
}

var modifiedData map[string]any
if err := json.Unmarshal(modified, &modifiedData); err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend Unmarshal err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend Unmarshal err: %w", err)
}
if _, err := collection.UpdateOne(context.TODO(), filter, bson.M{"$set": bson.M{dataName: modifiedData}}); err != nil {
return fmt.Errorf("RestfulAPIJSONPatchExtend UpdateOne err: %+v", err)
return fmt.Errorf("RestfulAPIJSONPatchExtend UpdateOne err: %w", err)
}
return nil
}
Expand All @@ -331,19 +331,19 @@ func (c *MongoClient) RestfulAPIPost(collName string, filter bson.M, postData ma
return c.RestfulAPIPutOne(collName, filter, postData)
}

func (c *MongoClient) RestfulAPIPostWithContext(context context.Context, collName string, filter bson.M, postData map[string]any) (bool, error) {
return c.RestfulAPIPutOneWithContext(context, collName, filter, postData)
func (c *MongoClient) RestfulAPIPostWithContext(ctx context.Context, collName string, filter bson.M, postData map[string]any) (bool, error) {
return c.RestfulAPIPutOneWithContext(ctx, collName, filter, postData)
}

func (c *MongoClient) RestfulAPIPostMany(collName string, filter bson.M, postDataArray []any) error {
return c.RestfulAPIPostManyWithContext(context.TODO(), collName, filter, postDataArray)
}

func (c *MongoClient) RestfulAPIPostManyWithContext(context context.Context, collName string, filter bson.M, postDataArray []any) error {
func (c *MongoClient) RestfulAPIPostManyWithContext(ctx context.Context, collName string, filter bson.M, postDataArray []any) error {
collection := c.Client.Database(c.dbName).Collection(collName)

if _, err := collection.InsertMany(context, postDataArray); err != nil {
return fmt.Errorf("RestfulAPIPostMany err: %+v", err)
if _, err := collection.InsertMany(ctx, postDataArray); err != nil {
return fmt.Errorf("RestfulAPIPostManyWithContext InsertMany err: %w", err)
}
return nil
}
Expand All @@ -352,7 +352,7 @@ func (c *MongoClient) RestfulAPICount(collName string, filter bson.M) (int64, er
collection := c.Client.Database(c.dbName).Collection(collName)
result, err := collection.CountDocuments(context.TODO(), filter)
if err != nil {
return 0, fmt.Errorf("RestfulAPICount err: %+v", err)
return 0, fmt.Errorf("RestfulAPICount err: %w", err)
}
return result, nil
}
Expand Down Expand Up @@ -611,7 +611,7 @@ func (c *MongoClient) GetIDFromPool(poolName string) (int32, error) {

result := bson.M{}
if err := poolCollection.FindOneAndUpdate(context.TODO(), bson.M{"_id": poolName}, bson.M{"$pop": bson.M{"ids": 1}}).Decode(&result); err != nil {
return -1, fmt.Errorf("GetIDFromPool decode err: %+v", err)
return -1, fmt.Errorf("GetIDFromPool decode err: %w", err)
}

idsRaw, ok := result["ids"]
Expand Down Expand Up @@ -674,7 +674,7 @@ func (c *MongoClient) PutOneCustomDataStructure(collName string, filter bson.M,

var checkItem map[string]any
if err := collection.FindOne(context.TODO(), filter).Decode(&checkItem); err != nil && err != mongo.ErrNoDocuments {
return false, fmt.Errorf("PutOneCustomDataStructure FindOne err: %+v", err)
return false, fmt.Errorf("PutOneCustomDataStructure FindOne err: %w", err)
}

if checkItem == nil {
Expand Down
4 changes: 2 additions & 2 deletions ueauth/ueauth.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func GetKDFValue(key []byte, FC string, param ...[]byte) ([]byte, error) {

var S []byte
if STmp, err := hex.DecodeString(FC); err != nil {
return nil, fmt.Errorf("GetKDFValue FC decode failed: %+v", err)
return nil, fmt.Errorf("GetKDFValue FC decode failed: %w", err)
} else {
S = STmp
}
Expand All @@ -50,7 +50,7 @@ func GetKDFValue(key []byte, FC string, param ...[]byte) ([]byte, error) {
}

if _, err := kdf.Write(S); err != nil {
return nil, fmt.Errorf("GetKDFValue KDF write failed: %+v", err)
return nil, fmt.Errorf("GetKDFValue KDF write failed: %w", err)
}
sum := kdf.Sum(nil)
return sum, nil
Expand Down
Loading