Skip to content

Commit

Permalink
πŸ“ Merge pull request #46 from hemedani/main
Browse files Browse the repository at this point in the history
πŸ“ almost complete what is relation doc
  • Loading branch information
hemedani authored Jan 6, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 834f4a5 + 14d7bbf commit 4a3f7bc
Showing 7 changed files with 117 additions and 37 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -10,3 +10,4 @@ funql

playground/build/
pages/book
deno.lock
39 changes: 37 additions & 2 deletions docs/print.html
Original file line number Diff line number Diff line change
@@ -2325,11 +2325,46 @@ <h4 id="configdata-e2e-file"><a class="header" href="#configdata-e2e-file">Confi
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/ca01c001-7dd9-4b99-a5d5-82ab39ee008d" alt="Screenshot from 2024-01-06 15-10-49" /></p>
<p>You can play with this data in <code>playground</code> and change everything you want.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4efa9e8a-ba9b-40f0-8ebe-6d5ed139fee3" alt="Screenshot 2024-01-06 at 15-08-36 Lesan Playground" /></p>
<h2 id="all-relationship-sweets-in-lesan"><a class="header" href="#all-relationship-sweets-in-lesan">All relationship sweets in Lesan</a></h2>
<h4 id="fakertest-e2e-file"><a class="header" href="#fakertest-e2e-file">fakerTest E2E file</a></h4>
<p>This file is not very important in this section, it is only used to test <code>faker</code> functions in <code>E2E</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/aa5108db-3d9c-45ca-8f5c-dc5b2e747cfb" alt="Screenshot 2024-01-06 at 16-47-45 Lesan Playground" /></p>
<h4 id="stress-e2e-file"><a class="header" href="#stress-e2e-file">stress E2E file</a></h4>
<p>This file is used to test the <code>insertMany</code> that has a relation with it. Note that a very large number of server-side requests are sent, resulting in the creation of a country with <code>50,000</code> cities for that country and <code>50,000</code> users for that country.</p>
<ol>
<li>
<p>create a country with <code>main</code> β†’ <code>country</code> β†’ <code>addCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/5ec1fc1f-88b0-4ca3-b89c-f268198c47e6" alt="Screenshot 2024-01-06 at 17-33-04 Lesan Playground" /></p>
</li>
<li>
<p>create <code>50,000</code> cities with <code>main</code> β†’ <code>city</code> β†’ <code>addCities</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1a82400a-1ed5-4f52-a810-7345bb536e93" alt="Screenshot 2024-01-06 at 17-35-45 Lesan Playground" /></p>
</li>
<li>
<p>create <code>50,000</code> users with <code>main</code> β†’ <code>user</code> β†’ <code>addUsers</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1e6e9aa5-09f3-4777-8743-8cb129c60362" alt="Screenshot 2024-01-06 at 17-39-02 Lesan Playground" /></p>
</li>
</ol>
<p>After clicking the <code>run E2E test</code> button, <code>10001</code> requests should be sent to the server, and as a result, a country, <code>50,000</code> cities, and <code>50,000</code> users should be created.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/f43e5a5c-e620-48a9-bbf4-399b4ef31a55" alt="Screenshot 2024-01-06 at 19-21-48 Lesan Playground" /></p>
<p>Pay attention to the entered data, although we have used <code>insertMany</code>, all relationships are embedded.<br />
In the <code>country</code>, we have embedded the <code>cities</code> in 4 fields separately and with different conditions. And we have embedded <code>users</code> in two fields with different conditions.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4162bcea-16f3-48a6-b927-bb083cc57fef" alt="Screenshot from 2024-01-06 19-07-59" /></p>
<p>In the <code>cities</code>, we have embedded the respective <code>country</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4ec9a53d-5170-4f24-83d4-cb667b923546" alt="Screenshot from 2024-01-06 19-14-11" /></p>
<p>In the <code>user</code> schema, for each user, we have embedded the <code>cities</code> he has lived in as a <code>list</code>, the <code>city</code> he is most interested in as an <code>object</code>, and the <code>country</code> of each user as an <code>object</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/3c5a621b-769e-4c09-8339-e24a59af0f8a" alt="Screenshot from 2024-01-06 19-16-33" /></p>
<p>The interesting thing about this E2E test is that after the database is filled, you can test a big update in Playground. If you update the <code>country</code> in Playground, <code>100,000</code> other documents must be updated along with the country record itself.</p>
<p>before execute <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/a36b7b04-eb8b-4833-9ba2-88bbf2291d54" alt="Screenshot from 2024-01-06 19-40-02" />
executin <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/3e2dc448-2ff2-4c3c-ab21-e978d897c0e1" alt="Screenshot 2024-01-06 at 19-41-30 Lesan Playground" />
after execute <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1bd0ba8e-a031-4787-be48-cf873e6fead2" alt="Screenshot from 2024-01-06 19-41-56" /></p>
<h2 id="relationship-sweets-in-lesan"><a class="header" href="#relationship-sweets-in-lesan">relationship sweets in Lesan</a></h2>
<p>shoma tanha ba fieldhaye pure yek schema sar o kar darid va modiriat rabeteha tamaman be sorat khodkar tavasot lesan anjam mishavad.
shoma mitavanid bar asas rabeteye yek schema an ra sort ya filter konid
shoma baraye daryaft dadaha ba queryhaye pichide asnad besiyar kamtari ra az database jamavari mikonid. (link bedam be tozihat kamel)</p>
<h2 id="all-relationship-bitterness-in-lesan"><a class="header" href="#all-relationship-bitterness-in-lesan">All relationship bitterness in Lesan</a></h2>
<h2 id="relationship-bitterness-in-lesan"><a class="header" href="#relationship-bitterness-in-lesan">relationship bitterness in Lesan</a></h2>
<p>barkhi az rabeteha baes eijad updatehaye besiyar bozorg mishavand. rah hal: 1-eijad rabeteye jadid 2-qq 3-in-memory db</p>
<p>Ψ§ΩˆΩ„ Ψ±Ψ§Ψ¬ΨΉ Ψ¨Ω‡ Ψ§ΫŒΩ…Ϊ©Ω‡ Ψ±Ψ§Ψ¨Ψ·Ω‡ Ϊ†ΫŒ Ω‡Ψ³Ψͺ حرف Ω…ΫŒβ€ŒΨ²Ω†Ω…ΨŒ Ψ¨ΨΉΨ― Ω…ΫŒβ€ŒΪ―Ω… Ψ§Ψ³β€ŒΪ©ΫŒΩˆΨ§Ω„ فقط Ϊ©Ψ§Ω†Ϊ©Ψ΄Ω† Ψ¨Ψ±Ω‚Ψ±Ψ§Ψ± Ω…ΫŒβ€ŒΪ©Ω†Ω‡ΨŒ Ψ¨ΨΉΨ― Ω…ΫŒβ€ŒΪ―Ω… Ω†ΩˆΨ§Ψ³β€ŒΪ©ΫŒΩˆΨ§Ω„ Ω‡Ω… فقط Ψ§Ω…Ψ¨Ψ― Ω…ΫŒβ€ŒΪ©Ω†Ω‡ و Ω…Ψ―ΫŒΨ±ΫŒΨͺ Ψ―Ψ±Ψ³Ψͺ Ω†Ψ―Ψ§Ψ±Ω‡.</p>
<p>Ψ¨ΨΉΨ― Ω…ΫŒΨ§Ω… Ψ±Ψ§Ψ¬ΨΉ Ψ¨Ω‡ Ψ§ΫŒΩ†Ϊ©Ω‡ Ω‡Ψ± ΩΫŒΩ„Ψ― ΩΎΨ± Ψͺغییری Ω…ΫŒβ€ŒΨͺΩˆΩ†Ω‡ Ψ¨Ω‡ Ψ±Ψ§Ψ¨Ψ·Ω‡ ΨͺΨ¨Ψ―ΫŒΩ„ Ψ¨Ψ΄Ω‡ حرف Ω…ΫŒβ€ŒΨ²Ω†Ω…ΨŒ Ω…Ψ«Ψ§Ω„ Ψ¨Ψ§Ω†Ϊ© و Ψ«Ψ¨Ψͺ Ψ§Ψ­ΩˆΨ§Ω„ Ϊ©Ψ΄ΩˆΨ±Ω‡Ψ§ رو Ω…ΫŒβ€ŒΪ―Ω….</p>
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/searchindex.json

