-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(server): user and server license endpoints #10682
Conversation
8978175
to
2c1dd2c
Compare
82d730f
to
5ae0205
Compare
I think a lot of people are going to ask these questions, so I'll get started:
|
There will be a text that says your instance is either
None |
We will have a dedicated blog post to announce this stuff, I would prefer we keep the questions until then, I will answer these questions though. It's important to remember what we initially announced though, no features will ever be locked behind a paywall, these payments will be totally optional.
It doesn't change anything, the most we have discussed currently is just showing "Unlicensed" in the bottom left of the web app.
The payments platform will be an external website hosted by Futo, you will pay, receive an email and then you enter that key into the app or web to appear as "licensed". As you can see from this code there are no external checks, all validation is done locally using signing and verification of the keys. |
5ae0205
to
0192416
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noice. Looks really good, just a few small things to clean up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks pretty good to me!
7282e0b
to
a6f7ac9
Compare
918cbfe
to
5ebf31b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
09d561f
to
7779f2c
Compare
e2e/src/api/specs/server.e2e-spec.ts
Outdated
const serverLicense = { | ||
licenseKey: 'IMSV-6ECZ-91TE-WZRM-Q7AQ-MBN4-UW48-2CPT-71X9', | ||
activationKey: | ||
'4kJUNUWMq13J14zqPFm1NodRcI6MV6DeOGvQNIgrM8Sc9nv669wyEVvFw1Nz4Kb1W7zLWblOtXEQzpRRqC4r4fKjewJxfbpeo9sEsqAVIfl4Ero-Vp1Dg21-sVdDGZEAy2oeTCXAyCT5d1JqrqR6N1qTAm4xOx9ujXQRFYhjRG8uwudw7_Q49pF18Tj5OEv9qCqElxztoNck4i6O_azsmsoOQrLIENIWPh3EynBN3ESpYERdCgXO8MlWeuG14_V1HbNjnJPZDuvYg__YfMzoOEtfm1sCqEaJ2Ww-BaX7yGfuCL4XsuZlCQQNHjfscy_WywVfIZPKCiW8QR74i0cSzQ ', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intentional to have the white space at the very end?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, but it doesn't actually matter it seems as all the tests pass 😆
@@ -123,6 +125,47 @@ export class UserService { | |||
}); | |||
} | |||
|
|||
getLicense({ user }: AuthDto): LicenseResponseDto { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where should we put in the mechanism that if the server license is set, we will return the valid status for each user license?
7779f2c
to
0f95199
Compare
This is the initial server side work to get ready for accepting optional payments for Immich. These endpoints simply allow us to store the client and server license keys on the server and retrieve whether the server is licensed or not so we know if someone has paid for Immich. The upcoming work to add an optional payments system will use these endpoints.