changes
This commit is contained in:
parent
cbd37ac8d8
commit
3138f33fee
7 changed files with 88 additions and 13 deletions
13
.env.example
Normal file
13
.env.example
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Supabase Configuration
|
||||
# Get these values from your Supabase project settings
|
||||
EXPO_PUBLIC_SUPABASE_URL=your_supabase_project_url
|
||||
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
|
||||
|
||||
# MovieBox (MoviesMod) Keys
|
||||
EXPO_PUBLIC_MOVIEBOX_PRIMARY_KEY=your_moviebox_primary_key
|
||||
EXPO_PUBLIC_MOVIEBOX_TMDB_API_KEY=your_tmdb_api_key_for_moviebox
|
||||
|
||||
# Trakt
|
||||
EXPO_PUBLIC_TRAKT_CLIENT_ID=your_trakt_client_id
|
||||
EXPO_PUBLIC_TRAKT_CLIENT_SECRET=your_trakt_client_secret
|
||||
EXPO_PUBLIC_TRAKT_REDIRECT_URI=stremioexpo://auth/trakt
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -30,6 +30,7 @@ yarn-error.*
|
|||
*.pem
|
||||
|
||||
# local env files
|
||||
.env
|
||||
.env*.local
|
||||
|
||||
# typescript
|
||||
|
|
|
|||
57
package-lock.json
generated
57
package-lock.json
generated
|
|
@ -10,6 +10,7 @@
|
|||
"dependencies": {
|
||||
"@adrianso/react-native-device-brightness": "^1.2.7",
|
||||
"@backpackapp-io/react-native-toast": "^0.14.0",
|
||||
"@expo/env": "^2.0.7",
|
||||
"@expo/metro-runtime": "~4.0.1",
|
||||
"@expo/vector-icons": "~14.0.4",
|
||||
"@lottiefiles/dotlottie-react": "^0.6.5",
|
||||
|
|
@ -2407,6 +2408,19 @@
|
|||
"expo-internal": "build/bin/cli"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/cli/node_modules/@expo/env": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.2.tgz",
|
||||
"integrity": "sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"dotenv": "~16.4.5",
|
||||
"dotenv-expand": "~11.0.6",
|
||||
"getenv": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/cli/node_modules/form-data": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
|
||||
|
|
@ -2577,16 +2591,25 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@expo/env": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.2.tgz",
|
||||
"integrity": "sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==",
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.7.tgz",
|
||||
"integrity": "sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"dotenv": "~16.4.5",
|
||||
"dotenv-expand": "~11.0.6",
|
||||
"getenv": "^1.0.0"
|
||||
"getenv": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/env/node_modules/getenv": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz",
|
||||
"integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/fingerprint": {
|
||||
|
|
@ -2751,6 +2774,19 @@
|
|||
"@babel/highlight": "^7.10.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/metro-config/node_modules/@expo/env": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.2.tgz",
|
||||
"integrity": "sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"dotenv": "~16.4.5",
|
||||
"dotenv-expand": "~11.0.6",
|
||||
"getenv": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@expo/metro-config/node_modules/@expo/json-file": {
|
||||
"version": "9.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.2.tgz",
|
||||
|
|
@ -7698,6 +7734,19 @@
|
|||
"react-native": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/expo-constants/node_modules/@expo/env": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.2.tgz",
|
||||
"integrity": "sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"dotenv": "~16.4.5",
|
||||
"dotenv-expand": "~11.0.6",
|
||||
"getenv": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/expo-crypto": {
|
||||
"version": "14.0.2",
|
||||
"resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-14.0.2.tgz",
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
"dependencies": {
|
||||
"@adrianso/react-native-device-brightness": "^1.2.7",
|
||||
"@backpackapp-io/react-native-toast": "^0.14.0",
|
||||
"@expo/env": "^2.0.7",
|
||||
"@expo/metro-runtime": "~4.0.1",
|
||||
"@expo/vector-icons": "~14.0.4",
|
||||
"@lottiefiles/dotlottie-react": "^0.6.5",
|
||||
|
|
|
|||
|
|
@ -1044,9 +1044,12 @@ class LocalScraperService {
|
|||
}
|
||||
}
|
||||
|
||||
// MovieBox constants - hardcoded for security
|
||||
const MOVIEBOX_PRIMARY_KEY = '76iRl07s0xSN9jqmEWAt79EBJZulIQIsV64FZr2O';
|
||||
const MOVIEBOX_TMDB_API_KEY = '439c478a771f35c05022f9feabcca01c';
|
||||
// MovieBox constants - read from Expo public envs so they bundle in builds
|
||||
const MOVIEBOX_PRIMARY_KEY = process.env.EXPO_PUBLIC_MOVIEBOX_PRIMARY_KEY;
|
||||
const MOVIEBOX_TMDB_API_KEY = process.env.EXPO_PUBLIC_MOVIEBOX_TMDB_API_KEY || '439c478a771f35c05022f9feabcca01c';
|
||||
if (!MOVIEBOX_PRIMARY_KEY) {
|
||||
throw new Error('Missing EXPO_PUBLIC_MOVIEBOX_PRIMARY_KEY');
|
||||
}
|
||||
|
||||
const sandbox = {
|
||||
console: {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,12 @@ import { createClient } from '@supabase/supabase-js';
|
|||
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||
|
||||
|
||||
const SUPABASE_URL = 'https://utypxyhwcekefvhyguxp.supabase.co';
|
||||
const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV0eXB4eWh3Y2VrZWZ2aHlndXhwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ2NjE4NTksImV4cCI6MjA3MDIzNzg1OX0.kc76fjHLjq6a5tNLsQh6KxS4uGp0ngl_ipQBte6KZuA';
|
||||
const SUPABASE_URL = process.env.EXPO_PUBLIC_SUPABASE_URL;
|
||||
const SUPABASE_ANON_KEY = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
|
||||
|
||||
if (!SUPABASE_URL || !SUPABASE_ANON_KEY) {
|
||||
throw new Error('Missing Supabase environment variables. Please check your .env file.');
|
||||
}
|
||||
|
||||
export const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
|
||||
auth: {
|
||||
|
|
|
|||
|
|
@ -10,9 +10,13 @@ export const TRAKT_TOKEN_EXPIRY_KEY = 'trakt_token_expiry';
|
|||
|
||||
// Trakt API configuration
|
||||
const TRAKT_API_URL = 'https://api.trakt.tv';
|
||||
const TRAKT_CLIENT_ID = 'd7271f7dd57d8aeff63e99408610091a6b1ceac3b3a541d1031a48f429b7942c';
|
||||
const TRAKT_CLIENT_SECRET = '0abf42c39aaad72c74696fb5229b558a6ac4b747caf3d380d939e950e8a5449c';
|
||||
const TRAKT_REDIRECT_URI = 'stremioexpo://auth/trakt'; // This should match your registered callback URL
|
||||
const TRAKT_CLIENT_ID = process.env.EXPO_PUBLIC_TRAKT_CLIENT_ID as string;
|
||||
const TRAKT_CLIENT_SECRET = process.env.EXPO_PUBLIC_TRAKT_CLIENT_SECRET as string;
|
||||
const TRAKT_REDIRECT_URI = process.env.EXPO_PUBLIC_TRAKT_REDIRECT_URI || 'stremioexpo://auth/trakt'; // Must match registered callback URL
|
||||
|
||||
if (!TRAKT_CLIENT_ID || !TRAKT_CLIENT_SECRET) {
|
||||
throw new Error('Missing Trakt env vars. Set EXPO_PUBLIC_TRAKT_CLIENT_ID and EXPO_PUBLIC_TRAKT_CLIENT_SECRET');
|
||||
}
|
||||
|
||||
// Types
|
||||
export interface TraktUser {
|
||||
|
|
@ -712,7 +716,7 @@ export class TraktService {
|
|||
const headers: HeadersInit = {
|
||||
'Content-Type': 'application/json',
|
||||
'trakt-api-version': '2',
|
||||
'trakt-api-key': TRAKT_CLIENT_ID,
|
||||
'trakt-api-key': TRAKT_CLIENT_ID as string,
|
||||
'Authorization': `Bearer ${this.accessToken}`
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue