Commit Graph

519 Commits

Author SHA1 Message Date
Daniel Lockyer
d37146f6fd Re-pinned extract-zip to v2.0.0
no issue

- `extract-zip` v2.0.1 currently requires Node 10.17.0, which we're not
  ready to bump our minimums to
- we'll probably bump this when we drop Node 10 at the end of April 2021
2021-04-16 13:13:55 +01:00
Daniel Lockyer
713cbd3cc4 Unpinned all dependencies
no issue

- this Utils repo contains libraries, whose dependencies should not be
  pinned in order to reduce multiple versions of the same package
  appearing for consumers
2021-04-16 13:06:54 +01:00
Renovate Bot
2d0ee67e9c Update dependency sharp to v0.28.1 2021-04-15 14:14:46 +01:00
Renovate Bot
e703a414b2 Update dependency date-fns to v2.21.1 2021-04-15 09:45:52 +00:00
Renovate Bot
bc2b3aa6d1 Update dependency @tryghost/string to v0.1.17 2021-04-15 10:42:52 +01:00
Renovate Bot
0ad3198d17 Update dependency date-fns to v2.21.0 2021-04-14 13:51:00 +00:00
Renovate Bot
989c7bee30 Update dependency @sinonjs/fake-timers to v7 2021-04-14 13:50:00 +00:00
Renovate Bot
36f461509f Update dependency @types/sinon to v10 2021-04-14 10:15:13 +00:00
Renovate Bot
a7fee2ad49 Update dependency date-fns to v2.20.3 2021-04-13 14:30:20 +00:00
Renovate Bot
fdd209a9c3 Update dependency date-fns to v2.20.2 2021-04-12 14:12:39 +00:00
Renovate Bot
2b0685396c Update dependency date-fns to v2.20.1 2021-04-09 13:02:54 +00:00
Naz
1802d46c1d Added a limit reset when loadLimits called repeatedly
refs https://github.com/TryGhost/Team/issues/599

- There are cases when there'a a need to reload limits with a new set of configuration. For example, when Ghost is run in a test environment is a soft reboot is done
- Resetting previous value of limits avoids having conflicting state after multiple calls
2021-04-09 23:44:12 +12:00
Naz
6c0aabadea Added a not to flag limit "errorIfIsOverLimit" method
refs https://github.com/TryGhost/Team/issues/510

