Examples
This is examples folder. These examples are used to test new features and as sample showcases.
Each example owns an endpoint where a pass can be reached. This project is built upon Express.js.
Typescript compilation is done automatically through tsx.
Before generating a new pass, you'll have to override the passTypeIdentifier and teamIdentifier for them to match the data in your certificates. This can be done in two ways:
a) Edit manually the `pass.json` of the model you are going to run;
b) Pass the two fields in the query string of the example you are running when querying it;
Omitting this step, will make your pass unopenable.
Install the dependencies from wherever path you are with pnpm install. Installing the dependencies will link passkit-generator in the parent workspace, so to reflect any change, it will be enough to build passkit-generator and restart the example.
Then be sure to be placed in this folder (examples/self-hosted) and run this command to run the web server:
$ pnpm example;
Certificates paths in examples are linked to a folder certificates in the root of this project which is not provided.
To make them work, you'll have to edit both certificates and model path.
Every example runs on 0.0.0.0:8080. Visit http://localhost:8080/:example/:modelName, by replacing :example with one of the following and :modelName with one inside models folder.
Please note that field.js example is hardcoded to download exampleBooking.pass.
| Example name | Endpoint name | Additional notes |
|---|---|---|
| localize | /localize |
- |
| fields | /fields |
- |
| expirationDate | /expirationDate |
Accepts a required parameter in query string fn, which can be either expiration or void, to switch generated example. |
| scratch | /scratch |
- |
| PKPass.from | /pkpassfrom |
- |
| barcodes | /barcodes |
Using ?alt=true query parameter, will lead to barcode string message usage instead of selected ones |
| pkpasses | /pkpasses |
- |
Every contribution is really appreciated. ❤️ Thank you!