Skip to content

Commit 8c79bcb

Browse files
committed
added: save
1 parent 80684e2 commit 8c79bcb

5 files changed

Lines changed: 76 additions & 1 deletion

File tree

‎mysql.js‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,24 @@ Agent.prototype._delete = function(item) {
782782
return { name: item.name, query: item.query + item.condition.toString(this.id), params: null, first: true };
783783
};
784784

785+
Agent.prototype.save = function(name, table, insert, maker) {
786+
787+
if (typeof(table) === 'boolean') {
788+
maker = insert;
789+
insert = table;
790+
table = name;
791+
name = undefined;
792+
}
793+
794+
var self = this;
795+
if (insert)
796+
maker(self.insert(name, table), true);
797+
else
798+
maker(self.update(name, table), false);
799+
800+
return self;
801+
};
802+
785803
Agent.prototype.insert = function(name, table, values, without) {
786804

787805
var self = this;

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
"type": "git",
1212
"url": "https://github.com/petersirka/node-sqlagent.git"
1313
},
14-
"version": "1.4.4"
14+
"version": "1.4.5"
1515
}

‎pg.js‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,24 @@ Agent.prototype._delete = function(item) {
827827
return { name: item.name, query: item.query + item.condition.toString(this.id), params: null, first: true };
828828
};
829829

830+
Agent.prototype.save = function(name, table, insert, maker) {
831+
832+
if (typeof(table) === 'boolean') {
833+
maker = insert;
834+
insert = table;
835+
table = name;
836+
name = undefined;
837+
}
838+
839+
var self = this;
840+
if (insert)
841+
maker(self.insert(name, table), true);
842+
else
843+
maker(self.update(name, table), false);
844+
845+
return self;
846+
};
847+
830848
Agent.prototype.insert = function(name, table, values, without) {
831849

832850
var self = this;

‎readme.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,27 @@ sql.exec(function(err, response) {
9898
});
9999
```
100100

101+
### Save
102+
103+
```plain
104+
instance.save([name], table, isINSERT, prepare(builder, isINSERT));
105+
```
106+
107+
```javascript
108+
sql.save('user', 'tbl_user', somemodel.id === 0, function(builder, isINSERT) {
109+
110+
builder.set('name', somemodel.name);
111+
112+
if (isINSERT) {
113+
builder.set('datecreated', new Date());
114+
return;
115+
}
116+
117+
builder.inc('countupdate', 1);
118+
builder.where('id', somemodel.id);
119+
});
120+
```
121+
101122
### Insert
102123

103124
```plain

‎sqlserver.js‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,24 @@ Agent.prototype._delete = function(item) {
832832
return { name: item.name, query: item.query + item.condition.toString(this.id) + '; SELECT @@rowcount As affectedRows', params: null, first: true };
833833
};
834834

835+
Agent.prototype.save = function(name, table, insert, maker) {
836+
837+
if (typeof(table) === 'boolean') {
838+
maker = insert;
839+
insert = table;
840+
table = name;
841+
name = undefined;
842+
}
843+
844+
var self = this;
845+
if (insert)
846+
maker(self.insert(name, table), true);
847+
else
848+
maker(self.update(name, table), false);
849+
850+
return self;
851+
};
852+
835853
Agent.prototype.insert = function(name, table, values, without) {
836854

837855
var self = this;

0 commit comments

Comments
 (0)