Large diffs are not rendered by default.

39 changes: 37 additions & 2 deletions docs/what_is_the_relationship.html
Original file line number Diff line number Diff line change
@@ -703,11 +703,46 @@ <h4 id="configdata-e2e-file"><a class="header" href="#configdata-e2e-file">Confi
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/ca01c001-7dd9-4b99-a5d5-82ab39ee008d" alt="Screenshot from 2024-01-06 15-10-49" /></p>
<p>You can play with this data in <code>playground</code> and change everything you want.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4efa9e8a-ba9b-40f0-8ebe-6d5ed139fee3" alt="Screenshot 2024-01-06 at 15-08-36 Lesan Playground" /></p>
<h2 id="all-relationship-sweets-in-lesan"><a class="header" href="#all-relationship-sweets-in-lesan">All relationship sweets in Lesan</a></h2>
<h4 id="fakertest-e2e-file"><a class="header" href="#fakertest-e2e-file">fakerTest E2E file</a></h4>
<p>This file is not very important in this section, it is only used to test <code>faker</code> functions in <code>E2E</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/aa5108db-3d9c-45ca-8f5c-dc5b2e747cfb" alt="Screenshot 2024-01-06 at 16-47-45 Lesan Playground" /></p>
<h4 id="stress-e2e-file"><a class="header" href="#stress-e2e-file">stress E2E file</a></h4>
<p>This file is used to test the <code>insertMany</code> that has a relation with it. Note that a very large number of server-side requests are sent, resulting in the creation of a country with <code>50,000</code> cities for that country and <code>50,000</code> users for that country.</p>
<ol>
<li>
<p>create a country with <code>main</code> β†’ <code>country</code> β†’ <code>addCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/5ec1fc1f-88b0-4ca3-b89c-f268198c47e6" alt="Screenshot 2024-01-06 at 17-33-04 Lesan Playground" /></p>
</li>
<li>
<p>create <code>50,000</code> cities with <code>main</code> β†’ <code>city</code> β†’ <code>addCities</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1a82400a-1ed5-4f52-a810-7345bb536e93" alt="Screenshot 2024-01-06 at 17-35-45 Lesan Playground" /></p>
</li>
<li>
<p>create <code>50,000</code> users with <code>main</code> β†’ <code>user</code> β†’ <code>addUsers</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1e6e9aa5-09f3-4777-8743-8cb129c60362" alt="Screenshot 2024-01-06 at 17-39-02 Lesan Playground" /></p>
</li>
</ol>
<p>After clicking the <code>run E2E test</code> button, <code>10001</code> requests should be sent to the server, and as a result, a country, <code>50,000</code> cities, and <code>50,000</code> users should be created.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/f43e5a5c-e620-48a9-bbf4-399b4ef31a55" alt="Screenshot 2024-01-06 at 19-21-48 Lesan Playground" /></p>
<p>Pay attention to the entered data, although we have used <code>insertMany</code>, all relationships are embedded.<br />
In the <code>country</code>, we have embedded the <code>cities</code> in 4 fields separately and with different conditions. And we have embedded <code>users</code> in two fields with different conditions.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4162bcea-16f3-48a6-b927-bb083cc57fef" alt="Screenshot from 2024-01-06 19-07-59" /></p>
<p>In the <code>cities</code>, we have embedded the respective <code>country</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/4ec9a53d-5170-4f24-83d4-cb667b923546" alt="Screenshot from 2024-01-06 19-14-11" /></p>
<p>In the <code>user</code> schema, for each user, we have embedded the <code>cities</code> he has lived in as a <code>list</code>, the <code>city</code> he is most interested in as an <code>object</code>, and the <code>country</code> of each user as an <code>object</code>.
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/3c5a621b-769e-4c09-8339-e24a59af0f8a" alt="Screenshot from 2024-01-06 19-16-33" /></p>
<p>The interesting thing about this E2E test is that after the database is filled, you can test a big update in Playground. If you update the <code>country</code> in Playground, <code>100,000</code> other documents must be updated along with the country record itself.</p>
<p>before execute <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/a36b7b04-eb8b-4833-9ba2-88bbf2291d54" alt="Screenshot from 2024-01-06 19-40-02" />
executin <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/3e2dc448-2ff2-4c3c-ab21-e978d897c0e1" alt="Screenshot 2024-01-06 at 19-41-30 Lesan Playground" />
after execute <code>main</code> β†’ <code>country</code> β†’ <code>updateCountry</code>:
<img src="https://github.com/MiaadTeam/lesan/assets/6236123/1bd0ba8e-a031-4787-be48-cf873e6fead2" alt="Screenshot from 2024-01-06 19-41-56" /></p>
<h2 id="relationship-sweets-in-lesan"><a class="header" href="#relationship-sweets-in-lesan">relationship sweets in Lesan</a></h2>
<p>shoma tanha ba fieldhaye pure yek schema sar o kar darid va modiriat rabeteha tamaman be sorat khodkar tavasot lesan anjam mishavad.
shoma mitavanid bar asas rabeteye yek schema an ra sort ya filter konid
shoma baraye daryaft dadaha ba queryhaye pichide asnad besiyar kamtari ra az database jamavari mikonid. (link bedam be tozihat kamel)</p>
<h2 id="all-relationship-bitterness-in-lesan"><a class="header" href="#all-relationship-bitterness-in-lesan">All relationship bitterness in Lesan</a></h2>
<h2 id="relationship-bitterness-in-lesan"><a class="header" href="#relationship-bitterness-in-lesan">relationship bitterness in Lesan</a></h2>
<p>barkhi az rabeteha baes eijad updatehaye besiyar bozorg mishavand. rah hal: 1-eijad rabeteye jadid 2-qq 3-in-memory db</p>
<p>Ψ§ΩˆΩ„ Ψ±Ψ§Ψ¬ΨΉ Ψ¨Ω‡ Ψ§ΫŒΩ…Ϊ©Ω‡ Ψ±Ψ§Ψ¨Ψ·Ω‡ Ϊ†ΫŒ Ω‡Ψ³Ψͺ حرف Ω…ΫŒβ€ŒΨ²Ω†Ω…ΨŒ Ψ¨ΨΉΨ― Ω…ΫŒβ€ŒΪ―Ω… Ψ§Ψ³β€ŒΪ©ΫŒΩˆΨ§Ω„ فقط Ϊ©Ψ§Ω†Ϊ©Ψ΄Ω† Ψ¨Ψ±Ω‚Ψ±Ψ§Ψ± Ω…ΫŒβ€ŒΪ©Ω†Ω‡ΨŒ Ψ¨ΨΉΨ― Ω…ΫŒβ€ŒΪ―Ω… Ω†ΩˆΨ§Ψ³β€ŒΪ©ΫŒΩˆΨ§Ω„ Ω‡Ω… فقط Ψ§Ω…Ψ¨Ψ― Ω…ΫŒβ€ŒΪ©Ω†Ω‡ و Ω…Ψ―ΫŒΨ±ΫŒΨͺ Ψ―Ψ±Ψ³Ψͺ Ω†Ψ―Ψ§Ψ±Ω‡.</p>
<p>Ψ¨ΨΉΨ― Ω…ΫŒΨ§Ω… Ψ±Ψ§Ψ¬ΨΉ Ψ¨Ω‡ Ψ§ΫŒΩ†Ϊ©Ω‡ Ω‡Ψ± ΩΫŒΩ„Ψ― ΩΎΨ± Ψͺغییری Ω…ΫŒβ€ŒΨͺΩˆΩ†Ω‡ Ψ¨Ω‡ Ψ±Ψ§Ψ¨Ψ·Ω‡ ΨͺΨ¨Ψ―ΫŒΩ„ Ψ¨Ψ΄Ω‡ حرف Ω…ΫŒβ€ŒΨ²Ω†Ω…ΨŒ Ω…Ψ«Ψ§Ω„ Ψ¨Ψ§Ω†Ϊ© و Ψ«Ψ¨Ψͺ Ψ§Ψ­ΩˆΨ§Ω„ Ϊ©Ψ΄ΩˆΨ±Ω‡Ψ§ رو Ω…ΫŒβ€ŒΪ―Ω….</p>
42 changes: 40 additions & 2 deletions pages/src/what_is_the_relationship.md
Original file line number Diff line number Diff line change
@@ -478,13 +478,51 @@ After finished executing all test in `configdata.json` you have a nice data inse
You can play with this data in `playground` and change everything you want.
![Screenshot 2024-01-06 at 15-08-36 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/4efa9e8a-ba9b-40f0-8ebe-6d5ed139fee3)

