{"_id":"@emiran/omu-ubys","_rev":"2-a871c979a6a5daf39cc5534b7167d3d1","name":"@emiran/omu-ubys","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@emiran/omu-ubys","version":"0.1.0","keywords":["omu","ubys","ondokuz-mayis","student","typescript","scraper","unofficial"],"author":{"name":"Emirhan"},"license":"MIT","_id":"@emiran/omu-ubys@0.1.0","maintainers":[{"name":"emiran","email":"emirhan551952@gmail.com"}],"homepage":"https://github.com/emi-ran/omu-ubys-npm#readme","bugs":{"url":"https://github.com/emi-ran/omu-ubys-npm/issues"},"dist":{"shasum":"572e190e86431da1dadadb9efe75f0249cb95e2b","tarball":"https://registry.npmjs.org/@emiran/omu-ubys/-/omu-ubys-0.1.0.tgz","fileCount":10,"integrity":"sha512-wNp9dzzITElHSdimXm5NIDETcsmbz4UDK90SMMdIAP0PhRcUm8504BcuxynU6a1huU26Fb63BhWDsInt1VJSKw==","signatures":[{"sig":"MEUCIGVxKeEatDX5wafLFWsuiTfUbtfhXCfPzayON+FFB4DyAiEA/UwXsPjYjLKWf0EpK8W0yTI9f7LqyP0yJKx8d0ObwDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330931},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f766483ef3be2288b306f1cc7ea1cc6ebeecb77e","scripts":{"test":"vitest run","build":"tsup","check":"tsc --noEmit","test:watch":"vitest","example:basic":"tsx examples/basic-usage.ts"},"_npmUser":{"name":"emiran","email":"emirhan551952@gmail.com"},"repository":{"url":"git+https://github.com/emi-ran/omu-ubys-npm.git","type":"git"},"_npmVersion":"11.11.0","description":"Unofficial TypeScript client for Ondokuz Mayis University UBYS.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"got":"^14.6.1","cheerio":"^1.1.2","tough-cookie":"^5.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.1"},"_npmOperationalInternal":{"tmp":"tmp/omu-ubys_0.1.0_1775818104984_0.17692918869213514","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@emiran/omu-ubys","version":"0.2.0","description":"Unofficial TypeScript client for Ondokuz Mayis University UBYS.","license":"MIT","author":{"name":"Emirhan"},"repository":{"type":"git","url":"git+https://github.com/emi-ran/omu-ubys-npm.git"},"homepage":"https://github.com/emi-ran/omu-ubys-npm#readme","bugs":{"url":"https://github.com/emi-ran/omu-ubys-npm/issues"},"type":"module","sideEffects":false,"engines":{"node":">=20.0.0"},"keywords":["omu","ubys","ondokuz-mayis","student","typescript","scraper","unofficial"],"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsup","check":"tsc --noEmit","example:basic":"tsx examples/basic-usage.ts","test":"vitest run","test:watch":"vitest"},"dependencies":{"cheerio":"^1.1.2","got":"^14.6.1","tough-cookie":"^5.1.2"},"devDependencies":{"@types/node":"^24.6.1","tsx":"^4.20.6","tsup":"^8.5.0","typescript":"^5.9.3","vitest":"^3.2.4"},"gitHead":"bbf346909cddfc7498dd5526d3d0cd6e1e1e71e2","_id":"@emiran/omu-ubys@0.2.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-bVueFyFQyl9eGC+ToPj7SggqoN1yIJqXP2yQfnMgq4VKs8QMygbhCOTv1r3Jy1AxkH1gq0j2V7dyxEiYPmcxKw==","shasum":"445477ecde878c09799908636c06580167fe0601","tarball":"https://registry.npmjs.org/@emiran/omu-ubys/-/omu-ubys-0.2.0.tgz","fileCount":10,"unpackedSize":390632,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEtLxfWZdr3ONqydbNoPf680MIN9+Jracgt6BB2WoXngIhALgydFvNeOXBLgTWC4jGwvNB6oCFUXZYilPZagFNAj93"}]},"_npmUser":{"name":"emiran","email":"emirhan551952@gmail.com"},"directories":{},"maintainers":[{"name":"emiran","email":"emirhan551952@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/omu-ubys_0.2.0_1781356494491_0.2655542800213402"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T10:48:24.922Z","modified":"2026-06-13T13:14:54.741Z","0.1.0":"2026-04-10T10:48:25.153Z","0.2.0":"2026-06-13T13:14:54.626Z"},"bugs":{"url":"https://github.com/emi-ran/omu-ubys-npm/issues"},"author":{"name":"Emirhan"},"license":"MIT","homepage":"https://github.com/emi-ran/omu-ubys-npm#readme","keywords":["omu","ubys","ondokuz-mayis","student","typescript","scraper","unofficial"],"repository":{"type":"git","url":"git+https://github.com/emi-ran/omu-ubys-npm.git"},"description":"Unofficial TypeScript client for Ondokuz Mayis University UBYS.","maintainers":[{"name":"emiran","email":"emirhan551952@gmail.com"}],"readme":"<div align=\"center\">\r\n\r\n# @emiran/omu-ubys\r\n\r\n**Ondokuz Mayıs Üniversitesi UBYS için gayriresmî TypeScript istemcisi**\r\n\r\n[![npm version](https://img.shields.io/npm/v/@emiran/omu-ubys?color=cb3837&label=npm)](https://www.npmjs.com/package/@emiran/omu-ubys)\r\n[![Node.js](https://img.shields.io/badge/node-%3E%3D20-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\r\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\r\n\r\nUBYS'yi elle kazımayı bırakın. Tek bir istemciyle tipli, normalize öğrenci verisi alın.\r\n\r\n[Başlarken](#başlarken) · [API Dokümantasyonu](./DOCS.md) · [English](./README.md)\r\n\r\n</div>\r\n\r\n---\r\n\r\n## ✨ Özellikler\r\n\r\n- 🔐 **Oturum tabanlı kimlik doğrulama** — cookie jar, CSRF token ve login akışı sizin için yönetilir\r\n- 📊 **Akademik veriler** — notlar, transkript, ders detayları, haftalık program\r\n- 💬 **Mesajlaşma** — konuşma listesi, katılımcılar, tam mesaj geçmişi\r\n- 🍽️ **Yemekhane menüsü** — giriş yapmadan günlük menü\r\n- 🧑‍🏫 **Danışman bilgisi** — akademik danışmanınızın adı ve iletişim bilgisi\r\n- 📋 **Anket çözme** — MES ders değerlendirme anketlerini tespit et, getir ve gönder\r\n- 🛡️ **Yapılandırılmış hatalar** — `LoginError`, `SessionExpiredError`, `ParseError` ve dahası\r\n- 📦 **ESM + CJS** — her ortamda çalışır, tam tip dışa aktarımı\r\n\r\n## Başlarken\r\n\r\n### Kurulum\r\n\r\n```bash\r\nnpm install @emiran/omu-ubys\r\n```\r\n\r\n### Hızlı Başlangıç\r\n\r\n```ts\r\nimport { UBYSClient } from \"@emiran/omu-ubys\";\r\n\r\nconst client = new UBYSClient({\r\n  username: process.env.OMU_UBYS_USERNAME,\r\n  password: process.env.OMU_UBYS_PASSWORD,\r\n});\r\n\r\ntry {\r\n  await client.login();\r\n\r\n  const profile = await client.getProfile();\r\n  const grades = await client.getGrades();\r\n\r\n  console.log(profile.name);              // \"Emirhan Çetinkaya\"\r\n  console.log(grades[0]?.courses[0]?.letterGrade); // \"AA\"\r\n} finally {\r\n  await client.close();\r\n}\r\n```\r\n\r\n## 🗂️ Mevcut Metodlar\r\n\r\n| Kategori | Metod | Giriş Gerekli |\r\n|----------|-------|:---:|\r\n| **Kimlik** | `login()` | — |\r\n| | `clearSession()` | ✅ |\r\n| | `close()` | — |\r\n| **Akademik** | `getProfile()` | ✅ |\r\n| | `getGrades()` | ✅ |\r\n| | `getClassDetails(classId)` | ✅ |\r\n| | `getTranscript()` | ✅ |\r\n| | `getWeeklySchedule()` | ✅ |\r\n| **Kampüs** | `getAdvisor()` | ✅ |\r\n| | `getCafeteriaMenu()` | ❌ |\r\n| **Anket** | `getPendingSurveys()` | ✅ |\r\n| | `fetchSurvey(surveyUrl)` | ✅ |\r\n| | `submitSurvey(surveyData, answers)` | ✅ |\r\n| **Mesajlaşma** | `getMessages(options?)` | ✅ |\r\n| | `getChatRecipients(options)` | ✅ |\r\n| | `getChatMessages(options)` | ✅ |\r\n\r\n> **Durum yardımcıları:** `isLoggedIn` · `isClosed`\r\n\r\n## 🤔 Neden Bu Paket?\r\n\r\n| `@emiran/omu-ubys` olmadan | `@emiran/omu-ubys` ile |\r\n|---|---|\r\n| Manuel cookie yönetimi | Otomatik oturum yönetimi |\r\n| Ham HTML / Base64 payload parse etme | Temiz, tipli dönüş değerleri |\r\n| UBYS endpoint'lerini tahmin etme | Dökümante edilmiş, test edilmiş metodlar |\r\n| Hata bağlamı yok | Yapılandırılmış hata hiyerarşisi |\r\n\r\n## 📚 Dokümantasyon\r\n\r\n| Döküman | Açıklama |\r\n|---------|----------|\r\n| [**DOCS.md**](./DOCS.md) | Tam API referansı, tipler ve örnekler |\r\n| [**CHANGELOG.md**](./CHANGELOG.md) | Sürüm geçmişi ve önemli değişiklikler |\r\n| [**README.md**](./README.md) | English overview |\r\n| [**CONTRIBUTING.md**](./CONTRIBUTING.md) | Katkı rehberi |\r\n| [**DEVELOPMENT.md**](./DEVELOPMENT.md) | Yol haritası ve proje durumu |\r\n\r\n## ⚠️ Hukuki Uyarı\r\n\r\n> Bu proje tamamen **eğitim ve araştırma amacıyla** sunulan **gayriresmî** bir üçüncü taraf çalışmadır.\r\n>\r\n> Ondokuz Mayıs Üniversitesi tarafından onaylanmamış, desteklenmemiş veya bakımı yapılmamaktadır. Gayriresmî API kullanımı veya kurumsal sistemlere otomatik erişim, kullanım koşullarını veya ilgili mevzuatı ihlal edebilir. **Kullanım sorumluluğu tamamen size aittir.**\r\n>\r\n> Kaldırma veya inceleme talepleri: [`ctnky.emiran@gmail.com`](mailto:ctnky.emiran@gmail.com)\r\n","readmeFilename":"README.tr.md"}