1+ /*
2+ * MIT License
3+ *
4+ * Copyright (c) 2025 Ronan LE MEILLAT
5+ *
6+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7+ * of this software and associated documentation files (the "Software"), to deal
8+ * in the Software without restriction, including without limitation the rights
9+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+ * copies of the Software, and to permit persons to whom the Software is
11+ * furnished to do so, subject to the following conditions:
12+ *
13+ * The above copyright notice and this permission notice shall be included in all
14+ * copies or substantial portions of the Software.
15+ *
16+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+ * SOFTWARE.
23+ */
24+
25+ -- Active les clés étrangères pour assurer l'intégrité référentielle
26+ PRAGMA foreign_keys = ON ;
27+
28+ -- Désactiver temporairement les triggers pour l'insertion initiale
29+ PRAGMA triggers = OFF;
30+
31+ -- Supprime les données existantes (optionnel, à utiliser avec précaution)
32+ DELETE FROM refunds;
33+ DELETE FROM publications;
34+ DELETE FROM feedbacks;
35+ DELETE FROM purchases;
36+ DELETE FROM id_mappings;
37+ DELETE FROM testers;
38+
39+ -- Réinitialise les compteurs auto-increment (si nécessaire)
40+ DELETE FROM sqlite_sequence WHERE name IN (' feedbacks' , ' publications' , ' refunds' );
41+
42+ -- Insertion des testeurs
43+ INSERT INTO testers (uuid, name) VALUES
44+ (' 45f9830a-309b-4cda-95ec-71e000b78f7d' , ' John Doe' ),
45+ (' cc97a5cc-c4ba-4804-98b5-90532f09bd83' , ' Jane Doe' );
46+
47+ -- Insertion des mappages d'IDs
48+ INSERT INTO id_mappings (id, tester_uuid) VALUES
49+ (' auth0|1234567890' , ' 45f9830a-309b-4cda-95ec-71e000b78f7d' ),
50+ (' auth0|0987654321' , ' cc97a5cc-c4ba-4804-98b5-90532f09bd83' );
51+
52+ -- Insertion des achats - directement avec les valeurs refunded de mock-data.ts
53+ -- Notez que nous avons désactivé les triggers pour pouvoir définir les valeurs refunded manuellement
54+ INSERT INTO purchases (id, tester_uuid, date , order_number, description, amount, screenshot, refunded) VALUES
55+ (
56+ ' d5726cf2-36f6-41d8-bd37-f349314561b4' ,
57+ ' 45f9830a-309b-4cda-95ec-71e000b78f7d' ,
58+ ' 2025-03-23' ,
59+ ' 123' ,
60+ ' Test order' ,
61+ 10 .99 ,
62+ ' UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==' ,
63+ 1 -- refunded: true dans mock-data.ts
64+ ),
65+ (
66+ ' aa92494a-a036-4a4e-9c6a-c3821a8cb6a4' ,
67+ ' cc97a5cc-c4ba-4804-98b5-90532f09bd83' ,
68+ ' 2021-02-01' ,
69+ ' 456' ,
70+ ' Test order 2' ,
71+ 20 .99 ,
72+ ' UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==' ,
73+ 1 -- refunded: true dans mock-data.ts
74+ ),
75+ (
76+ ' b5e8c21d-7f4e-4a6b-9c3d-9e7a1f2b3c4d' ,
77+ ' 45f9830a-309b-4cda-95ec-71e000b78f7d' ,
78+ ' 2025-02-15' ,
79+ ' 789' ,
80+ ' Premium product test' ,
81+ 59 .99 ,
82+ ' UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==' ,
83+ 0 -- refunded: false dans mock-data.ts
84+ );
85+
86+ -- Insertion des feedbacks
87+ INSERT INTO feedbacks (purchase_id, date , feedback) VALUES
88+ (
89+ ' d5726cf2-36f6-41d8-bd37-f349314561b4' ,
90+ ' 2025-03-23' ,
91+ ' Great product, fast delivery and exactly as described!'
92+ ),
93+ (
94+ ' aa92494a-a036-4a4e-9c6a-c3821a8cb6a4' ,
95+ ' 2021-02-05' ,
96+ ' Product was good but shipping took longer than expected.'
97+ );
98+
99+ -- Insertion des publications
100+ INSERT INTO publications (purchase_id, date , screenshot) VALUES
101+ (
102+ ' d5726cf2-36f6-41d8-bd37-f349314561b4' ,
103+ ' 2025-03-23' ,
104+ ' UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA=='
105+ ),
106+ (
107+ ' aa92494a-a036-4a4e-9c6a-c3821a8cb6a4' ,
108+ ' 2021-02-10' ,
109+ ' UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA=='
110+ );
111+
112+ -- Insertion des remboursements
113+ INSERT INTO refunds (purchase_id, date , refund_date, amount) VALUES
114+ (
115+ ' d5726cf2-36f6-41d8-bd37-f349314561b4' ,
116+ ' 2025-03-25' ,
117+ ' 2025-03-28' ,
118+ 10 .99
119+ ),
120+ (
121+ ' aa92494a-a036-4a4e-9c6a-c3821a8cb6a4' ,
122+ ' 2021-02-15' ,
123+ ' 2021-02-20' ,
124+ 20 .99
125+ );
126+
127+ -- Réactiver les triggers après l'insertion des données
128+ PRAGMA triggers = ON ;
129+
130+ -- Requêtes de vérification des données insérées
131+ -- SELECT 'Testers' as table_name, COUNT(*) as count FROM testers
132+ -- UNION ALL
133+ -- SELECT 'ID Mappings', COUNT(*) FROM id_mappings
134+ -- UNION ALL
135+ -- SELECT 'Purchases', COUNT(*) FROM purchases
136+ -- UNION ALL
137+ -- SELECT 'Feedbacks', COUNT(*) FROM feedbacks
138+ -- UNION ALL
139+ -- SELECT 'Publications', COUNT(*) FROM publications
140+ -- UNION ALL
141+ -- SELECT 'Refunds', COUNT(*) FROM refunds;
142+
143+ -- Vérification d'un échantillon de données de chaque table
144+ -- SELECT '==== Testers ====' as result;
145+ -- SELECT uuid, name FROM testers;
146+
147+ -- SELECT '==== ID Mappings ====' as result;
148+ -- SELECT id, tester_uuid FROM id_mappings;
149+
150+ -- SELECT '==== Purchases ====' as result;
151+ -- SELECT id, tester_uuid, description, amount, refunded FROM purchases;
152+
153+ -- SELECT '==== Feedbacks ====' as result;
154+ -- SELECT purchase_id, date, feedback FROM feedbacks;
155+
156+ -- SELECT '==== Publications ====' as result;
157+ -- SELECT purchase_id, date FROM publications;
158+
159+ -- SELECT '==== Refunds ====' as result;
160+ -- SELECT purchase_id, date, refund_date, amount FROM refunds;
161+
162+ -- Exemples de requêtes utilisant les vues
163+ -- SELECT '==== Purchase Status (vue) ====' as result;
164+ -- SELECT * FROM purchase_status;
165+
166+ -- SELECT '==== Tester Statistics (vue) ====' as result;
167+ -- SELECT * FROM tester_statistics;
0 commit comments