#### fakerTest E2E file
This file is not very important in this section, it is only used to test `faker` functions in `E2E`.
![Screenshot 2024-01-06 at 16-47-45 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/aa5108db-3d9c-45ca-8f5c-dc5b2e747cfb)

## All relationship sweets in Lesan
#### stress E2E file
This file is used to test the `insertMany` that has a relation with it. Note that a very large number of server-side requests are sent, resulting in the creation of a country with `50,000` cities for that country and `50,000` users for that country.

1. create a country with `main` β†’ `country` β†’ `addCountry`:
![Screenshot 2024-01-06 at 17-33-04 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/5ec1fc1f-88b0-4ca3-b89c-f268198c47e6)

2. create `50,000` cities with `main` β†’ `city` β†’ `addCities`:
![Screenshot 2024-01-06 at 17-35-45 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/1a82400a-1ed5-4f52-a810-7345bb536e93)

3. create `50,000` users with `main` β†’ `user` β†’ `addUsers`:
![Screenshot 2024-01-06 at 17-39-02 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/1e6e9aa5-09f3-4777-8743-8cb129c60362)

After clicking the `run E2E test` button, `10001` requests should be sent to the server, and as a result, a country, `50,000` cities, and `50,000` users should be created.
![Screenshot 2024-01-06 at 19-21-48 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/f43e5a5c-e620-48a9-bbf4-399b4ef31a55)

