1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-22 10:18:48 +02:00
phorge-phorge/src/applications/harbormaster
epriestley f86f9dc512 Make Currency a more formal type
Summary:
Ref T2787. Phortune currently stores a bunch of stuff as `...inUSDCents`. This ends up being pretty cumbersome and I worry it will create a huge headache down the road (and possibly not that far off if we do Coinbase/Bitcoin soon). Even now, it's more of a pain than I figured it would be.

Instead:

  - Provide an application-level serialization mechanism.
  - Provide currency serialization.
  - Store currency in an abstract way (currently, as "1.23 USD") that can handle currencies in the future.
  - Change all `...inUSDCents` to `..asCurrency`.
  - This generally simplifies all the application code.
  - Also remove some columns which don't make sense or don't make sense anymore. Notably, `Product` is going to get more abstract and mostly be provided by applications.

Test Plan:
  - Created a new product.
  - Purchased a product.
  - Backed an initiative.
  - Ran unit tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D10633
2014-10-06 10:26:48 -07:00
..
application Rename "beta" to "prototype" and document support policy 2014-09-17 18:25:57 -07:00
capability Simplify the implementation of PhabricatorPolicyCapability subclasses 2014-07-25 08:25:42 +10:00
conduit Rename Conduit classes 2014-07-25 10:54:15 +10:00
config Migrate "Run Command" to use Drydock hosts 2013-12-05 14:06:22 +11:00
controller Prevent crash when build step has been deleted on build plan 2014-08-28 08:20:11 +10:00
customfield Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
editor Modularize mail tags 2014-08-12 12:28:41 -07:00
engine Abort previous build targets when a build is restarted 2014-08-26 20:46:23 +10:00
event Implement showing buildable status in Diffusion 2014-06-14 02:28:00 +10:00
exception Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
interface Move build variables into HarbormasterBuildableInterface 2014-06-20 12:58:23 +10:00
management Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
phid Implement build simulation; convert Harbormaster to be purely dependency based 2014-07-31 11:39:49 +10:00
query Prevent artifact key collision when builds are restarted 2014-08-28 08:21:36 +10:00
remarkup Rename PhutilRemarkupRule subclasses 2014-08-05 00:55:43 +10:00
step Prevent "Wait for Build Commits" from creating billions of logs 2014-08-30 02:11:45 +10:00
storage Make Currency a more formal type 2014-10-06 10:26:48 -07:00
typeahead Implement build simulation; convert Harbormaster to be purely dependency based 2014-07-31 11:39:49 +10:00
view Replace some hsprintf() by phutil_tag() 2013-11-11 09:23:23 -08:00
worker Abort previous build targets when a build is restarted 2014-08-26 20:46:23 +10:00