diff --git a/mailroom_test.dump b/mailroom_test.dump index 546815a55..66d06d9e1 100644 Binary files a/mailroom_test.dump and b/mailroom_test.dump differ diff --git a/models/orgs.go b/models/orgs.go index d51060cec..4f5735a15 100644 --- a/models/orgs.go +++ b/models/orgs.go @@ -62,8 +62,10 @@ const ( // Org is mailroom's type for RapidPro orgs. It also implements the envs.Environment interface for GoFlow type Org struct { o struct { - ID OrgID `json:"id"` - Config null.Map `json:"config"` + ID OrgID `json:"id"` + Suspended bool `json:"is_suspended"` + UsesTopups bool `json:"uses_topups"` + Config null.Map `json:"config"` } env envs.Environment } @@ -71,6 +73,12 @@ type Org struct { // ID returns the id of the org func (o *Org) ID() OrgID { return o.o.ID } +// Suspended returns whether the org has been suspended +func (o *Org) Suspended() bool { return o.o.Suspended } + +// UsesTopups returns whether the org uses topups +func (o *Org) UsesTopups() bool { return o.o.UsesTopups } + // DateFormat returns the date format for this org func (o *Org) DateFormat() envs.DateFormat { return o.env.DateFormat() } @@ -185,6 +193,8 @@ func loadOrg(ctx context.Context, db sqlx.Queryer, orgID OrgID) (*Org, error) { const selectOrgByID = ` SELECT ROW_TO_JSON(o) FROM (SELECT id, + is_suspended, + uses_topups, COALESCE(o.config::json,'{}'::json) AS config, (SELECT CASE date_format WHEN 'D' THEN 'DD-MM-YYYY' WHEN 'M' THEN 'MM-DD-YYYY' END) AS date_format, 'tt:mm' AS time_format, diff --git a/models/env_test.go b/models/orgs_test.go similarity index 96% rename from models/env_test.go rename to models/orgs_test.go index a05c9e604..363d04692 100644 --- a/models/env_test.go +++ b/models/orgs_test.go @@ -31,6 +31,8 @@ func TestOrgs(t *testing.T) { assert.NoError(t, err) assert.Equal(t, OrgID(1), org.ID()) + assert.False(t, org.Suspended()) + assert.True(t, org.UsesTopups()) assert.Equal(t, envs.DateFormatDayMonthYear, org.DateFormat()) assert.Equal(t, envs.TimeFormatHourMinute, org.TimeFormat()) assert.Equal(t, envs.RedactionPolicyNone, org.RedactionPolicy())