
client - open / edit all the things


PURCHASE drives new licensing ui
To automate as much as possible need following:
- Purchase Customer id nullable as may not be able to match to an existing customer
- processed date important as shows what is not processed yet if empty
- product category for purchase automatically attributed, i.e. v7, raven perpet, raven sub, misc


License edit / entry form
- Pick license key type different fields appear
    NEED TO ADD KEYTYPE ENUM TO LICENSE OBJECT
        this will future proof and make UI and handling easier
        Keytypes: AyaNova 7, RAVEN Perpetual, RAVEN Subscription
- generates key at server on save depending on what is new or changed I guess or needs to be edited after the fact?
- Generate v7 license from entered ad-hoc data, i.e. it should be from the license edit form and take the entries and make a key on save
- Generate v7 license for customer from all active purchases
    NEED TO ADD PRODUCT CATEGORY FOR AUTO LICENSE GENERATION?
        V7, RAVEN, MISC (not license keyed)
        this way, can automatically create key for v7 from all purchases that have not yet expired for a customer
- Generate v8 license from entered data, ''
- Opening license existing in edit form should re-populate the controls even for v7 so that they can be changed, saved, edited etc
- Once it's fetched it's read-only but can duplicate!!!!!

- direct open a case by case number like workorder
(id's differ so it isn't easy to just open a case in the url)


NOTE: v7 licensing will be hard to automate fully as it's a fucked up system
RAVEN is much easier to automate with only one key per db
So I'm thinking make v7 renewals and purchases as easy and semiautomatic as possible, perhaps it fills in and suggest the whole thing but requires me
to press a button to actually do it, whereas raven can ultimately just process automatically, particularly subscription monthly important!!

AUTOMATION ROUTES REQUIRED
Both v7 and v8 point to "rockfish.ayanova.com" so maybe nginx can redirect?
forgot about that, was hoping for ability to parallel and keep rockfish going... hmmm...

AyaNova 7 license fetch URL
"https://rockfish.ayanova.com/fetch/" + sFetchCode + "/" + sEmail;
rockfish FetchController.cs

RAVEN trial request URL
POST to 
$"{LICENSE_SERVER_URL_ROCKFISH}rvr";

RAVEN license fetch url
POST to
 $"{LicenseServer}/rvf"

 License server url is one of:


LICENSE_SERVER_URL_ROCKFISH = "http://localhost:3001/";//dev testing
LICENSE_SERVER_URL_ROCKFISH = "https://rockfish.ayanova.com/";//1st default production primary
LICENSE_SERVER_URL_IO = "https://io.ayanova.com/";//2nd production
LICENSE_SERVER_URL_EUROPA = "https://europa.ayanova.com/";//3rd production
LICENSE_SERVER_URL_CALLISTO = "https://callisto.ayanova.com/";//4th production


DTR
- Add ui to front the route under /api/v8/license/v7-reset-manager-creds
License routes test locally and ensure works for v7 and v8
automatic jobs to create purchase record from vendor data
send license emails based on event etc, really gets into the new stuff here
Need ui that shows money required for paying future for yearly subs so at a glance know what money need in bank each month
Also, sidebar, check if can pay d.o. in advance, or do I want that??


new roles and bizroles set appropo
    Developer - rw cases
    Support - read cases, read sales and customer data?
    Sales - licenses