Skip to content

Commit b79bdb3

Browse files
committed
Merge pull request #49 from teamsnap/member-balance
Member balance
2 parents 9b99fd1 + 7a762ce commit b79bdb3

File tree

6 files changed

+57
-0
lines changed

6 files changed

+57
-0
lines changed

lib/test/js/test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5518,6 +5518,19 @@ describe('Locations', function() {
55185518

55195519
});
55205520

5521+
require.register("test/memberBalances", function(exports, require, module) {
5522+
describe('Member Balances', function() {
5523+
return it('should be able to load all member balances for team', function(done) {
5524+
return teamsnap.loadMemberBalances(team.id, function(err, result) {
5525+
expect(err).to.be["null"];
5526+
result.should.be.an('array');
5527+
return done();
5528+
});
5529+
});
5530+
});
5531+
5532+
});
5533+
55215534
require.register("test/memberEmailAddresses", function(exports, require, module) {
55225535
describe('Member Email Addresses', function() {
55235536
var email, member;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
exports.loadMemberBalances = (params, callback) ->
2+
if @isId params
3+
params = teamId: params
4+
else unless params and typeof params is 'object'
5+
throw new TSArgsError 'teamsnap.loadMemberBalances', 'must provide a
6+
teamId or query parameters'
7+
8+
@loadItems 'memberBalance', params, callback

src/persistence.coffee

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,33 @@ modifySDK = (sdk) ->
340340
err
341341
).callback callback
342342

343+
# Update memberBalance and teamFee when saving memberPayment
344+
wrapMethod sdk, 'saveMemberPayment', (saveMemberPayment) ->
345+
(memberPayment, callback) ->
346+
saveMemberPayment.call(this, memberPayment).then((result) ->
347+
promises.when(
348+
sdk.loadMemberBalances(memberId: memberPayment.memberId)
349+
sdk.loadTeamFees(id: memberPayment.teamFeeId)
350+
).then -> result
351+
).callback callback
352+
353+
354+
# Update memberBalances when saving teamFee
355+
wrapMethod sdk, 'saveTeamFee', (saveTeamFee) ->
356+
(teamFee, callback) ->
357+
saveTeamFee.call(this, teamFee).then((result) ->
358+
sdk.loadMemberBalances(teamId: teamFee.teamId).then ->
359+
result
360+
).callback callback
361+
362+
363+
# Update memberBalances when deleting teamFee
364+
wrapMethod sdk, 'deleteTeamFee', (deleteTeamFee) ->
365+
(teamFee, callback) ->
366+
deleteTeamFee.call(this, teamFee).then((result) ->
367+
sdk.loadMemberBalances(teamId: teamFee.teamId).then ->
368+
result
369+
).callback callback
343370

344371
# Remove all records belonging to a team when it is deleted
345372
wrapMethod sdk, 'deleteTeam', (deleteTeam) ->

src/sdk.coffee

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ add require './collections/forumSubscriptions'
186186
add require './collections/forumTopics'
187187
add require './collections/leagueRegistrantDocuments'
188188
add require './collections/locations'
189+
add require './collections/memberBalances'
189190
add require './collections/memberEmailAddresses'
190191
add require './collections/memberFiles'
191192
add require './collections/memberLinks'

src/types.coffee

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ types = [
2424
'leagueRegistrantDocument'
2525
'location'
2626
'member'
27+
'memberBalance'
2728
'memberEmailAddress'
2829
'memberFile'
2930
'memberLink'

test/memberBalances.coffee

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
describe 'Member Balances', ->
2+
3+
it 'should be able to load all member balances for team', (done) ->
4+
teamsnap.loadMemberBalances team.id, (err, result) ->
5+
expect(err).to.be.null
6+
result.should.be.an('array')
7+
done()

0 commit comments

Comments
 (0)