- Flag limits are impossible to check if they are "over a limit already" as they are just that - on/off flags. Therefore it should be directly noted that the method is there to keep the "Limit" interface and not be relied upon
2021-04-09 16:10:14 +12:00
Thibaut Patel
8381346dce Added allowlist limit (#144)
issue https://github.com/TryGhost/Team/issues/510
2021-04-08 17:29:53 +02:00
Thibaut Patel
8c6ec8b214 Added a test to confirm isLimited behavior of an unkown key
no issue
2021-04-08 15:07:30 +02:00
Renovate Bot
666907f853 Update dependency date-fns to v2.20.0 2021-04-08 04:47:36 +00:00
Renovate Bot
e2eb29a5a1 Update dependency typescript to v4.2.4 2021-04-07 19:50:01 +00:00
Naz
4d6733b927 Improved docs around {{max}} & {{count}}
refs https://github.com/TryGhost/Team/issues/587

- Improved description and provided example use of error message template variables that are available for "MaxLimit" types of limits
2021-04-07 18:14:18 +12:00
Naz
0f049fbb94 Improved query formatting
refs https://github.com/TryGhost/Team/issues/599

- Oneliners with lots of chained commands are hardly readable on small screens
2021-04-07 18:13:10 +12:00
Naz
e11c0f43cf Published new versions
- @tryghost/adapter-manager@0.2.10
 - @tryghost/bootstrap-socket@0.2.8
 - @tryghost/constants@0.1.7
 - @tryghost/errors@0.2.10
 - @tryghost/image-transform@1.0.10
 - @tryghost/job-manager@0.8.2
 - @tryghost/limit-service@0.4.0
 - @tryghost/moleculer-service-from-class@0.2.13
 - @tryghost/mw-session-from-token@0.1.17
 - @tryghost/pretty-cli@1.2.16
 - @tryghost/promise@0.1.7
 - @tryghost/release-utils@0.6.13
 - @tryghost/security@0.2.7
 - @tryghost/session-service@0.1.18
 - @tryghost/vhost-middleware@1.0.14
 - @tryghost/zip@1.1.11
2021-04-07 13:47:32 +12:00
Naz
2ef3626123 Added newly generated TypeScript definiton files
no issue

- These files kept generating a new ouput when trying to publish an unrelated package. Assuming the generation is orrect and commiting this just to get things out of the way (type definition files should not break any functionality)
2021-04-07 13:41:49 +12:00
Naz
01f18aa4fa Added test coverage for {{max}} and {{count}}
refs https://github.com/TryGhost/Team/issues/510

- {{max}} and {{count}} variable usage was not covered but had valid usecases in the library client's, so considered to "document" them through tests
- For more context these variables are available in custom `error` templates that are provided with each limit
2021-04-07 13:31:42 +12:00
Naz
36dd9219c9 Added docs for currentCountQuery usage
refs https://github.com/TryGhost/Team/issues/597

- Documented example usacase for currentCountQuery override intoruced in previous commit
2021-04-06 17:05:44 +12:00
Naz
f4f48712c5 Added custom count queries for "max" limits
refs https://github.com/TryGhost/Team/issues/597

- When the library is used on a client without a DB connection (e.g. frontend client running in a browser) the library needs to expose a way to override count queries.
- The way these can be used is giving a count based on a HTTP request or some other data provider
- Example use with max limit like "staff" would be loading the limit servcie if following way:
```
            const limitService = new LimitService();

            let limits = {
                staff: {
                    max: 2,
                    currentCountQuery: () => 5
                }
            };

            limitService.loadLimits({limits, errors});

            await limitService.checkIsOverLimit('staff')
```
2021-04-06 16:45:46 +12:00
Naz
326cbf0d34 Fixed test missing a whitespace
refs https://github.com/TryGhost/Team/issues/597
refs a1962f38cd
2021-04-05 16:29:07 +12:00
Naz
fd61555763 Updated docs/examples with errors parameter
refs https://github.com/TryGhost/Team/issues/597
refs a1962f38cd

- As errors dependency has been removed in refed commit, updated the docs with correct usage of the library.
2021-04-05 16:21:35 +12:00
Naz
a1962f38cd Removed ghost-ignition's errors dependency
refs https://github.com/TryGhost/Team/issues/597

- To be able to transpile the library for different runtimes (make it polymorphic) had to get rid of dependencies that were not compatible with ES  Modules
- By making errors an injectable constructor option it removes the depencency and allows to transpile the library for multiple targets
- The `errors` option is now a required parameter for `loadLimits` method. It errors if it's missing (error message copy inspired by content api error 69fcea0582/packages/content-api/lib/index.js (L21))
2021-04-05 16:17:57 +12:00
Naz
6741818265 Added JSDoc to FlagLimit constructor
refs https://github.com/TryGhost/Team/issues/597

- Before adding more parameters documented existing ones
2021-04-05 16:03:36 +12:00
Naz
c16f13b106 Added JSDoc to loadLimits method
refs https://github.com/TryGhost/Team/issues/597

- Before adding more parameters documented existing ones
- Created LimitConfig type definition to have easier look into the structure of limit conifiguration
2021-04-05 16:02:35 +12:00
Renovate Bot
01a3e89ef5 Update dependency sinon to v10 2021-04-02 01:16:56 +00:00
Renovate Bot
88e443a935 Update dependency typescript to v4.2.3 2021-04-01 23:47:38 +00:00
Renovate Bot
8fc2a06351 Update dependency lodash to v4.17.21 2021-04-01 22:14:30 +00:00
Renovate Bot
2ef913b6e7 Update dependency ghost-ignition to v4.6.1 2021-04-01 20:59:39 +00:00
Renovate Bot
e9bd226686 Update dependency folder-hash to v4.0.1 2021-04-01 19:48:51 +00:00
Renovate Bot
5fbbc6e7bb Update dependency fastq to v1.11.0 2021-04-01 18:31:46 +00:00
Renovate Bot
7101366757 Update dependency emoji-regex to v9.2.2 2021-04-01 17:36:48 +00:00
Renovate Bot
47391855dd Update dependency date-fns to v2.19.0 2021-04-01 15:59:57 +00:00
Renovate Bot
8075074e9a Update dependency cron-validate to v1.4.3 2021-04-01 14:33:16 +00:00
Renovate Bot
5afbf3f501 Update dependency @types/sinon to v9.0.11 2021-04-01 14:09:23 +00:00
Renovate Bot
4d59a4d869 Update dependency @types/mocha to v8.2.2 2021-04-01 12:23:38 +00:00
Naz
d6a803ce2b Added docs for limit service common ussecases
refs https://github.com/TryGhost/Team/issues/587

- Documented common usecases such as:
1. initialization and configuration of limit service
2. usage of "max" types of limits
2021-04-01 23:07:16 +13:00
Renovate Bot
ff22540ef2 Update Test & linting packages 2021-04-01 09:44:12 +00:00
Naz
2d5aff434c Added optional max limit override to errorIfIsOverLimit
refs https://github.com/TryGhost/Team/issues/587
refs 73e7319406

- It's a symmetric change to the one introduce in the refenreced commit
- TLDR: allows to check if limit was reached if the user changes the limit
2021-04-01 18:27:29 +13:00
Naz
5dd3752f15 Added test coverage for is over limit check
refs https://github.com/TryGhost/Team/issues/587

- There was no test coverage for MaxLimit's errorIfIsOverLimit check. Added basic test to make sure upcoming modifications don't break existing functionality
2021-04-01 18:10:07 +13:00
Naz
3bcc4256f5 Grouped MaxLimit test cases into describe groups
refs https://github.com/TryGhost/Team/issues/587

- Clenup before adding even more test coverage
2021-04-01 18:03:32 +13:00
Naz
73e7319406 Added optional max limit override to errorIfWouldGoOverLimit
refs https://github.com/TryGhost/Team/issues/587

- The optional {max} passed as an option allows to override currently configured limit and do a theoretical new limit check. For example:  check if the max limit will be exceeded if the limit changes (user changes plans)
2021-04-01 17:59:52 +13:00
Naz
0838186abd Added JSDoc to MaxLimit constructor
refs https://github.com/TryGhost/Team/issues/587

- Having a JSDoc gives better intellisense when the class is instantiated and provides clues about what each parameter might be used for
2021-04-01 17:29:26 +13:00
Naz
57e24b3677 Added incorrect 'max' usage error to MaxLimit
refs https://github.com/TryGhost/Team/issues/587

- When the 'max' configuration is missing the instance of the class breaks when used unexpectedly. Followed similar approach to currentCountQuery check  by failing fast in the constructor
2021-04-01 17:20:56 +13:00
Naz
299d3e3bd4 Added test coverage for max limit class
refs https://github.com/TryGhost/Team/issues/587

- Test were missing for class initialization and around how the limit currently works.
- Before extending it's behavior throught its valuable to cover current functionality to not accidentally break anything
2021-04-01 17:17:45 +13:00
naz
df222e6d64 Updated readme with module description
refs https://github.com/TryGhost/Team/issues/510

- Explained the intention and responsibility ares of the module
2021-03-31 13:05:46 +13:00