Pay attention to the entered data, although we have used `insertMany`, all relationships are embedded.
In the `country`, we have embedded the `cities` in 4 fields separately and with different conditions. And we have embedded `users` in two fields with different conditions.
![Screenshot from 2024-01-06 19-07-59](https://github.com/MiaadTeam/lesan/assets/6236123/4162bcea-16f3-48a6-b927-bb083cc57fef)

In the `cities`, we have embedded the respective `country`.
![Screenshot from 2024-01-06 19-14-11](https://github.com/MiaadTeam/lesan/assets/6236123/4ec9a53d-5170-4f24-83d4-cb667b923546)

In the `user` schema, for each user, we have embedded the `cities` he has lived in as a `list`, the `city` he is most interested in as an `object`, and the `country` of each user as an `object`.
![Screenshot from 2024-01-06 19-16-33](https://github.com/MiaadTeam/lesan/assets/6236123/3c5a621b-769e-4c09-8339-e24a59af0f8a)

The interesting thing about this E2E test is that after the database is filled, you can test a big update in Playground. If you update the `country` in Playground, `100,000` other documents must be updated along with the country record itself.

before execute `main` β†’ `country` β†’ `updateCountry`:
![Screenshot from 2024-01-06 19-40-02](https://github.com/MiaadTeam/lesan/assets/6236123/a36b7b04-eb8b-4833-9ba2-88bbf2291d54)
executin `main` β†’ `country` β†’ `updateCountry`:
![Screenshot 2024-01-06 at 19-41-30 Lesan Playground](https://github.com/MiaadTeam/lesan/assets/6236123/3e2dc448-2ff2-4c3c-ab21-e978d897c0e1)
after execute `main` β†’ `country` β†’ `updateCountry`:
![Screenshot from 2024-01-06 19-41-56](https://github.com/MiaadTeam/lesan/assets/6236123/1bd0ba8e-a031-4787-be48-cf873e6fead2)


## relationship sweets in Lesan
shoma tanha ba fieldhaye pure yek schema sar o kar darid va modiriat rabeteha tamaman be sorat khodkar tavasot lesan anjam mishavad.
shoma mitavanid bar asas rabeteye yek schema an ra sort ya filter konid
shoma baraye daryaft dadaha ba queryhaye pichide asnad besiyar kamtari ra az database jamavari mikonid. (link bedam be tozihat kamel)

## All relationship bitterness in Lesan
## relationship bitterness in Lesan
barkhi az rabeteha baes eijad updatehaye besiyar bozorg mishavand. rah hal: 1-eijad rabeteye jadid 2-qq 3-in-memory db


29 changes: 0 additions & 29 deletions tests/playground/e2e.ts
Original file line number Diff line number Diff line change
@@ -152,35 +152,6 @@ const users = coreApp.odm.newModel("user", userPure, {
},
});

const getUserSchema = coreApp.schemas.getSchema("user");
const getCitySchema = coreApp.schemas.getSchema("city");
const getCountrySchema = coreApp.schemas.getSchema("country");

const getUserSchemaText = new TextEncoder().encode(
JSON.stringify(getUserSchema, null, 2),
);
const getCitySchemaText = new TextEncoder().encode(
JSON.stringify(getCitySchema, null, 2),
);
const getCountrySchemaText = new TextEncoder().encode(
JSON.stringify(getCountrySchema, null, 2),
);

// asynchronously
console.log(" ============== getUserSchemaText ");
await Deno.writeAll(Deno.stdout, getUserSchemaText);
console.log(" ------------ end of getUserSchemaText ");
console.log(" ");

console.log(" ============== getCitySchemaText ");
await Deno.writeAll(Deno.stdout, getCitySchemaText);
console.log(" ------------ end of getCitySchemaText ");
console.log(" ");

console.log(" ============== getCountrySchemaText ");
await Deno.writeAll(Deno.stdout, getCountrySchemaText);
console.log(" ------------ end of getCountrySchemaText ");
console.log(" ");
// ================== FUNCTIONS SECTION ==================
// ------------------ Country Founctions ------------------
// ------------------ Add Country ------------------

0 comments on commit 4a3f7bc

Please sign in to comment.