holy-ui's Issues
Tenants
GET : /api/protected/tenants
[
{
"id": 1,
"tenant_id": 0,
"tenant_name": "Test",
"updated_at": "2024-05-14T20:19:03.000000Z",
"updated_by": "Tesfu"
},
{
"id": 2,
"tenant_id": 0,
"tenant_name": "Test2",
"updated_at": "2024-05-14T20:19:03.000000Z",
"updated_by": "Belay"
}
]
POST : /api/protected/tenants
{
"tenant_name": "Test2"
}
PUT : /api/protected/tenants
{
"tenant_name": "Fetene",
"id":4
}
![Screenshot 2024-05-14 at 3 32 43 PM](https://private-user-images.githubusercontent.com/17053397/330584443-536e9a46-5315-44d1-85af-8d78f5d4035e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDYsIm5iZiI6MTcyNDIzNjMwNiwicGF0aCI6Ii8xNzA1MzM5Ny8zMzA1ODQ0NDMtNTM2ZTlhNDYtNTMxNS00NGQxLTg1YWYtOGQ3OGY1ZDQwMzVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY5NzI5NDQ2ZmY2YTQ2ZjcwY2I0NjcxZmNiYjE5ZWEyN2I1MjA4MDk0ZTAyNjQzMTE1MjU2OTUzMzg1ODA0NjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.SZbwEs5xvY60Di5VgkNFDclQBMEYCjjtpWsqcidTX_M)
Languages UI
Add content viewer/Editor for Tenants page
here is a test API
GET : /api/protected/languages
[
{
"id": 1,
"lang_id": "english",
"lang_name": "English",
"tenant_id": 0,
"updated_at": null
},
{
"id": 2,
"lang_id": "tigrigna",
"lang_name": "ትግርኛ",
"tenant_id": 0,
"updated_at": null
},
{
"id": 3,
"lang_id": "spanish",
"lang_name": "Spanila",
"tenant_id": 0,
"updated_at": "2024-05-11T17:13:33.000000Z"
}
]
POST : http://localhost:8000/api/protected/languages
{
"lang_id": "spanish",
"lang_name": "Spanola"
}
PUT : /api/protected/languages
{
"id": 3,
"lang_id": "spanish",
"lang_name": "Spanila"
}
NO delete
![Screenshot 2024-05-11 at 12 47 41 PM](https://private-user-images.githubusercontent.com/17053397/329804421-251efa97-0848-4b66-a2a0-c96b26884161.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDYsIm5iZiI6MTcyNDIzNjMwNiwicGF0aCI6Ii8xNzA1MzM5Ny8zMjk4MDQ0MjEtMjUxZWZhOTctMDg0OC00YjY2LWEyYTAtYzk2YjI2ODg0MTYxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTExZGUyNGI1ZGE0MDNjNzEwY2Q3NTY4NDU4ODVjZjUzYWJkOTNkN2Q3YTQ2Yzc4ZDVlNDg3NWJlZWY5NDE2NDUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zVSQU8cOtGFunOGLr4uyyPpvxvW10MX41P0XrNXm6Xk)
User Profile
- add a new page under /secure/user_profile
- use the same template structure as /secure/content_manager
- have only two tabs - Access Config & Access Report
- this user story is focused on Access Config
- inside the Access Config tab, add one table and "add/edit" form
- plz use similar pattern of table and form like PR "page config table" for consistency
- see attached for layout and api details
![Screenshot 2024-04-27 at 4 33 38 PM](https://private-user-images.githubusercontent.com/17053397/326215576-c2fbd7f5-427d-4305-98e6-069ec15240ed.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDYsIm5iZiI6MTcyNDIzNjMwNiwicGF0aCI6Ii8xNzA1MzM5Ny8zMjYyMTU1NzYtYzJmYmQ3ZjUtNDI3ZC00MzA1LTk4ZTYtMDY5ZWMxNTI0MGVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1NDVhNTJkODE1MjkwYWE5NGMxZjJlNzYyYjc0Mzc0NDVjYjFkNzcwYzc3YzI3ZjUwMGQyMTRiZDRhN2Y5MGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.H_NeG_POLnVjEKkpB8JWYHz0o5lRC93FK0bfNsPJsB8)
Dictionary
dictionary List
GET : /api/protected/dictionaries
[
{
"id": 1,
"Key": "test",
"English": "Test",
"ትግርኛ": "Not Set",
"Spanila": "Not Set"
}
]
GET (for edit) : /api/protected/dictionary?key=test
{
"Key": "test",
"English": "Test",
"ትግርኛ": "Not Set",
"Spanila": "Not Set"
}
POST : /api/protected/dictionary
Req-Body : {
"Key": "sugar",
"English": "Sugar",
"ትግርኛ": "ሽኮ"
}
PUT : /api/protected/dictionary
Req-Body : {
"id": 1,
"Key": "test",
"English": "Test",
"ትግርኛ": "Not Set"
}
![Screenshot 2024-05-11 at 1 53 43 PM](https://private-user-images.githubusercontent.com/17053397/329807775-4c58e563-37e8-4add-8a9c-74a0715abeed.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDYsIm5iZiI6MTcyNDIzNjMwNiwicGF0aCI6Ii8xNzA1MzM5Ny8zMjk4MDc3NzUtNGM1OGU1NjMtMzdlOC00YWRkLThhOWMtNzRhMDcxNWFiZWVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMyMDdlNTM0MTE2NmNkMjUyNjJhM2JmYWY3ZGE3ODU5MjJhYWUxODU4NjBmZTM1OGI3NGMyODQ0ZTU0M2QzNjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RLin78gA-qJ6Psc_lYGYQdD1Tl5DNk53NIBvGuSodOY)
Adding a file mapper
** Create a file_mapper table with the following columns:
- id
- ref_id (No Foreign Key)
- file_id (Foreign Key to files table ‘id’)
* ref_type (to distinguish between ref type)
* updated_at- updated_by (Foreign Key to users table)
** Remove image_link and header_img columns from the page_config table.
** Update the PageConfig and FileMapper models to reflect these changes.
** Modify the PageConfigController to handle the new structure and return the appropriate JSON response.
sample json POST would then be
{
"page_type": "public",
"name": "Home2",
"description": "test3",
"parent": 0,
"header_img": [23,94],
"language": "english",
"header_text": "test3",
"page_url": "/home",
"seq_no":0
}
so you push to file mapper db as
you need to loop and push for each id in the array
id = gen id <22323>
ref_id =
ref_type=“page_config”
file_id = id from the array
Document Manager
GET : http://localhost:8000/api/protected/file_list?type=image&limit=100&start=0
[{
"id": 16,
"group_id": "fcd0bf12-abb2-4d01-b295-215e84c56478",
"file_id": "fcd0bf12-abb2-4d01-b295-215e84c56478_1.png",
"file_name": "Screenshot 2024-05-02 at 6.56.51 PM.png",
"file_type": "image",
"tenant_id": 1801,
"description" :"this and that"
"created_at": "2024-05-04 01:24:45",
"created_by": 1
}]
POST : http://localhost:8000/api/protected/file
![Screenshot 2024-06-15 at 9 03 03 PM](https://private-user-images.githubusercontent.com/17053397/340058689-0354a9b6-c33d-401f-b0c1-f1040ca93fe7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDcsIm5iZiI6MTcyNDIzNjMwNywicGF0aCI6Ii8xNzA1MzM5Ny8zNDAwNTg2ODktMDM1NGE5YjYtYzMzZC00MDFmLWIwYzEtZjEwNDBjYTkzZmU3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3MjhjOGU3Nzk1NDBlMTIzZDdjMGE3NDhhYWI3NmViMWJkZjgxYjI5MGQ3Mjg5ZWZkYzZmNDFmYThlM2U3YTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zVRMNpdD5QnG7N8DnV687LWGtCjs7rlQqpym0a-ut4Y)
![Screenshot 2024-06-15 at 8 59 42 PM](https://private-user-images.githubusercontent.com/17053397/340058596-0bb2f724-a0c5-474d-a71f-7b436c408820.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDcsIm5iZiI6MTcyNDIzNjMwNywicGF0aCI6Ii8xNzA1MzM5Ny8zNDAwNTg1OTYtMGJiMmY3MjQtYTBjNS00NzRkLWE3MWYtN2I0MzZjNDA4ODIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI4NWFhOTkyOTg3Y2U4MjA2YTJiNzFiM2JiYjhjYTQxYzA5ZGMyZDA2YjdmMDA5MDA5YzJjMjljM2JkYTc0MGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VUCrct65XvYMEd7YWot0OrZ1DxBqxfK3WT2U-RDWGr8)
Content Manager
GET : http://localhost:8000/api/contents?content_category=home&lang=english&start=0&limit=9
[ {
"id": 1,
"lang": "english",
"type": "image",
"title": "Pics Test",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"content_text": "test",
"background_image": "http://localhost:8000/storage/uploaded/6ca5790f-571f-4b90-b15a-f409f1332ab1_1.jpg",
"content_category": "Home",
"release_date_time": 1713252420000,
"m_link": "6ca5790f-571f-4b90-b15a-f409f1332ab1_3.jpg",
"file_type": "image",
"media_link": [
"http://localhost:8000/storage/uploaded/6ca5790f-571f-4b90-b15a-f409f1332ab1_2.jpg",
"http://localhost:8000/storage/uploaded/6ca5790f-571f-4b90-b15a-f409f1332ab1_3.jpg"
]
}
]
POST : http://localhost:8000/api/secured/contents
{
"id": 1,
"lang": "english",
"type": "image",
"title": "Pics Test",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"content_text": "test",
"background_image": 7
"content_category": "Home",
"file_type": "image",
"media_link": [
6,8
]
}
![Screenshot 2024-06-15 at 8 33 30 PM](https://private-user-images.githubusercontent.com/17053397/340057960-1773d946-fb8e-4353-8ad9-47bed6403cee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyMzY2MDcsIm5iZiI6MTcyNDIzNjMwNywicGF0aCI6Ii8xNzA1MzM5Ny8zNDAwNTc5NjAtMTc3M2Q5NDYtZmI4ZS00MzUzLThhZDktNDdiZWQ2NDAzY2VlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDEwMzE0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5ZjVlMzcyNGQzOWQ5N2E0ZTY4YjhhOGIxMTA5ZWQwOGU4ZTA0Mzk0MDI2NzRhYTFjYTFkZWQ5NTg4YmVlMGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.FMjPnWqUzgBSFSHI6s9H8MJp1LyK2N34ACujAodFHPY)
Adding Login button in main drawer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.