Recent Releases of pawnote
pawnote - js v1.3.0
Fixes
- ID parsing on notebook absences : see #68
- Add
categoryTextattribute on resources : see #67 - Better server side error handling : see #62 (fixes #60)
Breaking Changes
There's a new method use() that allows to switch the current account context.
This is done to start implementing the family accounts API, see #61
Please look the examples to see how it affects the code, you may look at the changes done in this commit to see the differences : https://github.com/LiterateInk/Pawnote/commit/f05fa818d143ee1d838ae13c558ae7273b24570e
- TypeScript
Published by Vexcited about 1 year ago
pawnote - kotlin v1.0.0
First release of the Kotlin implementation !
Should match the upstream JS/TS API.
A documentation is on the way...
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v1.2.2
Fixes
Access denied error was not handled properly previously in plain text response.
Also, the usage of in to check errors in the response could be problematic in some cases and has been fixed.
- fix(response): add access denied catch and prevent throwing on
_Signature_check because ofin(#60) (c58b193)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v1.2.0
Features
PIN and security methods has been fully implemented in auth flow, learn more in https://github.com/LiterateInk/Pawnote/issues/56.
Please check the examples to see how to implement it in your project.
- chore: merge pull request #59 from LiterateInk/feat/js/pin-code (cbd8871)
A new feature of PRONOTE v2024 has been implemented in Pawnote which are comments on grades, learn more in https://github.com/LiterateInk/Pawnote/issues/42. Thanks to @Gabriel29306 for implementing this feature !
- chore: merge pull request #58 from Gabriel29306/grade-notes (788050e)
Fixes
An error could be thrown in timetable decoders when the date provided is invalid and no ListeCours is present.
- fix(decoders):
ListeCourscan beundefinedif date not valid (50c6bda)
Invalid properties were passed to the timetable request for the intervals method only, it has been fixed and properties are now correct.
- fix(timetable): encode date properly on intervals (f3851f7)
When a domain was empty ([]) it would output [NaN] because of a for-loop issue.
It has been fixed and is now returning [] properly.
- fix(domain): return empty array when empty domain (d72de26)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v1.1.0
Add support for proper error handling.
Errors are now in models/errors and are exported. Every errors in Pawnote is using one of those exported errors.
Add support for menus.
You can now fetch menus for your establishment by doing pronote.menus(session, [Date]) !
- feat: add proper errors (#8) (af01305)
- chore(deps): bump (41415f4)
- chore: merge pull request #55 from LiterateInk/js-menus (05b4333)
- fix(homepage): remove menus since not supported (5a1c4ee)
- chore: exports (e55086c)
- feat: add dish and meal kinds (4c451c1)
- feat: add week menu (c8e0a99)
- feat: add menu (1c2de35)
- feat: add meal (14f0149)
- feat: add food (34b9bce)
- feat: add food label (4e1cc8a)
- feat: add food allergen (6bb8d65)
- feat(api): add menus (aacfac1)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v1.0.0
FINALLY
After many hours of debugging and thinking, the final rewrite is here !
A lot of breaking changes were made, because the library is NOT the same AT ALL.
Not sure if a migration guide is needed here, you might have to check the examples before the v1 to catch the differences.
A documentation will be written soon with the new structure.
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.22.1
- fix(timetable): handle each week separately (1ec97cf)
- feat(timetable): add
weekNumberproperty on classes (040038c)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.22.0
- fix(dates): dynamic prefixed year characters (dbe0968
- feat: onglets parser (277c0f4) #47
- feat: add iCal URL getter and iCal token getter on personal information API call (640dc01)
- feat!: use the PRONOTE version instead of a custom enum in
session.instance(7a84dc8) - fix(api)!: use numbers instead of the year string for the version (7911e1e)
- feat!: reimplement
getTimetableOverviewForWeek(b278911)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.21.4
Bugfixes
- (a3e357b) API for geolocation : received URLs are now lowercased by default (see why on #45)
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.21.3
Implements a bugfix in authentication process when you're in a context where Headers is undefined, thanks to @ecnivtwelve (#41).
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.21.2
Implementation of function (DiscussionCreationRecipientFunction) on DiscussionCreationRecipient
- fix(types):
listeRessourcescan beundefinedandfonctionis sometimes given (b61ea10)- feat(discussion): add support for
fonction(d2202de)
Using the following JSON, previous versions would throw an error because listeRessources is undefined here.
jsonc
{
"L": "Mme RENARD Maëva",
"N": "113#aAbBcCdDeEfFgGhHaAbBcCdDeEfFgGhH",
"G": 34,
"P": 28,
"fonction": {
"_T": 24,
"V": {
"L": "CPE",
"N": "62#aAbBcCdDeEfFgGhHaAbBcCdDeEfFgGhH"
}
},
"avecDiscussion": true
}
Instead, we have fonction which was not implemented nor typed.
This release fixes this by implementing a DiscussionCreationRecipientFunction class that handles properties from fonction.
A function field has been added to the DiscussionCreationRecipient class to access values in there.
Note that subjects will still exist for listeRessources elements and will be an empty array when listeRessources is undefined.
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.21.1
Bug fix on grades
For some people, in the API, moyenne can be undefined on a grade and that would throw an error on Pawnote. This release fixes that by making the average property on StudentGrade optionnal (so can be undefined).
- TypeScript
Published by Vexcited over 1 year ago
pawnote - js v0.21.0
- #36: Add method for grades report PDF generation for a given period
- #35: Add support for "mesure conservatoire" (
PrecautionaryMeasure) in attendance - #33: Add support for detentions in the timetable
- 2ac99ff: Implementation for Turboself partner
- a2552cd: Bugfix when reauthenticating using a token that should bypass ENT
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - js v0.20.4
- feat(discussions): add checks if user is allowed to access it (b00a90a)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - js v0.20.3
- fix(period): additional check to make sure
periodeParDefautis defined (3d7a2fa)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - js v0.20.2
- feat(upload): support react native FormData file objects (39e5ce8)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - js v0.20.1
- feat(homework/upload): add support for
BlobandFile(57a29e7)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - js v0.20.0
- Add support for transferred messages (de35a40, resolves #15 )
- Implemented observation type for attendance (#18)
- Add homepage and partnerURL fetch (9fb6a28, f25fe7e, 495d970)
- Implement ARD partner and wallet fetching (from PRONOTE) : #29
- Full implementation for drafts in discussions : #30 (resolves #12 and #13)
- Add support to move a discussion to trash, recover from trash and delete permanently : #28
- Refactor lessons->classes (1047ff7)
- Full reimplementation of timetable parsing : fa8811e, ec9e01a, e326017, 5cf5d6a
- Configurable parser (with default behavior) to match exactly PRONOTE outputs
- Implementation of activities (and not only lessons)
- Implement native interval fetching for timetable (deprecated weekNumber method, for now) : ab7ef21
- Implement
getFrequencyForWeekmethod (08eff85) to know in which frequency we're currently are for a given week - Implement deletion of news : #25
- Implement
personaltypes on timetable : #24 - Implement file uploads and add an adapter for homeworks : #22
- Needs a correct FormData implementation in the fetcher body !
- Implement
maxHomeworkFileUploadSizein authorizations (cb7cdd8) - Better generative IDs handling (ca0deef)
- Bugfix concerning grades when average for student and
outOfare not given (c478960)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - v0.19.0
Changelog
- chore(recipients)!: rename classes (c8563d0)
- feat(discussion/messages)!: add support for reply/sending (b8b2ceb)
- feat(api/messages): add support for limit amount (4dc5e47)
- feat(api): add message creation (b536bb8)
- feat(messages): add pronote api button type (01734d3)
- fix(attendance): use resource type (7f50909)
- fix(aes): use newer function of node-forge (2fa81b2)
- fix(session): better error handling when reading payload (a855ca6)
- feat(session): add
gtype and documentation (047e629) - fix(session): better error handling on HTML extraction (ab15fa9)
- feat: add more exports (e92343e)
- chore: remove outdated comment (d268173)
- feat: add base wrapper for creating discussions (d97cba5)
- feat(recipients): add proper parser for creation discussion (0924e6c)
- fix(api): naming (a37b3d3)
- feat(types): more accurate user.data (b5c8d1f)
- fix(types): add
estPrincipal(b74883d) - feat(client): add authorizations property (1997871)
- feat: add create discussion recipients fn constant (4371d61)
- feat(api): add create discussion recipients (62f90c0)
- fix!: reuse resource type instead of creating another enum (bdc5c38)
- feat(client): add
authorizations(1a9b43c)
License
- chore(pkg): change license to
GPL-3.0(a25c826) - docs(LICENSE): use GPLv3 (5453b79)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - v0.17.0
New
- Add total support for news : Information & Surveys
- feat(select): add internals to read/create pronote selections (01e4a2a)
- fix(newsStatus): global patch to enable edition for all news (c4b6f4e)
- feat: support for surveys/questions and "other" choice type (a86019c)
- feat: add TextInput question type (6ac28f0)
Breaking
- refactor(client)!: rename
nametotitle(f0b08a2) - fix(StudentNewsCategory)!: use
falseby default fordefaultproperty (a193b84)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - v0.15.0
TL;DR
- Ability to get recipients of a message :
BaseMessageRecipientandFetchedMessageRecipient - Ability to get subject and correction of a grade (if provided).
- Ability to get in which folder is located a discussion (from a property in
StudentDiscussionclass) - New method :
markAsRead()inStudentDiscussionclass
Changelogs
- feat!: handle
hint_(gauche|droite)to build a dummyMessageRecipienttype (8bf00e2) - feat(StudentMessage)!: simplify the properties (1d73e3b)
- fix(grades/attachments): add internal genre to URL builder (390d8c9)
- feat(grades): add
subjectFileandcorrectionFile(31c05b9) - feat(discussions): add export in main (1b030b7)
- feat(discussions): add
markAsRead(e09d577) - fix: contents type of
StudentLessonContent(1f61dc6) - feat: add call API function to get message recipients (b054dc6)
- feat(StudentMessage)!: add new properties (a1edce7)
- feat(api/news): add type for
listePiecesJointes(3f2929c) - feat(api/messages): add types for
listeDocumentsJoints(1bcfcb2) - feat: add ApiUserMessageRecipients (1d5e900)
- feat(StudentDiscussion): add folders (640e6e5)
- feat: add enum for recipient type (989cc76)
- TypeScript
Published by Vexcited almost 2 years ago
pawnote - v0.14.1
Minor changes
- fix(session): do string search only if JSON is incorrect (3d491e9)
Security
- chore: merge pull request #2 from LiterateInk/dependabot/npmandyarn/ip-1.1.9 (8e29471)
- chore(deps-dev): bump ip from 1.1.8 to 1.1.9 (4368387)
- TypeScript
Published by Vexcited about 2 years ago
pawnote - v0.13.0
New
getAttendance() and getDiscussionsOverview() in client.
- fix!: add period fetching for
getEvaluations(43f64d8) - feat!: add period fetching on grades (1431520)
- refactor: rename to
attendance(cb1c8e6) - feat(client): add attendanceOverview (5322c84)
- feat!: add periods for onglets (1121ecc)
- feat(Period): add redirection to main
.getAttendanceOverviewForPeriod()(8838272) - feat: add attendance onglets and function name (29bb65b)
- feat: add wip types for attendance (87bfc11)
- feat: add messages support in discussions (3c59c84)
- feat: add wip for discussions (609421f)
- TypeScript
Published by Vexcited about 2 years ago
pawnote - v0.10.0
New
- implement getResourcesForInterval (8a08e32)
- implement getLessonResource and getLessonHomework (338adf7)
- implement constants for categories, single fetch resource and themes (b2b3f38)
- implement a single lesson fetch for its resource (2638988)
- implement a single lesson fetch for homework (34b4c71)
- implement student resources page (82bde48)
- implement queueing for requests (0ca76f6)
- TypeScript
Published by Vexcited about 2 years ago
pawnote - v0.4.0
- Implement custom fetcher for every API call to Pronote (a36a500)
Breaking
findPronoteInstances({ latitude, longitude }) now becomes findPronoteInstances(fetcher, { latitude, longitude })
where fetcher is type PawnoteFetcher.
If you want to use fetch (so keep default fetcher), you can do this :
typescript
import { defaultPawnoteFetcher } from "pawnote";
// and use it directly...
findPronoteInstances(defaultPawnoteFetcher, { latitude, longitude });
New
fetcher property in authenticate functions (so authenticatePronoteCredentials and authenticateToken).
If the fetcher is not given, it'll use the default fetcher which is defaultPawnoteFetcher.
- TypeScript
Published by Vexcited about 2 years ago
pawnote - v0.1.0
Initial release including partial support for Pronote's student accounts.
Functions exported
findPronoteInstancesauthenticatePronoteCredentialsauthenticateToken
Pronote class methods
getAESEncryptionKeysgetLessonsForIntervalgetTimetableForWeekgetHomeworkForIntervalgetHomeworkForWeekpatchHomeworkStatus
- TypeScript
Published by Vexcited about 2 years ago