Initial Commit of Workspace ...
This commit is contained in:
@@ -0,0 +1,797 @@
|
||||
{
|
||||
"lists": [
|
||||
{
|
||||
"id": "a4b92307-0766-4e29-b373-4c62a5faafa7",
|
||||
"title": "ToDo",
|
||||
"cards": [
|
||||
{
|
||||
"id": "0354e9f3-940b-4780-a897-a1fa3fbabde9",
|
||||
"listId": "a4b92307-0766-4e29-b373-4c62a5faafa7",
|
||||
"title": "Add Push Support for XAiApi",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "38b5c752-09c6-4621-a134-3354bb95c30e",
|
||||
"listId": "a4b92307-0766-4e29-b373-4c62a5faafa7",
|
||||
"title": "Detect Code and Image Models",
|
||||
"description": "Detect and Find Code and Image Generation Models and Install them on Ollama.",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "8ee348a9-656a-4d08-9928-bbebf3c0d518",
|
||||
"comment": "Mark this for Do Later ..."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "2a3bbb08-2ee6-412c-8b9a-f2d11685ced8",
|
||||
"listId": "a4b92307-0766-4e29-b373-4c62a5faafa7",
|
||||
"title": "Add Support for Sentry, Serilog, RateLimit and etc in xCommon Module ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "c660c5d4-9d78-4c47-b170-edb52b122611",
|
||||
"title": "InProgress",
|
||||
"cards": [
|
||||
{
|
||||
"id": "d2ea3274-6fcf-4f11-a78c-8c910dfccab4",
|
||||
"listId": "c660c5d4-9d78-4c47-b170-edb52b122611",
|
||||
"title": "Try to Implement Memory",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "d1bdeaf8-1311-4ccc-9038-1bcd80279ec5",
|
||||
"title": "Desingn ChatMessage Model Entity/Dto etc ...",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "dccd925d-fc64-4158-ba8d-8a27298b57ce",
|
||||
"title": "Develop DataService Requirements for Message ...",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "d0340d12-e3f0-4cfe-be81-a2818286e973",
|
||||
"title": "Design Conversation Model Entity/Dto ...",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "868a1812-6bc4-4616-99c4-15de4fe1bcf4",
|
||||
"title": "Develop DataService Requirements for Conversation ...",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "a4ae5b83-f859-4ef3-a22f-f9afcadc85a2",
|
||||
"listId": "c660c5d4-9d78-4c47-b170-edb52b122611",
|
||||
"title": "Extends xAiProvider for Implementing Actions using xAiModels ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "7014e40a-a0ed-499b-af18-ca51297a2be3",
|
||||
"listId": "c660c5d4-9d78-4c47-b170-edb52b122611",
|
||||
"title": "xCategory / xSubCategory Provider ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "3e2bf822-729f-4344-971b-8f3f1831a098",
|
||||
"title": "add support for Base Providers.",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "a0fdfec2-e566-4ffb-85ff-a1c333102241",
|
||||
"title": "base Tagged",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "df5a175c-926a-4326-836d-eb64944a99e3",
|
||||
"title": "base Referenced",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "cf14cf24-3411-4535-aea5-23caf93404c1",
|
||||
"title": "base Item Resources",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "8203c80a-aa07-425c-b8d8-6a9e115a3adf",
|
||||
"title": "Add Support for XCategoryResourceDto / XSubCategoryResourceDto",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "5177a594-db0b-4d28-a9e0-7c785bcfc0bf",
|
||||
"listId": "c660c5d4-9d78-4c47-b170-edb52b122611",
|
||||
"title": "Add suppoort for Handling IsDelete on Navigation Filters ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "bdbc1cde-62c0-452b-8c4f-938297b00cd7",
|
||||
"title": "Test",
|
||||
"cards": []
|
||||
},
|
||||
{
|
||||
"id": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Done",
|
||||
"cards": [
|
||||
{
|
||||
"id": "307528c0-edc4-4680-bff4-4204a7d5c551",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add xFileService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "c97b8019-c9b1-4cdc-9cc1-118ad37e3605",
|
||||
"title": "Add soloution",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "ff5854cb-c726-4aef-ab85-89c7b08cdd7d",
|
||||
"title": "Add Git Module",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "d179cdcf-aef2-484e-87fd-086e34117852",
|
||||
"title": "Reafctor Entity ",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "f588c64c-2d87-41bc-8513-28018a85c4a9",
|
||||
"title": "Controllers",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "8471cb5d-b0aa-49e4-a8fc-d662d1dc029d",
|
||||
"title": "Tags",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "3945a3ea-065a-4ded-9d7a-9b4eed37a7fb",
|
||||
"title": "Document",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "f93b74fb-e09a-4891-9f43-f798e2144ab7",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Fully Document Entity Service and Controllers ,,,",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "3d795cd6-674b-458f-b590-7491baf7d8b2",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Support for Entity Service Controller ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "2893999c-3149-4944-aa6c-8b8b68e51cee",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Support for Entity Service ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "ab23915a-b44f-4733-bf3e-bcd846a8afa6",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Support for Entity Controller ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "57ec32a0-fa59-4c3a-9633-3718f5b29cce",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Implement xTest Repository and Service Controller's Actions using Hoppscotch ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "f4140b65-ad5b-4f79-8b9b-9883247af5c0",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Start Document xPushService ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "b02e58e5-4ae8-4708-8755-2013a26d82b7",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Implement XTest Repository / Service Provider Controller ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "11b90447-bca4-44fb-bd18-e377f34f67bb",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Try to add Support for Hubs calling inside RepositoryServices ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "70b43adb-071f-4f4a-b8da-fc18150bdd5a",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "remove xDataHelper and xPushHelper modules ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "707402d7-746b-4aec-8b3b-222a1e4798c9",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add support for Generic HubDescriptors and it's Registration like xDataService ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "20a4d442-e2b0-45c7-bf57-380468dc8294",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Refactor xApi for Using Hubs and also Repositories based Hubs for Entities ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "718a5df8-6198-4b28-8d2b-a54d367ccb6a",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add xTagService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "318ac6d8-c9fb-4ceb-b13c-102a915f4dd5",
|
||||
"title": "Attach to Soloution",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "1a05b653-b1b7-4ed7-b2df-feef5b8d08d3",
|
||||
"title": "Add Git Module",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "2d022cc6-0223-4a83-bb6c-e2146377c53c",
|
||||
"title": "Refactor Side affect Bugs",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "0bf92657-1830-4016-874e-034d520ca3a1",
|
||||
"title": "Services and Providers",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "1bd4ef2a-4fc0-4ade-bae0-0ae14a826ba2",
|
||||
"title": "Controllers",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "b6b674db-da47-4b03-a4ef-6097996578ff",
|
||||
"title": "Documentation",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "c70e11b0-6c9b-4646-8779-00f0dc20fe01",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add XTerms Service ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "7d057fed-cd5e-467b-a252-70994c1aa8f6",
|
||||
"title": "DBSeeder",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "0ca3fc3c-e644-4db9-8e12-be6880463b63",
|
||||
"title": "Service Implementation ",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "7886f151-3e5c-4738-ade6-57b64b3297df",
|
||||
"title": "Controller",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "3a87fff9-404a-45c8-9075-4f9e09b8dd59",
|
||||
"title": "Documentation",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "09de8ce8-5302-429d-9826-e719ad208816",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Complete XStringService ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "b1c5db73-a27f-47f5-a768-1bdce8c23d67",
|
||||
"title": "Entities",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "24ce29d1-c8fc-413a-afb8-53d25f7ab73a",
|
||||
"title": "Dtos",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "ab74166f-c213-4bb4-ae4d-4779b0fc73dc",
|
||||
"title": "Add Descriptors",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "b2ece468-9b18-48ee-a47f-96d8e78ff464",
|
||||
"title": "DI Extensions ",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "67b86caf-067d-4b43-984b-457f448bdd0d",
|
||||
"title": "Controllers",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "f8f53647-e960-4830-ad4f-dd614d60814a",
|
||||
"title": "Add Support for Dynamic Entity Registration in DBContext",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "8d5194c4-3961-417d-973f-9fcf9eaac0b3",
|
||||
"title": "Documentation",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "d82c7ea6-504e-425a-bf80-4036a96c212a",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add a Resource Provider in XString Service ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "066d00dd-3598-4446-b347-84ce9b575ca3",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "refactor Terms and Conditions Service for using XBaseStringResource ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "75b54b10-3008-41ae-b9fe-e4adcc136fa6",
|
||||
"comment": "since xTerms and Conditions uses only one Resource Title, not Many and XBaseStringResourceProvider for Many Structures, it's Impossigble ..."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6eedf5fe-d325-43db-b2ca-511c53c730f2",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add SemanticKernel Resource",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "509b35f6-118c-4cb2-baf9-b986b9c77580",
|
||||
"comment": "dotnet add package Microsoft.SemanticKernel --version 1.65.0 --source https://hub.megan.ir/nuget/index.json"
|
||||
},
|
||||
{
|
||||
"id": "fc6c463d-3a86-4f7a-819c-b2893b9cba33",
|
||||
"comment": "Upgrade app to net8.0 for Supporting Semantic Kernel ..."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "327eb01a-2376-491e-9b3b-3bb9d8aeb16c",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Data Support to XAiApi",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "1da2910a-40ee-4ca1-8ec5-7afbe1eb8512",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Implement Ollama AI API",
|
||||
"description": "Create an Api Project for accessing Ollama Running on a Machine.",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "3e598321-3722-415a-aa9a-c539c2da86c1",
|
||||
"title": "Create a web api project",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "ec72fb9f-b289-4677-953d-f6df99983473",
|
||||
"title": "add Identity Service Support to it",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "863a15c4-20b5-4a6d-971f-716d36aef98f",
|
||||
"title": "add Specified Controller for Ollama",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "faec67f7-205b-42b2-87b6-4887136e6b26",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Implement AiController in xApi ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "57622ae5-7f13-408a-be41-0ac3f8216635",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Adding AI Services and Controller in XAiService ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "ac0fc0a1-9992-4c68-a24c-51807c8eff33",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Adding SaherElm API SDK Module ...",
|
||||
"description": "we also must have and api sdk for saherelm api ...",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "9ca11e9b-0a65-4141-9fb9-df37d464b23a",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Adding Client Application ...",
|
||||
"description": "adding angular client application ...",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "8ce19796-610e-4d52-a98d-fef37d74a74a",
|
||||
"title": "Implement Client App ",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "6ce56cba-de89-49f3-bf1b-d52c6a55f214",
|
||||
"title": "Configure it ",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "1ded11d0-fe37-4797-8e0e-35840d875b72",
|
||||
"title": "Add Scripts Commands",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "726b6a31-fb4d-42ce-a873-da9258808b99",
|
||||
"title": "Extends AI Service Component",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "b30092c3-a550-48cc-8113-6af2ec3839a3",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Data Models ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "d462cd3a-ed60-4c6d-8397-e2fb77e326d6",
|
||||
"title": "XAiMessage",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "0d99831d-a429-4e54-b16a-1e4e3d8744bf",
|
||||
"title": "XAiProject",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "e80971df-30cd-4c17-b003-a263ae05ac7d",
|
||||
"title": "XAiConversation",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "d2144c05-ab45-4259-afcf-d288337a3306",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Function Calling ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "a3bf2872-d8ad-470b-82d4-dea936cfdd0f",
|
||||
"comment": "Since Function Calling Doesn't Support by Default in Ollama Model ...\nwe Ignore this for working later ..."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "1f685dea-efc5-435b-ac19-6dd049993207",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Support for Data Models in xAi Service ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "3ad3d125-1e0f-4966-86f6-d0a7be38d5cb",
|
||||
"title": "xAiMessage",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "2f77ff14-e90b-4f79-9482-5de519625b24",
|
||||
"title": "xAiConversation",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "b85d02ab-6e6d-4c70-9cd4-87c955d623bb",
|
||||
"title": "xAiProject",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "b97b377a-9810-4b81-b1a3-c718c17cc006",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Refactor Data Repository ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "11a2ad40-09f5-400b-9a04-557748eae0d7",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add all xDashboard .net Modules as Dependencies here ...",
|
||||
"description": "since we have do many refactoring here on Modules, we required to attach all Modules as submodules here ...",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "99ad951b-e512-4fa1-b15f-934d07ce2d61",
|
||||
"title": "xCommons",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "9c79c712-c27e-4ab8-8420-a0753c82d841",
|
||||
"title": "xDataService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "6c17f517-a0ce-43e5-b70a-c0b956306aa3",
|
||||
"title": "xEventService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "3a9bfd7c-5d20-4c4f-87e4-c209cc696f3e",
|
||||
"title": "xFileService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "69971d7a-4f9a-4222-9050-d557c5fdb786",
|
||||
"title": "xHttpService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "6b3522ee-cbfb-4591-b93f-c5928fd5a1fb",
|
||||
"title": "xIdentityModels",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "bae5ff3c-5802-4d5f-8c53-81c7beb09897",
|
||||
"title": "xIdentityService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "24c9cbca-2d84-4d1f-bf68-1dab41a282d3",
|
||||
"title": "xMessageService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "f0ce1927-15d6-4082-afa5-a34023d54ba5",
|
||||
"title": "xModels",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "44c4fb2d-8ab2-4362-925b-6d494bdd577f",
|
||||
"title": "xPushService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "a6296090-4d88-478c-8d92-590132c67ed6",
|
||||
"title": "xStorageService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "ad0a3daf-101b-425a-abca-950e3a6a116f",
|
||||
"title": "xStringService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "c3c36de4-8791-4094-b088-c2474b6a3329",
|
||||
"title": "xTagService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "2ffea0c7-4037-4391-a7b2-15198525bd7a",
|
||||
"title": "xWebinarService",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"id": "b1005e4d-7470-4a97-a4a5-c28e14c758fb",
|
||||
"title": "xExceptions",
|
||||
"checked": true
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "cbd7e845-c4ef-422f-8f00-9f218637ed89",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Refactor Entity Controller ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "08e97e31-10d7-46f8-8bed-23b8422646bc",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Refactor GraphQL ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "09e702fb-1122-46df-9929-5e9d77556aad",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Base Repository Services for Handle Dto Mappings ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "609a6027-be68-420a-98f8-2af0086555ac",
|
||||
"comment": "since this must be handled in Business Logics of Applications ...\nwe Ignore this ..."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fef18c42-9c37-4bcb-ae30-6b989cb0919b",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "add Repository Service Controller ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "8d8af27d-ebbc-4d5f-884a-09c965493f24",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Apply Fix on DataService Registrations for Support multiple Contexts ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "75b0da5d-8234-4c93-b7db-2a14d775276e",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Attach SaherElm IT Center logo to all nuget modules",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "cb472eac-efba-4731-8a6c-0f992a9e7ade",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Add Support for Tags and Files",
|
||||
"description": "Add Files and Tags and Storage Service",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "5ab5f0d4-0f16-4589-bbdc-63f5e0bbf26a",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Appli Fix on xSaherElmAI to xSaherElm in Readme and csproj files ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "a3acd47d-089c-4187-a7a1-a533f5bcb729",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Prepare Workspace Git Modules",
|
||||
"description": "Prepare All Required Modules for Workspace on git and make workspace git based ...\n",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "813f0f36-c89a-470a-b837-50ecfe1145de",
|
||||
"listId": "0d488dcb-6454-4a65-a8fb-ec522af20353",
|
||||
"title": "Prepare Postman Collections",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": [
|
||||
{
|
||||
"id": "27af6cc6-85f2-4180-803c-9e68d5bf7b3b",
|
||||
"comment": "since we have internet connection issues and postman doesnt works at the moment. this task is back to ToDo."
|
||||
},
|
||||
{
|
||||
"id": "33541518-cb8a-4d07-9be7-ec4754328ea8",
|
||||
"comment": "Implemented PostMan Collection by using HoopScoth app.\n "
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"archive": {
|
||||
"lists": [],
|
||||
"cards": []
|
||||
},
|
||||
"settings": {
|
||||
"labels": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,535 @@
|
||||
{
|
||||
"lists": [
|
||||
{
|
||||
"id": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "Backlogs",
|
||||
"cards": [
|
||||
{
|
||||
"id": "46e24626-5e56-487d-8d44-209c06ed7b4d",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XException",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "a14fbf01-3a78-49ee-a0ed-e8882bdaab08",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "86278693-a80e-49e7-812c-c087bbafbc26",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XCommons",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "f6e04d4c-f51c-44b1-a86c-28cb9c4297e4",
|
||||
"title": "Add Support for Open Telemetry",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "c2eb2a92-5100-42da-8fd1-fc606650dba5",
|
||||
"title": "Add Support for Redis",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "88218ff6-370e-4088-bd7a-d404ffc6c181",
|
||||
"title": "Add Support for Sentry",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "f72faf31-1e14-43e6-9aa2-4817523ed382",
|
||||
"title": "Add Support for Rate Limit",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "c463e491-b610-4d0e-9392-14184425689a",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "4e89645e-eec5-4f11-9af5-bb3e9eb1e915",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XModels",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "3989ff3b-ebed-4667-9f79-ac73606f3333",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "2abeea73-53cd-4914-8027-c658ee47022b",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XMessageService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "f1a0c67b-507c-429d-a425-b603568387ab",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "e9a76f62-cd6e-4746-a1e5-77043fcbcc5c",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XStorageService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "fd0f3e60-d3d0-4899-ae2d-94398fd851ea",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "697c15af-5ef2-4ffb-8a2a-2d4ce52f2675",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XDataService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "db8da639-9431-4b0e-a3b0-1af18ad87fee",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "47f3394c-ea24-460e-8dcb-9992f8b2834c",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XIdentityModels",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "50c34334-5938-4cb9-a9bc-d1ea089cd3ec",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "ed9c92a2-80e2-4277-9418-7d814962938a",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XHttpService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "7d5d6fa1-3c62-4016-a36b-9a5a8dc7c378",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "32aa436f-dc65-46c6-b09a-5f395234cc74",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XIdentityService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "bdc4fd7f-9def-41fd-a7ce-5343997457a3",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "2de05f34-6b75-4a76-9bcf-a9d60044958b",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XPushService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "dc5ba85a-269c-45c7-9c80-bc0976f97562",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "b26d537b-5733-4f88-a94c-8199432e19a2",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XEventService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "9a14ef6e-94c1-4d5b-be41-02a1ad6209dd",
|
||||
"title": "Add Support For Kafka",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "ff2cce37-0e51-46ae-a50a-6c4c4a558ca0",
|
||||
"title": "Refactor Rabit MQ Supports",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "4fb00690-e9b9-4c7a-b78d-d791193193da",
|
||||
"title": "Retest All Functionalitis",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "2877bd82-8a2f-4003-ab36-31bbf71e4124",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "be3b80e2-40b1-483b-aadf-30791e9b79a3",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XStringService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "e2a84f23-9ad3-437c-a81c-db96b46184dd",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "cb8b737c-f4fc-4126-b74a-9e7578601bbe",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XTermsAndConditionsService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "cad6053e-7e72-4a8f-8e8a-7500dea65d80",
|
||||
"title": "Add Support for Terms And Conditions Seeding",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "385d6199-b43d-40ba-9b64-b2176dd7d00b",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "369f825e-311a-4a01-b72f-c2f6ed30ae49",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XCategoryService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "ff9aae44-15d2-4c0c-bf58-69537d06edab",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "19c4e26c-5a25-4972-ae5e-15c4cb619fb3",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XTagService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "3c40afc2-528a-451c-847e-aa8c03621d40",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "08296700-b2cc-4bcd-82a4-8a8c707f3c67",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XFileService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "436ee260-569c-4843-b8d9-167c85967670",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "ea09a9d3-0f5c-4caf-90d7-768b6eb34427",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XWebinarService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "9fc6ca0f-ea14-4a40-a5ef-f07984c2c727",
|
||||
"title": "Complete Webinar Mechanism",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "fd6f60be-ff72-4ac7-9185-d81cbcf5aae3",
|
||||
"title": "Add Resource Providers",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "3efaf3f9-bf14-4b76-a652-40488f705041",
|
||||
"title": "Add Support for Webinar Seeding",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "6559f30f-1c3a-4911-9041-6c393fddf0a8",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "bfd3c8a7-7d94-4809-b258-9f8fd21c28f8",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XAiModels",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "d32abddd-aa91-4c76-b4c5-f3153ec879e4",
|
||||
"title": "Implement IXAiDataProvider",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "5e6b5546-c6f8-4499-8d45-3b27225bf201",
|
||||
"title": "Implement Vectore Data Store ",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "2a7aa1a6-862a-42da-9281-8da9fdb5c684",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "7b4c74fe-6b9e-46e6-9dab-dc6c056cbbea",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XAiService",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "37cfa4d5-225d-4776-85c7-ad30657601e8",
|
||||
"title": "Implement XAiApi Exposed Endpoints",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "125c6cd2-97ed-4d47-861a-cab274cc9ef9",
|
||||
"title": "Complete Providing Mechanism",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "f71596db-8795-48d5-a6dc-efb8529b009a",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "3baafae2-a1a8-4d23-96f7-058c60980f2b",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XApi",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "ec555cd3-89aa-41c2-a0b6-7e52e8d8a1c5",
|
||||
"title": "Implement XAiService",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "0532ff9b-b8ad-4fe6-bda2-424919d50c1f",
|
||||
"title": "Implement Kafka and RabitMQ Service",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "3dfc5d4b-31ae-46c6-9b29-b0cccd350740",
|
||||
"title": "Implement CategoryService",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "508dccfc-47ac-46d5-8958-b9ae63e84bff",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "e552dab0-fcee-454c-915d-638a7be65958",
|
||||
"title": "...",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "9dbcc2d6-50e5-473a-9de7-ae0df8318169",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XIds",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "12f4956c-054b-4d23-893d-3a0f09dc6e0b",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "29445c9d-4b18-4c7c-96be-f4658051ec52",
|
||||
"listId": "c4f8483a-ebd1-4af6-888d-f285bd159ec8",
|
||||
"title": "XAiApi",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "5ebfa2d8-624c-4561-875c-6e26a6593129",
|
||||
"title": "Add Ai Server Mechanism",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "64c51ee7-4e69-487f-9e7b-f3494a2fcbfd",
|
||||
"title": "Expose Endpoints",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "7e853e6f-7a6f-4976-a64f-59c66a6fa1dd",
|
||||
"title": "Documentation",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "ToDo",
|
||||
"cards": [
|
||||
{
|
||||
"id": "e9c82fbd-74d0-433a-8119-c5b21aea728a",
|
||||
"listId": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "Add Support for Terms and Conditions Seeding ...",
|
||||
"description": "terms and Conditions Seeding ...",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "1c3b121a-08d5-44b1-a991-4fc95f7ebe15",
|
||||
"listId": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "Add AiService Mechanism ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "c6674a4a-2487-4ec1-b674-d5fba8fedbee",
|
||||
"title": "Create Base AI Service Material",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "7af4f8b4-5a5a-43d2-b154-026e13da1d92",
|
||||
"listId": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "Add Support for IXAiDataProvider",
|
||||
"description": "Data Provider needs to Provides all requirements of Data Manipulation of AI Models and also provides Default Project and Default Conversation for Data Handling ...",
|
||||
"labels": [],
|
||||
"checkboxes": [
|
||||
{
|
||||
"id": "e2abaca1-99cf-424a-870f-21f330445bbe",
|
||||
"title": "Integrate all requirement actions",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": "f496ccaf-6d9e-43df-ab9e-2e2192bc7ef1",
|
||||
"title": "Prepare Seeding Default Project and Default Conversation ",
|
||||
"checked": false
|
||||
}
|
||||
],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "c072d0a6-f2be-419b-8fb2-d127d73dd709",
|
||||
"listId": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "Prepare Vector Data Store in XAiModels ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
},
|
||||
{
|
||||
"id": "d8a9ddfc-0b53-4313-aac1-4afdf5261691",
|
||||
"listId": "1706107f-ace2-4240-aa32-3d2031264a41",
|
||||
"title": "Add Mapper Configs for AI Models ...",
|
||||
"description": "",
|
||||
"labels": [],
|
||||
"checkboxes": [],
|
||||
"comments": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "171f43f3-ae73-49b7-9239-9f3fb695cc2b",
|
||||
"title": "InProgress",
|
||||
"cards": []
|
||||
},
|
||||
{
|
||||
"id": "8c15334f-3b2e-4eca-999e-4c887cb628e9",
|
||||
"title": "Test",
|
||||
"cards": []
|
||||
},
|
||||
{
|
||||
"id": "91b2b60d-a61b-4d81-bfc8-44ca4ad152ba",
|
||||
"title": "Done",
|
||||
"cards": []
|
||||
}
|
||||
],
|
||||
"archive": {
|
||||
"lists": [],
|
||||
"cards": []
|
||||
},
|
||||
"settings": {
|
||||
"labels": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<mxfile><diagram id="PozscIpwVHAVJGgGd7xL" name="Page-1">3V1Nb9s4EP01uRYiKerjmE3Sdg8FCqRAs0c1Ym0BtmhQTGLvr185JmOJUuJyPZbHPFmkR7Y0j0+ceRzaV+xmuf6iitX8myzF4opG5fqK3V5RSuIkal+2PZtdT5LyXcdMVaUx2nfcV/8K02nOmz1VpWh6hlrKha5W/c5HWdfiUff6CqXkS9/st1z0v3VVzMSg4/6xWAx7f1alnu96Mx7t+7+Kaja330wi886ysMamo5kXpXzpdLG7K3ajpNS7o+X6Riy2zrN+2Z33+Z133y5MiVr/yQkxM9ehN/bmRNneq2nWsm5f/prr5aJtkfZQrCv90B5H5vif7fEnblq3685btxvbqLXaPHQbnbO2zf1pry173vBmzP018kk9msulBv9CzYSxMve0vZHOacYBX4RcivZbWgMlFoWunvugFmZszN7szKnXShWbjsFKVrVuOp/8fdvRGphhHhuIN3bU95BoD3YfaFudK9t3vaL1DnJxgMjFGJFzOHQ8cjxA5DhG5FgEjFwSIHIZSuQyYOTSAJGzfbigs9EdGHRZgNARghE6Dh2j5CFChzK8TICDFJvLhAVdghG6FDhK4SRE6FAGmClwmMJpgNBZrQMXdBlwmMJDVFJwJuQ5cJjCQ5RSKMq5jkTQcUqIYgpDOdm9ydhg2IUopzCUsx0h0JFKkIIKSi2MUOhQJURFhaEUwwiDjlVClFRYihK7GDhWSULUVFiOEjsOHKskIYoqMUoVmnDgWMXc+XOxeDJ38HBbNPNfslDlAFUln+pSlAbFl3mlxf2qeHXiiypWfZDfdfyzUFqsP/TpO6snpvmyryuhxh3RvFNTYu3GQOg47kO/sKFf7taPYqUrWZ/dL4S6UdDQMyQ5kWdgEhP6/9iegtA9HnlUo2D7WzGULa8gTomSY58dZe7kPQfN+cfm7sU79sevmA0peSOXS1k36AhJowkJCZNtnpWQfGT+PQkhh4PWRY46iOyuyZy1B+VoZud+zPY0T/zMmR+zHfvjE7chs18LYxESO5uQ2Lak95KZnQ2ZjUPAdSjAUi/GONLFQXMCS5hshDCiabaV2EI9V63zsRGHJVMSh05BnD8a/ycqZjo4j9kRBz2POQObH5g5HPP4QAjpmrsV+gdY5jdJQpPSQt3PpXWBlZJ8yqyRwKwjn3Uus9Vt6CezxC8P5H5zny/n/S4GnJUjSs7fZQtzpTdIg8xkyuyRwCx4nZeYI/kjknpGZ3SnflRLockAs0KGD2wcYv1xYPs+tYHlNTKShdsHJdYQJp00qwhAaLNPRYRF+y4b/IL5BFiSso7qsuGr1iusTEimFKbeRtYFM8H6D2EhvTO0M7+kOc1hmWAd1WXC96dmjpUJ2cgy8emYAFPZfl4m0CETUBLBUz1ifsub0ImndWuXN/daKsQibTwpdWCq089LnZFKAhzbQpzBnftpNtyPOtDrgWNL/XfPLRBYiZNPKaWGsOBPR/IQJHvh3KqXyC8tz/1WBrMUmDojecu9VlU9w8odEk0pd9IAFLCxRXWk5KF+IRshfpIZifxUgtxvXgMn58i6/Y8CLzPHKm5PxkwWgKhgN7gh3Gw6MdNI5FeCRiLgGNJC0SsXLbSYSYVWziZkSj2bBaBd2J1tCHcqugOc+aVghAJPPiyACoxRuGkYcPtFSpnf4zWGHkwj4tbnaoFW2SJsygydBbBHho0ssyMNZS4uNBlZaf8h1LK5rssbWZfVdpNZg5ZK0ZRLjSyA8iS7hRvhlnx3qHsW6xHPNRbCgItWrGu7VPopflV1odDyJ55S77KfcdH8yS9mKoo9pyLqm4VDT0X5kD/XFdK6WBJPOfPE9PKZY3/EAOGPUgw2F3sygfutsxAOvLxvXdtnDtpJh59QWWqb+3/l2Lly/98m7O4/</diagram></mxfile>
|
||||
@@ -0,0 +1 @@
|
||||
<mxfile><diagram id="PozscIpwVHAVJGgGd7xL" name="Page-1">3V1Nb9s4EP01uRYiKerjmE3Sdg8FCqRAs0c1Ym0BtmhQTGLvr185JmOJUuJyPZbHPFmkR7Y0j0+ceRzaV+xmuf6iitX8myzF4opG5fqK3V5RSuIkal+2PZtdT5LyXcdMVaUx2nfcV/8K02nOmz1VpWh6hlrKha5W/c5HWdfiUff6CqXkS9/st1z0v3VVzMSg4/6xWAx7f1alnu96Mx7t+7+Kaja330wi886ysMamo5kXpXzpdLG7K3ajpNS7o+X6Riy2zrN+2Z33+Z133y5MiVr/yQkxM9ehN/bmRNneq2nWsm5f/prr5aJtkfZQrCv90B5H5vif7fEnblq3685btxvbqLXaPHQbnbO2zf1pry173vBmzP018kk9msulBv9CzYSxMve0vZHOacYBX4RcivZbWgMlFoWunvugFmZszN7szKnXShWbjsFKVrVuOp/8fdvRGphhHhuIN3bU95BoD3YfaFudK9t3vaL1DnJxgMjFGJFzOHQ8cjxA5DhG5FgEjFwSIHIZSuQyYOTSAJGzfbigs9EdGHRZgNARghE6Dh2j5CFChzK8TICDFJvLhAVdghG6FDhK4SRE6FAGmClwmMJpgNBZrQMXdBlwmMJDVFJwJuQ5cJjCQ5RSKMq5jkTQcUqIYgpDOdm9ydhg2IUopzCUsx0h0JFKkIIKSi2MUOhQJURFhaEUwwiDjlVClFRYihK7GDhWSULUVFiOEjsOHKskIYoqMUoVmnDgWMXc+XOxeDJ38HBbNPNfslDlAFUln+pSlAbFl3mlxf2qeHXiiypWfZDfdfyzUFqsP/TpO6snpvmyryuhxh3RvFNTYu3GQOg47kO/sKFf7taPYqUrWZ/dL4S6UdDQMyQ5kWdgEhP6/9iegtA9HnlUo2D7WzGULa8gTomSY58dZe7kPQfN+cfm7sU79sevmA0peSOXS1k36AhJowkJCZNtnpWQfGT+PQkhh4PWRY46iOyuyZy1B+VoZud+zPY0T/zMmR+zHfvjE7chs18LYxESO5uQ2Lak95KZnQ2ZjUPAdSjAUi/GONLFQXMCS5hshDCiabaV2EI9V63zsRGHJVMSh05BnD8a/ycqZjo4j9kRBz2POQObH5g5HPP4QAjpmrsV+gdY5jdJQpPSQt3PpXWBlZJ8yqyRwKwjn3Uus9Vt6CezxC8P5H5zny/n/S4GnJUjSs7fZQtzpTdIg8xkyuyRwCx4nZeYI/kjknpGZ3SnflRLockAs0KGD2wcYv1xYPs+tYHlNTKShdsHJdYQJp00qwhAaLNPRYRF+y4b/IL5BFiSso7qsuGr1iusTEimFKbeRtYFM8H6D2EhvTO0M7+kOc1hmWAd1WXC96dmjpUJ2cgy8emYAFPZfl4m0CETUBLBUz1ifsub0ImndWuXN/daKsQibTwpdWCq089LnZFKAhzbQpzBnftpNtyPOtDrgWNL/XfPLRBYiZNPKaWGsOBPR/IQJHvh3KqXyC8tz/1WBrMUmDojecu9VlU9w8odEk0pd9IAFLCxRXWk5KF+IRshfpIZifxUgtxvXgMn58i6/Y8CLzPHKm5PxkwWgKhgN7gh3Gw6MdNI5FeCRiLgGNJC0SsXLbSYSYVWziZkSj2bBaBd2J1tCHcqugOc+aVghAJPPiyACoxRuGkYcPtFSpnf4zWGHkwj4tbnaoFW2SJsygydBbBHho0ssyMNZS4uNBlZaf8h1LK5rssbWZfVdpNZg5ZK0ZRLjSyA8iS7hRvhlnx3qHsW6xHPNRbCgItWrGu7VPopflV1odDyJ55S77KfcdH8yS9mKoo9pyLqm4VDT0X5kD/XFdK6WBJPOfPE9PKZY3/EAOGPUgw2F3sygfutsxAOvLxvXdtnDtpJh59QWWqb+3/l2Lly/98m7O4/</diagram></mxfile>
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 44 KiB |
@@ -0,0 +1,19 @@
|
||||
dotnet add package Microsoft.Extensions.AI --version 10.4.1 --source https://hub.megan.ir/nuget/index.json
|
||||
dotnet add package RestSharp.Client --version 106.11.7 --source https://hub.megan.ir/nuget/index.json
|
||||
|
||||
|
||||
https://api.nuget.org/v3/index.json
|
||||
https://hub.megan.ir/nuget/index.json
|
||||
https://mirror-nuget.runflare.com/v3/index.json
|
||||
https://repo.nugetiran.ir/repository/nuget-group
|
||||
https://package-mirror.liara.ir/repository/nuget/index.json
|
||||
|
||||
|
||||
https://package-mirror.liara.ir/repository/npm/
|
||||
npm config set registry https://package-mirror.liara.ir/repository/npm/ --global
|
||||
npm config get registry
|
||||
|
||||
|
||||
npm config set strict-ssl false
|
||||
npm login --registry https://npm.saherelmhub.ir/
|
||||
npm i --registry https://package-mirror.liara.ir/repository/npm/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,322 @@
|
||||
# xPushService
|
||||
|
||||
it is a Part of xDashboard Projects on SaherElm IT Center which provides:
|
||||
|
||||
- all requirements to Implement Realtime Communications in a **xDashboard** based Project.
|
||||
|
||||
this module has following dependencies:
|
||||
|
||||
- xModels
|
||||
- xCommons
|
||||
- xDataService
|
||||
- xIdentityService
|
||||
|
||||
all tools which provides realtime communications features in this module constructed based on SignalR library.
|
||||
|
||||
for configure and use this Module refer to DI.XDIHelperExtension.cs file.
|
||||
|
||||
## Implementation
|
||||
|
||||
### Hub
|
||||
|
||||
it is a High Level Communication Endpoint which allow Bi-Directional Communications (Server => Client and Client => Server) using Realtime Connections. which introduced using **SignalR**.
|
||||
|
||||
#### XBaseHub
|
||||
|
||||
all Supported Hubs in **xDashboard** must inherit from this based abstract class, which provides base requirement which used in all Hubs.
|
||||
|
||||
#### XBaseWebRTCHub
|
||||
|
||||
a base abstract class which provides all requirements to establish WebRTC based Communications which called Signalling.
|
||||
|
||||
if you want to Implement WebRTC based Hubs for Audio/Vide/... establish connections. you have to extens from this base abstraction class.
|
||||
|
||||
#### XBaseEntityHub
|
||||
|
||||
an abstract class which Provides all requirements to Implement Entity Manipulations Notifications in your Projects.
|
||||
|
||||
```C#
|
||||
public class XTestEntityHub : XBaseEntityHub<XTest, Guid>, IXTestEntityHub
|
||||
{
|
||||
public XTestEntityHub(ILogger<XBaseHub> logger) : base(logger)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
#### XBaseDtoHub
|
||||
|
||||
an abstract class which Provides all requirements to Implement Dto Manipulations Notifications in your Projects.
|
||||
|
||||
```C#
|
||||
public class XTestDtoHub : XBaseDtoHub<XTest, XTestDto, Guid>, IXTestDtoHub
|
||||
{
|
||||
public XTestDtoHub(ILogger<XTestDtoHub> logger) : base(logger)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
### Provider
|
||||
|
||||
a Provider is a Service which has access to Hub or Hubs for Realtime Communications in other words Push Notification Enabled Service.
|
||||
|
||||
#### XBaseEntityProvider
|
||||
|
||||
an abstract class which has Repository based Data Manipulation Implemented actions, which used EntityHub for Notifying Entity Changes.
|
||||
|
||||
```C#
|
||||
public class XTestRepositoryProvider : XBaseEntityProvider<XTest, Guid, XTestEntityHub>, IXTestRepositoryProvider
|
||||
{
|
||||
public XTestRepositoryProvider(
|
||||
IXTestRepository repository,
|
||||
IHubContext<XTestEntityHub> hub,
|
||||
XDataServiceConfiguration dataConfiguration,
|
||||
IXIdentityProvider identityProvider = null
|
||||
) : base(
|
||||
hub: hub,
|
||||
repository: repository,
|
||||
identityProvider: identityProvider,
|
||||
dataConfiguration: dataConfiguration
|
||||
)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
#### XBaseDtoProvider
|
||||
|
||||
an abstract class which has Service based Data Manipulation Implemented actions, which used DtoHub for Notifying Dto Changes.
|
||||
|
||||
```C#
|
||||
public class XTestServiceProvider : XBaseDtoProvider<XTest, XTestDto, Guid, XTestDtoHub>, IXTestServiceProvider
|
||||
{
|
||||
public XTestServiceProvider(
|
||||
IHubContext<XTestDtoHub> hub,
|
||||
IXTestRepositoryService service,
|
||||
XDataServiceConfiguration dataConfiguration,
|
||||
IXIdentityProvider identityProvider = null
|
||||
) : base(
|
||||
hub: hub,
|
||||
service: service,
|
||||
identityProvider: identityProvider,
|
||||
dataConfiguration: dataConfiguration
|
||||
)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
#### XBaseRepositoryProviderController
|
||||
|
||||
an abstract Controller class which has Identity Enabled Services for Authorization and Authentication based Endpoint Providing and also has all default Entity based Provider Service Actions implementation for using in Projects.
|
||||
|
||||
```C#
|
||||
public class XTestRepositoryProviderController : XBaseRepositoryProviderController<XTest, Guid, XTestEntityHub>, IXBaseRepositoryProviderController<XTest, Guid, XTestEntityHub>
|
||||
{
|
||||
public XTestRepositoryProviderController(
|
||||
ILogger<XTestRepositoryProviderController> logger,
|
||||
XAppConfiguration appConfiguration,
|
||||
IXIdentityProvider identityProvider,
|
||||
XValidationProvider validationProvider,
|
||||
IXTestRepositoryProvider provider,
|
||||
Func<IQueryable<XTest>, IOrderedQueryable<XTest>> defaultOrderBuilder,
|
||||
Func<IQueryable<XTest>, IIncludableQueryable<XTest, object>> defaultIncludeBuilder
|
||||
) : base(
|
||||
logger,
|
||||
appConfiguration,
|
||||
identityProvider,
|
||||
validationProvider,
|
||||
provider,
|
||||
defaultOrderBuilder,
|
||||
defaultIncludeBuilder
|
||||
)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
#### XBaseServiceProviderController
|
||||
|
||||
an abstract Controller class which has Identity Enabled Services for Authorization and Authentication based Endpoint Providing and also has all default Dto based Provider Service Actions implementation for using in Projects.
|
||||
|
||||
```C#
|
||||
public class XTestServiceProviderController : XBaseServiceProviderController<XTest, XTestDto, Guid, XTestDtoHub>, IXBaseServiceProviderController<XTest, XTestDto, Guid, XTestDtoHub>
|
||||
{
|
||||
public XTestServiceProviderController(
|
||||
ILogger<XTestServiceProviderController> logger,
|
||||
XAppConfiguration appConfiguration,
|
||||
IXIdentityProvider identityProvider,
|
||||
XValidationProvider validationProvider,
|
||||
IXTestServiceProvider provider,
|
||||
Func<IQueryable<XTest>, IOrderedQueryable<XTest>> defaultOrderBuilder,
|
||||
Func<IQueryable<XTest>, IIncludableQueryable<XTest, object>> defaultIncludeBuilder
|
||||
) : base(
|
||||
logger,
|
||||
appConfiguration,
|
||||
identityProvider,
|
||||
validationProvider,
|
||||
provider,
|
||||
defaultOrderBuilder,
|
||||
defaultIncludeBuilder
|
||||
)
|
||||
{ }
|
||||
}
|
||||
```
|
||||
|
||||
### Register PushService
|
||||
|
||||
after preparation of all requirements, final steps is Register DataService.there are two main step:
|
||||
|
||||
- **DI Registration**: in this phase, all requirements for Enabling Push Notifications Registered in DI Container.
|
||||
- **Middleware Usage**: in this phase, all registered Hubs enabled using it's Provided routes and then accessible through their Paths.
|
||||
|
||||
#### Configure Service
|
||||
|
||||
this service Configured using this Configuration Model:
|
||||
|
||||
```C#
|
||||
public partial class XPushServiceConfiguration {
|
||||
/// <summary>
|
||||
/// Base route of WebSocket Server ...
|
||||
/// </summary>
|
||||
/// <value>string</value>
|
||||
public string BaseRoute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// determines log level of signalR ...
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public object ConnectionLogLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// when client disconnected it's automatically try to reconnect, this
|
||||
/// determines max number of try to connect ...
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public int PushConnectionMaxRetry { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// add support for message protocol ...
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public bool AddSupportMessageProtocol { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// the delay between two connection try ..
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public int PushConnectionReconnectDelay { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
you can directly instanced this class and fill it and use it in Service Registration phase for Configuring Service. or Configure Service using App Setting Filling like this:
|
||||
|
||||
```json
|
||||
...
|
||||
"PushServiceConfiguration": {
|
||||
"BaseRoute": "hubs",
|
||||
"AddSupportMessageProtocol": true
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
for Register Service and see different Methods:
|
||||
|
||||
```C#
|
||||
...
|
||||
/// <summary>
|
||||
/// Register Module Provided Service on DI
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="config"></param>
|
||||
public static void AddXPushService(
|
||||
this IServiceCollection services,
|
||||
IConfiguration config,
|
||||
ServiceLifetime lifeTime = ServiceLifetime.Scoped
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Register Module Provided Service on DI
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="config"></param>
|
||||
public static void AddXPushService(
|
||||
this IServiceCollection services,
|
||||
XPushServiceConfiguration config,
|
||||
ServiceLifetime lifeTime = ServiceLifetime.Scoped
|
||||
);
|
||||
...
|
||||
```
|
||||
|
||||
and for enable Hubs Middle wares you Have to Introduce your Hubs through an Instance of xPushServiceHelper class and provides it to Middleware Registrations:
|
||||
|
||||
```C#
|
||||
/// <summary>
|
||||
/// Use Module Middlewares on Application Builder
|
||||
/// </summary>
|
||||
/// <param name="app"></param>
|
||||
/// <param name="helper"></param>
|
||||
public static void UseXPushService(
|
||||
this IApplicationBuilder app,
|
||||
XPushServiceHelper helper
|
||||
);
|
||||
```
|
||||
|
||||
full Service Registration:
|
||||
|
||||
```C#
|
||||
public class Startup
|
||||
{
|
||||
//
|
||||
public IConfiguration Configuration { get; }
|
||||
|
||||
public Startup(IConfiguration configuration)
|
||||
{
|
||||
...
|
||||
Configuration = configuration;
|
||||
...
|
||||
}
|
||||
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Push Service ...
|
||||
services.AddXPushService(
|
||||
config: configuration,
|
||||
lifeTime: ServiceLifetime.Scoped
|
||||
);
|
||||
|
||||
//
|
||||
// Register Provider Services ...
|
||||
// since Hubs required Identity Provider, you Have to Register IdentityService as Requirements ...
|
||||
// a Provider Service, Provides Repository (Entity) or Service (Dto) based
|
||||
// Data Manipulation Actions by Supporting Hub Contexts Events ...
|
||||
services.AddScoped<IXTestServiceProvider, XTestServiceProvider>();
|
||||
services.AddScoped<IXTestRepositoryProvider, XTestRepositoryProvider>();
|
||||
...
|
||||
}
|
||||
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Instance Service Helper ...
|
||||
var pushHelper = new XPushServiceHelper();
|
||||
|
||||
//
|
||||
// Introduce Hubs and their Child paths ...
|
||||
pushHelper.AddHub<XTestDtoHub>("testDto");
|
||||
pushHelper.AddHub<XTestEntityHub>("testEntity");
|
||||
|
||||
//
|
||||
// Use Push Service Middlewares ...
|
||||
app.UseXPushService(pushHelper);
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Maintainer
|
||||
|
||||
Hadi Khazaee asl
|
||||
|
||||
[https://www.saherelm.ir](https://www.saherelm.ir)
|
||||
|
||||
[hadi_khazaee_asl@yahoo.com](mailto:hadi_khazaee_asl@yahoo.com)
|
||||
Binary file not shown.
@@ -0,0 +1,658 @@
|
||||
# xStringService
|
||||
|
||||
it is a Part of xDashboard on SaherElm IT Center which provides:
|
||||
|
||||
- all requirements to Implement String Resource Features in a **xDashboard** based Project.
|
||||
|
||||
this module has following dependencies :
|
||||
|
||||
- xDataService
|
||||
- xPushService
|
||||
- xIdentityService
|
||||
|
||||
for configure and use this Module refer to DI.XDIHelperExtension.cs file.
|
||||
|
||||
## String Resource
|
||||
|
||||
an string resource is a Key/Value based structure which used in Multi Language Applications for accessing Translated of Spcified Values by Key, in Specified Languages.
|
||||
this architecture is very useful for implementing other services in an Application. such as Terms and Conditions.
|
||||
|
||||
## Data Persists
|
||||
|
||||
all of Provided features of this Module is works based on Data Persistance. so data models is Very Important.
|
||||
in this section all Data models explained.
|
||||
|
||||
data manipulation done using **xDataService** provided Features.
|
||||
|
||||
- **XString**: an Entity Model for Mapping to Tables.
|
||||
- **XStringDto**: a Data Transfer Object for Representing a Data Model.
|
||||
- **XStringEntityConfiguration**: a Configuration file for XString Entity.
|
||||
- **XStringEntityHub**: a Hub Implementation for XString Entity Model.
|
||||
- **XStringDtoHub**: a Hub Implementation for XStringDto Model.
|
||||
- **XStringEntityRegisterar**: an Implementation class for Dynamically Register XString Entity in a DbContext.
|
||||
- **IXStringRepositoryEvents**: an Interface for Repository Events Describing of XString Entity.
|
||||
- **XStringRepositoryEvents**: an Implementation for Repository Events of XString Entity.
|
||||
- **IXStringKeyGenerator**: an Interface for Describing Key Generator Actions for XString Entity.
|
||||
- **XStringKeyGenerator**: an Implementation for Describing Key Generator Actions for XString Entity.
|
||||
- **IXStringRepository**: an Interface for Describing XString Repository Actions.
|
||||
- **XStringEFRepository**: an Implementation of EF Core based XString Repository Actions.
|
||||
- **XStringMongoRepository**: an Implementation of MongoDb based XString Repository Actions.
|
||||
- **XStringMongoRepository**: an Implementation of MongoDb based XString Repository Actions.
|
||||
- **XStringInMemoryRepository**: an Implementation of InMemory based XString Repository Actions.
|
||||
- **IXStringSeeder**: an Interface for Describe XString DbSeeder actions.
|
||||
- **XStringSeederBase**: an abstraction of Implementation of XString DbSeeder actions.
|
||||
- **IXStringRepositoryProvider**: an Interface for Describing XString Repository Provider (using Hubs) actions.
|
||||
- **XStringRepositoryProvider**: an Implementation of XString Repository Provider (using Hubs) actions.
|
||||
- **IXStringRepositoryService**: an Interface for Describing XString Repository Service Actions (using XStringDto).
|
||||
- **XStringRepositoryService**: an Implementation of XString Repository Service Actions (using XStringDto).
|
||||
- **IXStringServiceProvider**: an Interface for Describing XString Repository Service Actions Provider (using Hubs and XStringDto).
|
||||
- **XStringServiceProvider**: an Implementation of XString Repository Service Actions Provider (using Hubs and XStringDto).
|
||||
- **XStringGraphType**: introduce XString Data model for GraphQL using.
|
||||
- **XStringGraphQuery**: introduce Repositry Implementation of XString model actions as Query Actions for GraphQL using.
|
||||
- **XStringGraphSchema**: introduce XString Query Schema for GraphQL using.
|
||||
- **IXStringGraphQLTypeHelper**: an Interface for Describing XString GraphQL Type Helper Provided Actions.
|
||||
- **IXStringGraphQLTypeHelper**: an Implementation of XString GraphQL Type Helper Provided Actions.
|
||||
|
||||
data presistance almost is a Down Layer works which handled using Service it self.
|
||||
but in some Used cases of Applications Business Logics, for Manipulating resources you can use above Registered Services by Injecting them.
|
||||
|
||||
## Providers
|
||||
|
||||
this module actually used to act as a base Provider for implementing Features based on it.
|
||||
for this purpose, provides some Features which described in this section.
|
||||
|
||||
### String Resource Provider
|
||||
|
||||
some services used XString model for Provide Specially Concept's of Actions. for example Terms and Conditions Services use XString Persisted Resource for Specified Purpose.
|
||||
|
||||
this Module provides some sort of tools for this purpose. which described in this section.
|
||||
|
||||
#### Data Transfer Models
|
||||
|
||||
this service used some Data Transfer Models for Data Providing. which Described in this section.
|
||||
|
||||
```C#
|
||||
public class XLocaleResourceDto : XBaseDto
|
||||
{
|
||||
public string Language { get; set; }
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
public class XResourceDto : XBaseDto
|
||||
{
|
||||
public string Resource { get; set; }
|
||||
public IEnumerable<XLocaleResourceDto> Locales { get; set; } = new HashSet<XLocaleResourceDto>();
|
||||
}
|
||||
```
|
||||
|
||||
#### IXBaseStringResourceProvider
|
||||
|
||||
an interface for Describe Provided Actions of Resource based Service.
|
||||
|
||||
```C#
|
||||
/// <summary>
|
||||
/// a Base Class for Handling Resources Based on Specified Types on
|
||||
/// String Resources Use ...
|
||||
/// such as:
|
||||
/// - Terms and Conditions;
|
||||
/// - Contents;
|
||||
/// - News;
|
||||
/// - etc ...
|
||||
/// </summary>
|
||||
public interface IXBaseStringResourceProvider
|
||||
{
|
||||
//
|
||||
#region Props ...
|
||||
string Prefix { get; }
|
||||
IXStringServiceProvider Provider { get; }
|
||||
XAppConfiguration AppConfiguration { get; }
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Actions ...
|
||||
/// <summary>
|
||||
/// Prepare Resource Title by Given Data ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <returns></returns>
|
||||
string GetResourceTitle(string suffix);
|
||||
|
||||
/// <summary>
|
||||
/// Add Specified Locales ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="locales"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XStringDto>> Add(
|
||||
string suffix,
|
||||
IEnumerable<XLocaleResourceDto> locales,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Add Or Update Specified Locals ...
|
||||
/// </summary>
|
||||
/// <param name="resource"></param>
|
||||
/// <param name="locales"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XStringDto>> AddOrUpdate(
|
||||
string resource,
|
||||
IEnumerable<XLocaleResourceDto> locales,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Get Specified Locale ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="language"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<XLocaleResourceDto> GetLocale(
|
||||
string suffix,
|
||||
string language = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Add Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="item"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<XResourceDto> AddResource(
|
||||
string suffix,
|
||||
XResourceDto item,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Get Resources of Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<XResourceDto> GetResource(
|
||||
string suffix,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Suffix Resources ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task Remove(
|
||||
string suffix,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="resource"></param>
|
||||
/// <param name="language"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task Remove(
|
||||
string resource,
|
||||
string language,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
);
|
||||
#endregion
|
||||
}
|
||||
```
|
||||
|
||||
#### XBaseStringResourceProvider
|
||||
|
||||
an implementation of Provided Actions of Resource based Service.
|
||||
|
||||
```C#
|
||||
/// <summary>
|
||||
/// a Base Class for Handling Resources Based on Specified Types on
|
||||
/// String Resources Use ...
|
||||
/// such as:
|
||||
/// - Terms and Conditions;
|
||||
/// - Contents;
|
||||
/// - News;
|
||||
/// - etc ...
|
||||
/// </summary>
|
||||
public abstract class XBaseStringResourceProvider : IXBaseStringResourceProvider
|
||||
{
|
||||
//
|
||||
#region Props ...
|
||||
public string Prefix { get; }
|
||||
public IXStringServiceProvider Provider { get; }
|
||||
public XAppConfiguration AppConfiguration { get; }
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Constructor ...
|
||||
public XBaseStringResourceProvider(
|
||||
string prefix,
|
||||
IXStringServiceProvider provider,
|
||||
XAppConfiguration appConfiguration
|
||||
)
|
||||
{
|
||||
//
|
||||
Prefix = prefix;
|
||||
Provider = provider;
|
||||
AppConfiguration = appConfiguration;
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Actions ...
|
||||
/// <summary>
|
||||
/// Prepare Resource Title by Given Data ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <returns></returns>
|
||||
public string GetResourceTitle(string suffix)
|
||||
{
|
||||
//
|
||||
string result = "";
|
||||
|
||||
//
|
||||
if (suffix.IsNullOrEmpty())
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
result = $"{Prefix}_${suffix}";
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add Specified Locales ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="locales"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IEnumerable<XStringDto>> Add(
|
||||
string suffix,
|
||||
IEnumerable<XLocaleResourceDto> locales,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
var has =
|
||||
locales.HasChild() &&
|
||||
!suffix.IsNullOrEmpty();
|
||||
if (!has)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Resource ID ...
|
||||
string resourceID = GetResourceTitle(suffix);
|
||||
var result = await locales.SelectAsync(async l =>
|
||||
{
|
||||
//
|
||||
// Normalize Language ...
|
||||
if (l.Language.IsNullOrEmpty())
|
||||
{
|
||||
l.Language = AppConfiguration.DefaultLanguage;
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Model for Add ...
|
||||
var model = new XStringDto
|
||||
{
|
||||
Language = l.Language,
|
||||
TranslatedValue = l.Value,
|
||||
ResourceTitle = resourceID,
|
||||
};
|
||||
model = await Provider.AddAsync(
|
||||
item: model,
|
||||
saveChanges: true,
|
||||
connectionId: connectionId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
return model;
|
||||
});
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add Or Update Specified Locals ...
|
||||
/// </summary>
|
||||
/// <param name="resource"></param>
|
||||
/// <param name="locales"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IEnumerable<XStringDto>> AddOrUpdate(
|
||||
string resource,
|
||||
IEnumerable<XLocaleResourceDto> locales,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
bool isValid =
|
||||
locales.HasChild() &&
|
||||
!resource.IsNullOrEmpty() &&
|
||||
locales.All(l => !l.Value.IsNullOrEmpty() && !l.Language.IsNullOrEmpty());
|
||||
if (!isValid)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Check Resource ...
|
||||
isValid = resource.Contains(Prefix);
|
||||
if (!isValid)
|
||||
{
|
||||
XException.NotAllowed.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var result = await locales.SelectAsync(async l =>
|
||||
await Provider.AddOrUpdateByLocaleResource(
|
||||
item: l,
|
||||
resource: resource,
|
||||
connectionId: connectionId,
|
||||
cancellationToken: cancellationToken
|
||||
)
|
||||
);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Specified Locale ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="language"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<XLocaleResourceDto> GetLocale(
|
||||
string suffix,
|
||||
string language = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Normalize ...
|
||||
if (language.IsNullOrEmpty())
|
||||
{
|
||||
language = AppConfiguration.DefaultLanguage;
|
||||
}
|
||||
|
||||
//
|
||||
// Validate ...
|
||||
if (suffix.IsNullOrEmpty() || language.IsNullOrEmpty())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Resource Title ...
|
||||
string resource = GetResourceTitle(suffix);
|
||||
|
||||
//
|
||||
// Check Resource Exists ...
|
||||
var isExists = await Provider.IsResourceExists(
|
||||
resource: resource,
|
||||
language: language,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
if (!isExists)
|
||||
{
|
||||
XException.NotFound.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Retrieve and Validate Dto Model ...
|
||||
var model = await Provider.Get(
|
||||
resource: resource,
|
||||
language: language,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
if (model.IsNullOrDefault())
|
||||
{
|
||||
XException.ActionFailed.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Result ...
|
||||
var result = model
|
||||
.ToXLocaleResourceDto();
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="item"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<XResourceDto> AddResource(
|
||||
string suffix,
|
||||
XResourceDto item,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
if (suffix.IsNullOrEmpty() ||
|
||||
item.IsNull() ||
|
||||
!item.Locales.HasChild() ||
|
||||
!item.Locales.All(l => !l.Value.IsNullOrEmpty()))
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Resource ID ...
|
||||
var addedLocals = await Add(
|
||||
suffix: suffix,
|
||||
locales: item.Locales,
|
||||
connectionId: connectionId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
if (!addedLocals.HasChild())
|
||||
{
|
||||
XException.ActionFailed.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var result = await GetResource(
|
||||
suffix: suffix,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Resources of Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<XResourceDto> GetResource(
|
||||
string suffix,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
if (suffix.IsNullOrEmpty())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare Resource ID ...
|
||||
string resourceID = GetResourceTitle(suffix);
|
||||
|
||||
//
|
||||
// Prepare ...
|
||||
var result = await Provider.GetResource(
|
||||
resource: resourceID,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Suffix Resources ...
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task Remove(
|
||||
string suffix,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
if (suffix.IsNullOrEmpty())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var resourceID = GetResourceTitle(suffix);
|
||||
await Provider.RemoveResource(
|
||||
resource: resourceID,
|
||||
connectionId: connectionId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Resource ...
|
||||
/// </summary>
|
||||
/// <param name="resource"></param>
|
||||
/// <param name="language"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task Remove(
|
||||
string resource,
|
||||
string language,
|
||||
string connectionId = null,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
bool isValid =
|
||||
!resource.IsNullOrEmpty() &&
|
||||
!language.IsNullOrEmpty();
|
||||
if (!isValid)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Check resource ID Contains Prefix ...
|
||||
isValid = resource.Contains(Prefix);
|
||||
if (!isValid)
|
||||
{
|
||||
XException.NotAllowed.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Check Exists ...
|
||||
var isExists = await Provider.IsResourceExists(
|
||||
resource: resource,
|
||||
language: language,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
if (!isExists)
|
||||
{
|
||||
XException.NotFound.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Remove Resource ...
|
||||
await Provider.Remove(
|
||||
resource: resource,
|
||||
language: language,
|
||||
connectionId: connectionId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
```
|
||||
|
||||
## Implementation
|
||||
|
||||
you have to follow these steps for using this Module.
|
||||
|
||||
- **DI Registration**: in this phase, all Provided Services Registered in DI.
|
||||
- **Middleware Usage**: in this phase, Service Middlewares Use to Handle Features.
|
||||
|
||||
```C#
|
||||
public class Startup
|
||||
{
|
||||
//
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Register String Service ...
|
||||
services.AddXStringService<XApiDbContext>(
|
||||
lifeTime: lifeTime,
|
||||
repositoryType: xDataService.Constants.XRepositoryType.EF
|
||||
);
|
||||
...
|
||||
}
|
||||
|
||||
//
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Using String Service ...
|
||||
app.UseXStringService(
|
||||
isDevelopmentEnvironment: isDevelopmentEnvironment
|
||||
);
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Maintainer
|
||||
|
||||
Hadi Khazaee asl
|
||||
|
||||
[https://www.saherelm.ir](https://www.saherelm.ir)
|
||||
|
||||
[hadi_khazaee_asl@yahoo.com](mailto:hadi_khazaee_asl@yahoo.com)
|
||||
Binary file not shown.
@@ -0,0 +1,116 @@
|
||||
# xTermsAndConditionsService
|
||||
|
||||
it is a Part of xDashboard on SaherElm IT Center which provides Terms and Conditions Management Futures ...
|
||||
|
||||
its depends on:
|
||||
|
||||
- **xStringService**
|
||||
|
||||
## Providers
|
||||
|
||||
in this module all requirements tools for manage Terms and Conditions Integrated and Provided.
|
||||
|
||||
- **IXTermsAndComditionsProvider**: an Interface for Describe Provided Actions for Terms and Conditions Management.
|
||||
- **XTermsAndComditionsProvider**: an Implementation of Provided Actions for Terms and Conditions Management.
|
||||
- **XTermsHub**: a Hub Implementation for Notifing Terms Changes to Connected Clients.
|
||||
- **IXTermsAndComditionsController**: an Interface for Describe base Terms and Conditions Management Controller Actions.
|
||||
- **XTermsAndComditionsControllerBase**: an Abstract Base Implementation of base Terms and Conditions Management Controller Actions.
|
||||
|
||||
## Implementation
|
||||
|
||||
you have to follow these steps for using this Module.
|
||||
|
||||
### Configure Service
|
||||
|
||||
all of Requirements for Terms and Conditions must be Configured using appSettings and provided by IConfiguration to Modules.
|
||||
|
||||
fo using Service you Have to Configure the Service in you appSettings.json file.
|
||||
|
||||
this configurations mapped to **XTermsAndConditionsServiceConfiguration** class.
|
||||
|
||||
```C#
|
||||
/// <summary>
|
||||
/// Terms and Conditions Configuration ...
|
||||
/// </summary>
|
||||
public class XTermsAndConditionsServiceConfiguration
|
||||
{
|
||||
/// <summary>
|
||||
/// Terms And Conditions Resource Title in XString Table ...
|
||||
/// </summary>
|
||||
public string ResourceTitle { get; set; } = "terms_and_conditions";
|
||||
|
||||
/// <summary>
|
||||
/// Seeding Mode for Terms and Conditions ...
|
||||
/// </summary>
|
||||
public XDbSeedingMode SeedingMode { get; set; } = XDbSeedingMode.AddIfNotExists;
|
||||
|
||||
/// <summary>
|
||||
/// Default Terms and Conditions for Add to Databse on App Startup ...
|
||||
/// </summary>
|
||||
public List<XStringDto> TermsAndConditions { get; set; } = null;
|
||||
}
|
||||
```
|
||||
|
||||
a sample Configuration must like this:
|
||||
|
||||
```json
|
||||
{
|
||||
...
|
||||
"TermsAndConditionsService": {
|
||||
"ResourceTitle": "terms_and_conditions",
|
||||
"SeedingMode": "AddIfNotExists",
|
||||
"TermsAndConditions": [
|
||||
{
|
||||
"Language": "fa-IR",
|
||||
"TranslatedValue": "شرایط و ضوابط ثبت نام در سامانه"
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
### Register Service
|
||||
|
||||
after preparation of all requirements, final steps is Register Service.
|
||||
|
||||
there are two main step:
|
||||
|
||||
- **DI Registration**: in this phase, all Provided Services Registered in DI.
|
||||
- **Middleware Usage**: in this phase, if any Terms and Conditions Provided in Configuration, Seeded in Data Persist System using Provided Services.
|
||||
|
||||
```C#
|
||||
public class Startup
|
||||
{
|
||||
//
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Register Terms and Conditions Service ...
|
||||
services.AddXTermsConditionsService(
|
||||
lifeTime: lifeTime,
|
||||
configuration: configuration
|
||||
);
|
||||
...
|
||||
}
|
||||
|
||||
//
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
...
|
||||
//
|
||||
// Using Terms and Conditions Service ...
|
||||
app.UseXTermsAndConditionsService();
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Maintainer
|
||||
|
||||
Hadi Khazaee asl
|
||||
|
||||
[https://www.saherelm.ir](https://www.saherelm.ir)
|
||||
|
||||
[hadi_khazaee_asl@yahoo.com](mailto:hadi_khazaee_asl@yahoo.com)
|
||||
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
# Ollama Commands
|
||||
|
||||
```sh
|
||||
ollama --version
|
||||
```
|
||||
|
||||
check ollama is installed and which version of it ...
|
||||
|
||||
```sh
|
||||
ollama list
|
||||
```
|
||||
|
||||
list ollama models which installed ...
|
||||
|
||||
```sh
|
||||
ollama pull model-name
|
||||
```
|
||||
|
||||
download specified model ...
|
||||
|
||||
```sh
|
||||
ollama rm model-name
|
||||
```
|
||||
|
||||
remove specified model ...
|
||||
|
||||
## Reference
|
||||
|
||||
[Full List of Ollama Commands](https://parsdev.com/blog/what-is-ollama/)
|
||||
@@ -0,0 +1,14 @@
|
||||
# Running Ollama on Docker
|
||||
|
||||
ollama is an application which allowed us to run LLMs Locally ...
|
||||
|
||||
```sh
|
||||
docker run -d \
|
||||
-p 11434:11434 \
|
||||
-v XOllamaData:/root/.ollama \
|
||||
--restart unless-stopped \
|
||||
--network x-bridge-network \
|
||||
--ip 172.18.0.13 \
|
||||
--name XOllama \
|
||||
ollama/ollama:latest
|
||||
```
|
||||
@@ -0,0 +1,160 @@
|
||||
Okay, let's break down how to get a stream using `RestSharp` in .NET Core. This is a crucial concept for handling asynchronous operations like API calls, especially when dealing with streaming data.
|
||||
|
||||
**1. Understanding the Concept**
|
||||
|
||||
* **Streaming:** Instead of waiting for the entire response from an API to be fully received, streaming allows you to receive data incrementally as it becomes available. This is vital for large responses or when you don't want to process the entire thing in memory.
|
||||
* **RestSharp:** A library that simplifies making HTTP requests. It's lightweight and designed for handling API calls.
|
||||
* **Streams:** A core feature of RestSharp that lets you manage incoming data in chunks, making it easier to handle asynchronous operations.
|
||||
|
||||
**2. Basic Setup**
|
||||
|
||||
1. **Install RestSharp:** If you haven't already, install RestSharp:
|
||||
|
||||
```bash
|
||||
dotnet add package RestSharp
|
||||
```
|
||||
|
||||
2. **Install `RestSharp.Client`:** The client library is necessary to make the HTTP requests.
|
||||
|
||||
```bash
|
||||
dotnet add package RestSharp.Client
|
||||
```
|
||||
|
||||
**3. The Core `Stream` Method**
|
||||
|
||||
The fundamental way to get a stream in RestSharp is using the `Stream` class:
|
||||
|
||||
```csharp
|
||||
using RestSharp;
|
||||
|
||||
public class Example
|
||||
{
|
||||
public static async Task Main(string[] args)
|
||||
{
|
||||
// Create a new stream
|
||||
var stream = await RestSharp.Streams.CreateStream("https://jsonplaceholder.typicode.com/todos/1");
|
||||
|
||||
// Now you can iterate over the stream
|
||||
foreach (var item in stream)
|
||||
{
|
||||
Console.WriteLine($"Item: {item.Title}");
|
||||
// Process the item here
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Explanation:**
|
||||
|
||||
* `RestSharp.Streams.CreateStream("https://jsonplaceholder.com/todos/1")`: This creates a `Stream` object associated with the specified URL. The stream is created in the background, and you can start getting data from it.
|
||||
* `foreach (var item in stream)`: This loop iterates through the stream. In the `stream` object, each element represents a chunk of data. You'll access the stream's elements through the `item` variable.
|
||||
|
||||
**4. Understanding Streams and their Properties**
|
||||
|
||||
The `Stream` object has various properties that provide more control:
|
||||
|
||||
* **`Start()`:** Initiates the stream.
|
||||
* **`Stop()`:** Signals the stream to stop receiving data.
|
||||
* **`Read(int, int, int, int, int, int, int)`:** Reads a specific number of bytes (up to 1024) from the stream.
|
||||
* **`GetNext()`:** Returns the next element in the stream.
|
||||
* **`GetNextCount()`:** Returns the number of elements remaining in the stream.
|
||||
* **`Close()`:** Closes the stream.
|
||||
* **`ReadResponse(string)**:** Retrieves a response from the stream. This is useful for checking for success or handling errors.
|
||||
|
||||
**5. Working with Streaming Responses**
|
||||
|
||||
When you receive a streaming response from an API, you'll typically use `GetNext()` to get the next chunk of data and then iterate over it.
|
||||
|
||||
```csharp
|
||||
using RestSharp;
|
||||
|
||||
// ... (restSharp.Client and Stream as defined above)
|
||||
|
||||
public async Task GetStreamExample()
|
||||
{
|
||||
var client = new RestSharp.Client();
|
||||
var stream = await client.Stream(new string[] { "Some data" }); // Replace with your URL
|
||||
|
||||
foreach (var item in stream)
|
||||
{
|
||||
Console.WriteLine($"Received: {item.Title}");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**6. Error Handling**
|
||||
|
||||
It's *critical* to handle potential errors:
|
||||
|
||||
```csharp
|
||||
using RestSharp;
|
||||
|
||||
public async Task GetStreamExample()
|
||||
{
|
||||
var client = new RestSharp.Client();
|
||||
var stream = await client.Stream(new string[] { "Some data" });
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var item in stream)
|
||||
{
|
||||
Console.WriteLine($"Received: {item.Title}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Error: {ex.Message}");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**7. Important Considerations and Best Practices**
|
||||
|
||||
* **`Stream.Asynchronous`**: It's crucial to make the `Stream` object asynchronous. This allows the Stream to perform tasks in the background. You'll usually do this by wrapping the `Stream` in `async` and `await`.
|
||||
|
||||
```csharp
|
||||
var stream = await RestSharp.Streams.CreateStream("https://your-api-url").Asynchronous;
|
||||
```
|
||||
|
||||
* **`ReadResponse()`:** Use `GetNext()` to check for success and get a response from the stream.
|
||||
|
||||
* **Asynchronous Operations:** Streaming is *inherently* asynchronous. The key to getting the benefits of streaming is to handle the asynchronous nature of the API calls.
|
||||
|
||||
* **Timeouts:** You might need to set timeouts to prevent your application from hanging indefinitely if the API call takes too long. `RestSharp.Streams.SetTimeout(timeoutSeconds)`
|
||||
|
||||
* **`Stream.Close()`:** Always close the stream when you're finished with it. This will release resources.
|
||||
|
||||
**Example with Asynchronous Operations:**
|
||||
|
||||
```csharp
|
||||
using RestSharp;
|
||||
using RestSharp.Console;
|
||||
|
||||
public class Example
|
||||
{
|
||||
public static async Task Main(string[] args)
|
||||
{
|
||||
var client = new RestSharp.Client();
|
||||
var stream = await client.Stream(new string[] { "Initial Data" });
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var item in stream)
|
||||
{
|
||||
Console.WriteLine($"Received: {item.Title}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Error: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Resources:**
|
||||
|
||||
* **RestSharp Documentation:** [https://restsharp.net/docs/](https://restsharp.net/docs/)
|
||||
* **RestSharp.Console:** [https://restsharp.net/docs/console/](https://restsharp.net/docs/console/) (Good for simpler examples)
|
||||
|
||||
To reiterate, using `RestSharp.Streams.CreateStream` is the most appropriate way to get a stream for performing asynchronous API calls. The `Stream` object provides a convenient way to manage the incoming data in a way that's beneficial for handling asynchronous operations. I hope this comprehensive explanation helps you get started! Let me know if you have any further questions.
|
||||
@@ -0,0 +1,44 @@
|
||||
# What to Do for Ollama
|
||||
|
||||
this document is describe what to do for AI purpose implementing.
|
||||
|
||||
## Installing Ollama
|
||||
|
||||
First step is running ollama on a local machine.
|
||||
this ollaama engine running an LLM model locally.
|
||||
|
||||
## Handling Ollama Management
|
||||
|
||||
do R&D about managing Ollama Instance by Api and Implement it.
|
||||
|
||||
## Configuring Ollama
|
||||
|
||||
Configuring Function Tooling and Memory Strategies.
|
||||
|
||||
## Running an API Application for Ollama accessing
|
||||
|
||||
Secconf step is Create an Api Application for handling Ollama Access Functions.
|
||||
this is most important step.
|
||||
we have to Planning for this step carefully, since the Ollama Machine is Closed and Access to it mostly done using this xApi Application.
|
||||
for this porpose we have to Create a Task and preparing Sub Tasks.
|
||||
Managing Rate Limits and etc.
|
||||
|
||||
## Create a Module for Accessing Ollama xApi Application
|
||||
|
||||
Thirs step is Creating a Module for Implement accessing to Ollama xApi applications.
|
||||
this Module acts like xIdentityService, which Provides accessing to xIds. and Provides Accessing to xAIApi Implementing.
|
||||
we have to Planning for this and Create Tasks for its related actions.
|
||||
|
||||
Note: this module most attached to xDashboard as a Service.
|
||||
|
||||
## Implement Module Actions in xApi of Workspace
|
||||
|
||||
Implement all actions of AI Module Actions inside xApi Applications, exactly same as Account Controller of xApi.
|
||||
|
||||
## Complete Postman Collection
|
||||
|
||||
Complete Postman Collection for xAIApi and xApi AI Controller.
|
||||
|
||||
## Documentation
|
||||
|
||||
in this step i have to fully document all requirements.
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "xApi",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "buildApi",
|
||||
"program": "${workspaceFolder}/xApi/bin/Debug/netcoreapp3.1/xApi.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/xApi",
|
||||
"stopAtEntry": false,
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "xIds",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "buildIds",
|
||||
"program": "${workspaceFolder}/xIds/bin/Debug/netcoreapp3.1/xIds.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/xIds",
|
||||
"stopAtEntry": false,
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "xAiApi",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "buildAiApi",
|
||||
"program": "${workspaceFolder}/xAiApi/bin/Debug/netcoreapp3.1/xAiApi.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/xAiApi",
|
||||
"stopAtEntry": false,
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "xClient",
|
||||
"request": "launch",
|
||||
"type": "chrome",
|
||||
"url": "https://localhost:4200",
|
||||
"preLaunchTask": "prepareXClient",
|
||||
"webRoot": "${workspaceFolder}/xClient",
|
||||
"sourceMaps": true,
|
||||
"sourceMapPathOverrides": {
|
||||
"webpack:/*": "${webRoot}/*",
|
||||
"/./*": "${webRoot}/*",
|
||||
"/src/*": "${webRoot}/*",
|
||||
"/*": "*",
|
||||
"/./~/*": "${webRoot}/node_modules/*"
|
||||
}
|
||||
},
|
||||
],
|
||||
"compounds": [
|
||||
{
|
||||
"name": "xIds/xApi/xAiApi",
|
||||
"configurations": ["xIds", "xApi", "xAiApi"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "buildApi",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/xApi/xApi.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "buildAiApi",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/xAiApi/xAiApi.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "buildIds",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/xIds/xIds.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "prepareXClient",
|
||||
"type": "npm",
|
||||
"script": "serveSSLWithKeysXFrameworkProjectWithoutOpen",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"focus": true,
|
||||
"panel": "dedicated",
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"problemMatcher": {
|
||||
"owner": "typescript",
|
||||
"source": "ts",
|
||||
"applyTo": "closedDocuments",
|
||||
"fileLocation": [
|
||||
"relative",
|
||||
"${cwd}"
|
||||
],
|
||||
"pattern": "$tsc",
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "(.*?)"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compiled |Failed to compile."
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/xClient"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
xDashboard Modules:
|
||||
----------------------------------------------------
|
||||
Exceptions:
|
||||
https://git.saherelm.ir/saherelm/xExceptions.git
|
||||
|
||||
Commons:
|
||||
https://git.saherelm.ir/saherelm/xCommons.git
|
||||
|
||||
Models:
|
||||
https://git.saherelm.ir/saherelm/xModels.git
|
||||
|
||||
Message Service:
|
||||
https://git.saherelm.ir/saherelm/xMessageService.git
|
||||
|
||||
Storage Service:
|
||||
https://git.saherelm.ir/saherelm/xStorageService.git
|
||||
|
||||
Data Service:
|
||||
https://git.saherelm.ir/saherelm/xDataService.git
|
||||
|
||||
Identity Models:
|
||||
https://git.saherelm.ir/saherelm/xIdentityModels.git
|
||||
|
||||
Http Service:
|
||||
https://git.saherelm.ir/saherelm/xHttpService.git
|
||||
|
||||
Identity Service:
|
||||
https://git.saherelm.ir/saherelm/xIdentityService.git
|
||||
|
||||
Push Service:
|
||||
https://git.saherelm.ir/saherelm/xPushService.git
|
||||
|
||||
Event Service:
|
||||
https://git.saherelm.ir/saherelm/xEventService.git
|
||||
|
||||
String Service:
|
||||
https://git.saherelm.ir/saherelm/xStringService.git
|
||||
|
||||
Terms and Conditions Service:
|
||||
https://git.saherelm.ir/saherelm/xTermsAndConditionsService.git
|
||||
|
||||
Category Service:
|
||||
https://git.saherelm.ir/saherelm/xCategoryService.git
|
||||
|
||||
Tag Service:
|
||||
https://git.saherelm.ir/saherelm/xTagService.git
|
||||
|
||||
File Service:
|
||||
https://git.saherelm.ir/saherelm/xFileService.git
|
||||
|
||||
Webinar Service:
|
||||
https://git.saherelm.ir/saherelm/xWebinarService.git
|
||||
|
||||
Ai Models:
|
||||
https://git.saherelm.ir/saherelm/xAiModels.git
|
||||
|
||||
xSaherElm Modules:
|
||||
-------------------------------------------------------------
|
||||
|
||||
IdentityHelper:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmIdentityHelper.git
|
||||
|
||||
Services:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmServices.git
|
||||
|
||||
Api SDK Holder:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmApiSDKHolder.git
|
||||
|
||||
xSaherElm Apps:
|
||||
--------------------------------------------------------------
|
||||
|
||||
Client:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmClient.git
|
||||
|
||||
IDS:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmIds.git
|
||||
|
||||
AiApi:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmAiApi.git
|
||||
|
||||
Api:
|
||||
https://git.saherelm.ir/saherelm/xSaherElmApi.git
|
||||
|
||||
Workspace:
|
||||
--------------------------------------------------------------
|
||||
https://git.saherelm.ir/saherelm/xSaherelmWorkspace.git
|
||||
@@ -0,0 +1,7 @@
|
||||
pw.test("Auth Test: ", () => {
|
||||
//
|
||||
var data = pw.response.body;
|
||||
pw.env.set("xAccessToken", data.accessToken);
|
||||
pw.env.set("xRefreshToken", data.refreshToken);
|
||||
pw.env.set("xExpiresAt", data.expiresAt);
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,571 @@
|
||||
{
|
||||
"id": "jzxstgfznet",
|
||||
"v": 2,
|
||||
"name": "xSaherElmEnvironment",
|
||||
"variables": [
|
||||
{
|
||||
"key": "xServerUri",
|
||||
"secret": false,
|
||||
"initialValue": "https://localhost:4001",
|
||||
"currentValue": "https://localhost:4001"
|
||||
},
|
||||
{
|
||||
"key": "xClientUri",
|
||||
"secret": false,
|
||||
"initialValue": "https://localhost:5001",
|
||||
"currentValue": "https://localhost:5001"
|
||||
},
|
||||
{
|
||||
"key": "xPoweredByTitle",
|
||||
"secret": false,
|
||||
"initialValue": "X-PoweredBy",
|
||||
"currentValue": "X-PoweredBy"
|
||||
},
|
||||
{
|
||||
"key": "xPoweredByValue",
|
||||
"secret": false,
|
||||
"initialValue": "SaherElmITCenter",
|
||||
"currentValue": "SaherElmITCenter"
|
||||
},
|
||||
{
|
||||
"key": "xAccountUri",
|
||||
"secret": false,
|
||||
"initialValue": "account",
|
||||
"currentValue": "account"
|
||||
},
|
||||
{
|
||||
"key": "xTestUri",
|
||||
"secret": false,
|
||||
"initialValue": "Test",
|
||||
"currentValue": "Test"
|
||||
},
|
||||
{
|
||||
"key": "xProfileUri",
|
||||
"secret": false,
|
||||
"initialValue": "Profile",
|
||||
"currentValue": "Profile"
|
||||
},
|
||||
{
|
||||
"key": "xAvatarUri",
|
||||
"secret": false,
|
||||
"initialValue": "Avatar",
|
||||
"currentValue": "Avatar"
|
||||
},
|
||||
{
|
||||
"key": "xAvatarsUri",
|
||||
"secret": false,
|
||||
"initialValue": "Avatars",
|
||||
"currentValue": "Avatars"
|
||||
},
|
||||
{
|
||||
"key": "xFriendshipUri",
|
||||
"secret": false,
|
||||
"initialValue": "Friendship",
|
||||
"currentValue": "Friendship"
|
||||
},
|
||||
{
|
||||
"key": "password_grant",
|
||||
"secret": false,
|
||||
"initialValue": "password",
|
||||
"currentValue": "password"
|
||||
},
|
||||
{
|
||||
"key": "client_credential_grant",
|
||||
"secret": false,
|
||||
"initialValue": "client_credentials",
|
||||
"currentValue": "client_credentials"
|
||||
},
|
||||
{
|
||||
"key": "xRefreshTokenTitle",
|
||||
"secret": false,
|
||||
"initialValue": "refresh_token",
|
||||
"currentValue": "refresh_token"
|
||||
},
|
||||
{
|
||||
"key": "xRoleTitle",
|
||||
"secret": false,
|
||||
"initialValue": "role",
|
||||
"currentValue": "role"
|
||||
},
|
||||
{
|
||||
"key": "xForceRoleTitle",
|
||||
"secret": false,
|
||||
"initialValue": "forceRole",
|
||||
"currentValue": "forceRole"
|
||||
},
|
||||
{
|
||||
"key": "xActionTokenTitle",
|
||||
"secret": false,
|
||||
"initialValue": "actionToken",
|
||||
"currentValue": "actionToken"
|
||||
},
|
||||
{
|
||||
"key": "xExpiresAtTitle",
|
||||
"secret": false,
|
||||
"initialValue": "expires_at",
|
||||
"currentValue": "expires_at"
|
||||
},
|
||||
{
|
||||
"key": "xAuthorization",
|
||||
"secret": false,
|
||||
"initialValue": "Authorization",
|
||||
"currentValue": "Authorization"
|
||||
},
|
||||
{
|
||||
"key": "xAdminRole",
|
||||
"secret": false,
|
||||
"initialValue": "admin",
|
||||
"currentValue": "admin"
|
||||
},
|
||||
{
|
||||
"key": "xAgentRole",
|
||||
"secret": false,
|
||||
"initialValue": "agent",
|
||||
"currentValue": "agent"
|
||||
},
|
||||
{
|
||||
"key": "xUserRole",
|
||||
"secret": false,
|
||||
"initialValue": "user",
|
||||
"currentValue": "user"
|
||||
},
|
||||
{
|
||||
"key": "xQueryContainsDetail",
|
||||
"secret": false,
|
||||
"initialValue": "containsDetail",
|
||||
"currentValue": "containsDetail"
|
||||
},
|
||||
{
|
||||
"key": "xQueryFilter",
|
||||
"secret": false,
|
||||
"initialValue": "filter",
|
||||
"currentValue": "filter"
|
||||
},
|
||||
{
|
||||
"key": "xQuerySortBy",
|
||||
"secret": false,
|
||||
"initialValue": "sortBy",
|
||||
"currentValue": "sortBy"
|
||||
},
|
||||
{
|
||||
"key": "xQueryIsAscending",
|
||||
"secret": false,
|
||||
"initialValue": "isAscending",
|
||||
"currentValue": "isAscending"
|
||||
},
|
||||
{
|
||||
"key": "xQueryPage",
|
||||
"secret": false,
|
||||
"initialValue": "page",
|
||||
"currentValue": "page"
|
||||
},
|
||||
{
|
||||
"key": "xQueryPageSize",
|
||||
"secret": false,
|
||||
"initialValue": "pageSize",
|
||||
"currentValue": "pageSize"
|
||||
},
|
||||
{
|
||||
"key": "xId",
|
||||
"secret": false,
|
||||
"initialValue": "id",
|
||||
"currentValue": "id"
|
||||
},
|
||||
{
|
||||
"key": "xIds",
|
||||
"secret": false,
|
||||
"initialValue": "ids",
|
||||
"currentValue": "ids"
|
||||
},
|
||||
{
|
||||
"key": "xUserName",
|
||||
"secret": false,
|
||||
"initialValue": "userName",
|
||||
"currentValue": "userName"
|
||||
},
|
||||
{
|
||||
"key": "xEmail",
|
||||
"secret": false,
|
||||
"initialValue": "email",
|
||||
"currentValue": "email"
|
||||
},
|
||||
{
|
||||
"key": "xMobileNumber",
|
||||
"secret": false,
|
||||
"initialValue": "mobileNumber",
|
||||
"currentValue": "mobileNumber"
|
||||
},
|
||||
{
|
||||
"key": "xFile",
|
||||
"secret": false,
|
||||
"initialValue": "file",
|
||||
"currentValue": "file"
|
||||
},
|
||||
{
|
||||
"key": "xFiles",
|
||||
"secret": false,
|
||||
"initialValue": "files",
|
||||
"currentValue": "files"
|
||||
},
|
||||
{
|
||||
"key": "xUserSelectByParam",
|
||||
"secret": false,
|
||||
"initialValue": "userSelectByParam",
|
||||
"currentValue": "userSelectByParam"
|
||||
},
|
||||
{
|
||||
"key": "xUserSelectByParams",
|
||||
"secret": false,
|
||||
"initialValue": "userSelectByParams",
|
||||
"currentValue": "userSelectByParams"
|
||||
},
|
||||
{
|
||||
"key": "xConnectionId",
|
||||
"secret": false,
|
||||
"initialValue": "connectionId",
|
||||
"currentValue": "connectionId"
|
||||
},
|
||||
{
|
||||
"key": "xConnectionIds",
|
||||
"secret": false,
|
||||
"initialValue": "connectionIds",
|
||||
"currentValue": "connectionIds"
|
||||
},
|
||||
{
|
||||
"key": "xAccessToken",
|
||||
"secret": false,
|
||||
"initialValue": "F405261471D2FC4257EDE76B30C6993DEE8EE38D7F1452B90031D717B1DA1621",
|
||||
"currentValue": "F70653A237FB7C525A354F558B69E34817E805D63DB36B243AF3278D237DA151"
|
||||
},
|
||||
{
|
||||
"key": "xRefreshToken",
|
||||
"secret": false,
|
||||
"initialValue": "6B58E44A20DABF6CC37AB0EBD7680776B04579F194B470CD228556DA75DCF5D9",
|
||||
"currentValue": "A74F2BF1FD49701981A7B7B251B51F27F5939836CAAE99FE8165161B78F08ECF"
|
||||
},
|
||||
{
|
||||
"key": "xExpiresAt",
|
||||
"secret": false,
|
||||
"initialValue": "1767025161",
|
||||
"currentValue": "1776210687"
|
||||
},
|
||||
{
|
||||
"key": "XActionToken",
|
||||
"secret": false,
|
||||
"initialValue": "1111111",
|
||||
"currentValue": "1111111"
|
||||
},
|
||||
{
|
||||
"key": "xApiUri",
|
||||
"secret": false,
|
||||
"initialValue": "api",
|
||||
"currentValue": "api"
|
||||
},
|
||||
{
|
||||
"key": "xApiVersion",
|
||||
"secret": false,
|
||||
"initialValue": "1.0",
|
||||
"currentValue": "1.0"
|
||||
},
|
||||
{
|
||||
"key": "xConfigurationUri",
|
||||
"secret": false,
|
||||
"initialValue": "Configurations",
|
||||
"currentValue": "Configurations"
|
||||
},
|
||||
{
|
||||
"key": "xTermsUri",
|
||||
"secret": false,
|
||||
"initialValue": "Terms",
|
||||
"currentValue": "Terms"
|
||||
},
|
||||
{
|
||||
"key": "xPushUri",
|
||||
"secret": false,
|
||||
"initialValue": "Push",
|
||||
"currentValue": "Push"
|
||||
},
|
||||
{
|
||||
"key": "xStartupUri",
|
||||
"secret": false,
|
||||
"initialValue": "Startup",
|
||||
"currentValue": "Startup"
|
||||
},
|
||||
{
|
||||
"key": "xQuery",
|
||||
"secret": false,
|
||||
"initialValue": "query",
|
||||
"currentValue": "query"
|
||||
},
|
||||
{
|
||||
"key": "xIgnoreSoftDeleteds",
|
||||
"secret": false,
|
||||
"initialValue": "ignoreSoftDeleteds",
|
||||
"currentValue": "ignoreSoftDeleteds"
|
||||
},
|
||||
{
|
||||
"key": "xIgnoreSoftDeletedsValue",
|
||||
"secret": false,
|
||||
"initialValue": "true",
|
||||
"currentValue": "true"
|
||||
},
|
||||
{
|
||||
"key": "xContainsDetail",
|
||||
"secret": false,
|
||||
"initialValue": "containsDetail",
|
||||
"currentValue": "containsDetail"
|
||||
},
|
||||
{
|
||||
"key": "xContainsDetailValue",
|
||||
"secret": false,
|
||||
"initialValue": "false",
|
||||
"currentValue": "false"
|
||||
},
|
||||
{
|
||||
"key": "xFindOneUri",
|
||||
"secret": false,
|
||||
"initialValue": "FindOne",
|
||||
"currentValue": "FindOne"
|
||||
},
|
||||
{
|
||||
"key": "xFindManyUri",
|
||||
"secret": false,
|
||||
"initialValue": "FindMany",
|
||||
"currentValue": "FindMany"
|
||||
},
|
||||
{
|
||||
"key": "xQueryUri",
|
||||
"secret": false,
|
||||
"initialValue": "Query",
|
||||
"currentValue": "Query"
|
||||
},
|
||||
{
|
||||
"key": "xRequestPageUri",
|
||||
"secret": false,
|
||||
"initialValue": "RequestPage",
|
||||
"currentValue": "RequestPage"
|
||||
},
|
||||
{
|
||||
"key": "xIsExistsUri",
|
||||
"secret": false,
|
||||
"initialValue": "IsExists",
|
||||
"currentValue": "IsExists"
|
||||
},
|
||||
{
|
||||
"key": "xAddOrUpdateUri",
|
||||
"secret": false,
|
||||
"initialValue": "AddOrUpdate",
|
||||
"currentValue": "AddOrUpdate"
|
||||
},
|
||||
{
|
||||
"key": "xAddManyUri",
|
||||
"secret": false,
|
||||
"initialValue": "AddMany",
|
||||
"currentValue": "AddMany"
|
||||
},
|
||||
{
|
||||
"key": "xUpdateManyUri",
|
||||
"secret": false,
|
||||
"initialValue": "UpdateMany",
|
||||
"currentValue": "UpdateMany"
|
||||
},
|
||||
{
|
||||
"key": "xRemoveManyUri",
|
||||
"secret": false,
|
||||
"initialValue": "RemoveMany",
|
||||
"currentValue": "RemoveMany"
|
||||
},
|
||||
{
|
||||
"key": "xQueryPageSizeValue",
|
||||
"secret": false,
|
||||
"initialValue": "10",
|
||||
"currentValue": "10"
|
||||
},
|
||||
{
|
||||
"key": "xQueryIsAscendingValue",
|
||||
"secret": false,
|
||||
"initialValue": "false",
|
||||
"currentValue": "false"
|
||||
},
|
||||
{
|
||||
"key": "xSoftDelete",
|
||||
"secret": false,
|
||||
"initialValue": "softDelete",
|
||||
"currentValue": "softDelete"
|
||||
},
|
||||
{
|
||||
"key": "xSoftDeleteValue",
|
||||
"secret": false,
|
||||
"initialValue": "true",
|
||||
"currentValue": "true"
|
||||
},
|
||||
{
|
||||
"key": "xPushConnectionId",
|
||||
"secret": false,
|
||||
"initialValue": "1",
|
||||
"currentValue": "1"
|
||||
},
|
||||
{
|
||||
"key": "xTestIdentityUri",
|
||||
"secret": false,
|
||||
"initialValue": "TestIdentity",
|
||||
"currentValue": "TestIdentity"
|
||||
},
|
||||
{
|
||||
"key": "xCountUri",
|
||||
"secret": false,
|
||||
"initialValue": "Count",
|
||||
"currentValue": "Count"
|
||||
},
|
||||
{
|
||||
"key": "xCancellationTokenIdentifier",
|
||||
"secret": false,
|
||||
"initialValue": "identifier",
|
||||
"currentValue": "identifier"
|
||||
},
|
||||
{
|
||||
"key": "xStringsUri",
|
||||
"secret": false,
|
||||
"initialValue": "Strings",
|
||||
"currentValue": "Strings"
|
||||
},
|
||||
{
|
||||
"key": "xLanguage",
|
||||
"secret": false,
|
||||
"initialValue": "fa-IR",
|
||||
"currentValue": "fa-IR"
|
||||
},
|
||||
{
|
||||
"key": "xResourcesUri",
|
||||
"secret": false,
|
||||
"initialValue": "Resources",
|
||||
"currentValue": "Resources"
|
||||
},
|
||||
{
|
||||
"key": "xLanguageUri",
|
||||
"secret": false,
|
||||
"initialValue": "language",
|
||||
"currentValue": "language"
|
||||
},
|
||||
{
|
||||
"key": "xResourceUri",
|
||||
"secret": false,
|
||||
"initialValue": "Resource",
|
||||
"currentValue": "Resource"
|
||||
},
|
||||
{
|
||||
"key": "xEntitiesUri",
|
||||
"secret": false,
|
||||
"initialValue": "Entities",
|
||||
"currentValue": "Entities"
|
||||
},
|
||||
{
|
||||
"key": "xWebinarUri",
|
||||
"secret": false,
|
||||
"initialValue": "Webinars",
|
||||
"currentValue": "Webinars"
|
||||
},
|
||||
{
|
||||
"key": "xServicesUri",
|
||||
"secret": false,
|
||||
"initialValue": "Services",
|
||||
"currentValue": "Services"
|
||||
},
|
||||
{
|
||||
"key": "xResourceParam",
|
||||
"secret": false,
|
||||
"initialValue": "resource",
|
||||
"currentValue": "resource"
|
||||
},
|
||||
{
|
||||
"key": "xValueParam",
|
||||
"secret": false,
|
||||
"initialValue": "value",
|
||||
"currentValue": "value"
|
||||
},
|
||||
{
|
||||
"key": "xWebinarIdParam",
|
||||
"secret": false,
|
||||
"initialValue": "webinarId",
|
||||
"currentValue": "webinarId"
|
||||
},
|
||||
{
|
||||
"key": "xSubscriberIdParam",
|
||||
"secret": false,
|
||||
"initialValue": "subscriberId",
|
||||
"currentValue": "subscriberId"
|
||||
},
|
||||
{
|
||||
"key": "xTags",
|
||||
"secret": false,
|
||||
"initialValue": "tags",
|
||||
"currentValue": "tags"
|
||||
},
|
||||
{
|
||||
"key": "xOpenToSearchUri",
|
||||
"secret": false,
|
||||
"initialValue": "OpenToSearch",
|
||||
"currentValue": "OpenToSearch"
|
||||
},
|
||||
{
|
||||
"key": "xFileUri",
|
||||
"secret": false,
|
||||
"initialValue": "Files",
|
||||
"currentValue": "Files"
|
||||
},
|
||||
{
|
||||
"key": "xTag",
|
||||
"secret": false,
|
||||
"initialValue": "tag",
|
||||
"currentValue": "tag"
|
||||
},
|
||||
{
|
||||
"key": "xTagUri",
|
||||
"secret": false,
|
||||
"initialValue": "Tags",
|
||||
"currentValue": "Tags"
|
||||
},
|
||||
{
|
||||
"key": "xActionToken",
|
||||
"secret": false,
|
||||
"initialValue": "9c9d798abeb2a4e48a69191f8d8d53ec",
|
||||
"currentValue": "9c9d798abeb2a4e48a69191f8d8d53ec"
|
||||
},
|
||||
{
|
||||
"key": "xTerms",
|
||||
"secret": false,
|
||||
"initialValue": "terms",
|
||||
"currentValue": "terms"
|
||||
},
|
||||
{
|
||||
"key": "xAiClientUri",
|
||||
"secret": false,
|
||||
"initialValue": "https://localhost:6001",
|
||||
"currentValue": "https://localhost:6001"
|
||||
},
|
||||
{
|
||||
"key": "xOllamaUri",
|
||||
"secret": false,
|
||||
"initialValue": "Ollama",
|
||||
"currentValue": "Ollama"
|
||||
},
|
||||
{
|
||||
"key": "xPrompt",
|
||||
"secret": false,
|
||||
"initialValue": "prompt",
|
||||
"currentValue": "prompt"
|
||||
},
|
||||
{
|
||||
"key": "xModel",
|
||||
"secret": false,
|
||||
"initialValue": "model",
|
||||
"currentValue": "model"
|
||||
},
|
||||
{
|
||||
"key": "xAiUri",
|
||||
"secret": false,
|
||||
"initialValue": "Ai",
|
||||
"currentValue": "Ai"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,806 @@
|
||||
{
|
||||
"info": {
|
||||
"_postman_id": "b5d16ab4-5b6f-4aaf-b614-56a27d4469eb",
|
||||
"name": "EntityTemplate",
|
||||
"description": "# Template\n\n---\n\nthis is contains all BaseEntityController actions from XDashboard project of SaherElm IT Center ...",
|
||||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
|
||||
"_exporter_id": "2366868"
|
||||
},
|
||||
"item": [
|
||||
{
|
||||
"name": "Retrieve",
|
||||
"item": [
|
||||
{
|
||||
"name": "Get",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/:{{xId}}?{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}&{{xContainsDetail}}={{xContainsDetailValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
":{{xId}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xId}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Query",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xQueryUri}}?{{xQueryContainsDetail}}={{xContainsDetailValue}}&{{xQueryFilter}}=&{{xQuerySortBy}}=&{{xQueryIsAscending}}={{xQueryIsAscendingValue}}&{{xQueryPage}}=1&{{xQueryPageSize}}={{xQueryPageSizeValue}}&{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xQueryUri}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xQueryContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xQueryFilter}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xQuerySortBy}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xQueryIsAscending}}",
|
||||
"value": "{{xQueryIsAscendingValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xQueryPage}}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"key": "{{xQueryPageSize}}",
|
||||
"value": "{{xQueryPageSizeValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "RequestPage",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xRequestPageUri}}?{{xPageRequestFirst}}=&{{xPageRequestLast}}=&{{xPageRequestAfter}}=&{{xPageRequestBefore}}=&{{xPageRequestSortBy}}=&{{xPageRequestDescendingSort}}={{xPageRequestDescendingSortValue}}&{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}&{{xContainsDetail}}={{xContainsDetailValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xRequestPageUri}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xPageRequestFirst}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xPageRequestLast}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xPageRequestAfter}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xPageRequestBefore}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xPageRequestSortBy}}",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"key": "{{xPageRequestDescendingSort}}",
|
||||
"value": "{{xPageRequestDescendingSortValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "FindOne",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xFindOneUri}}/:{{xQuery}}?{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}&{{xContainsDetail}}={{xContainsDetailValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xFindOneUri}}",
|
||||
":{{xQuery}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xQuery}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "FindMany",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xFindManyUri}}/:{{xQuery}}?{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}&{{xContainsDetail}}={{xContainsDetailValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xFindManyUri}}",
|
||||
":{{xQuery}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xQuery}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "GetAll",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}?{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}&{{xContainsDetail}}={{xContainsDetailValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
},
|
||||
{
|
||||
"key": "{{xContainsDetail}}",
|
||||
"value": "{{xContainsDetailValue}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Add",
|
||||
"item": [
|
||||
{
|
||||
"name": "Add",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "AddOrUpdate",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xAddOrUpdateUri}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xAddOrUpdateUri}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "AddMany",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xAddManyUri}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xAddManyUri}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Update",
|
||||
"item": [
|
||||
{
|
||||
"name": "Update",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "PUT",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/:{{xId}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
":{{xId}}"
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xId}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "UpdateMany",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xUpdateManyUri}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xUpdateManyUri}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Exists",
|
||||
"item": [
|
||||
{
|
||||
"name": "IsExists",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/:{{xId}}/{{xIsExistsUri}}?{{xIgnoreSoftDeleteds}}={{xIgnoreSoftDeletedsValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
":{{xId}}",
|
||||
"{{xIsExistsUri}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xIgnoreSoftDeleteds}}",
|
||||
"value": "{{xIgnoreSoftDeletedsValue}}"
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xId}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Remove",
|
||||
"item": [
|
||||
{
|
||||
"name": "Remove",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "DELETE",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/:{{xId}}?{{xSoftDelete}}={{xSoftDeleteValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
":{{xId}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xSoftDelete}}",
|
||||
"value": "{{xSoftDeleteValue}}"
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "{{xId}}",
|
||||
"value": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "RemoveMany",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xRemoveManyUri}}?{{xSoftDelete}}={{xSoftDeleteValue}}",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xRemoveManyUri}}"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "{{xSoftDelete}}",
|
||||
"value": "{{xSoftDeleteValue}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Custom",
|
||||
"item": []
|
||||
},
|
||||
{
|
||||
"name": "Test",
|
||||
"item": [
|
||||
{
|
||||
"name": "Hi",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xTestUri}}/Hi",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xTestUri}}",
|
||||
"Hi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "PassRequireXPowered",
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"method": "GET",
|
||||
"header": [
|
||||
{
|
||||
"key": "{{xPoweredByTitle}}",
|
||||
"value": "{{xPoweredByValue}}",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{xClientUri}}/{{xApiUri}}/v{{xApiVersion}}/{{}}/{{xTestUri}}/PassRequireXPowered",
|
||||
"host": [
|
||||
"{{xClientUri}}"
|
||||
],
|
||||
"path": [
|
||||
"{{xApiUri}}",
|
||||
"v{{xApiVersion}}",
|
||||
"{{}}",
|
||||
"{{xTestUri}}",
|
||||
"PassRequireXPowered"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "{{xAccessToken}}",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"event": [
|
||||
{
|
||||
"listen": "prerequest",
|
||||
"script": {
|
||||
"type": "text/javascript",
|
||||
"exec": [
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"listen": "test",
|
||||
"script": {
|
||||
"type": "text/javascript",
|
||||
"exec": [
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,544 @@
|
||||
{
|
||||
"id": "37fe268e-fc23-4dbe-8e30-bd7f64b9bca4",
|
||||
"name": "xMabsutEnvironment",
|
||||
"values": [
|
||||
{
|
||||
"key": "xServerUri",
|
||||
"value": "https://localhost:4001",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xClientUri",
|
||||
"value": "https://localhost:5001",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xPoweredByTitle",
|
||||
"value": "X-PoweredBy",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xPoweredByValue",
|
||||
"value": "SaherElmITCenter",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAccountUri",
|
||||
"value": "account",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTestUri",
|
||||
"value": "Test",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xProfileUri",
|
||||
"value": "Profile",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAvatarUri",
|
||||
"value": "Avatar",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAvatarsUri",
|
||||
"value": "Avatars",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFriendshipUri",
|
||||
"value": "Friendship",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "password_grant",
|
||||
"value": "password",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "client_credential_grant",
|
||||
"value": "client_credentials",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xRefreshTokenTitle",
|
||||
"value": "refresh_token",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xRoleTitle",
|
||||
"value": "role",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xForceRoleTitle",
|
||||
"value": "forceRole",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xActionTokenTitle",
|
||||
"value": "actionToken",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xExpiresAtTitle",
|
||||
"value": "expires_at",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAuthorization",
|
||||
"value": "Authorization",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAdminRole",
|
||||
"value": "admin",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAgentRole",
|
||||
"value": "agent",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xUserRole",
|
||||
"value": "user",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryContainsDetail",
|
||||
"value": "containsDetail",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryFilter",
|
||||
"value": "filter",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQuerySortBy",
|
||||
"value": "sortBy",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryIsAscending",
|
||||
"value": "isAscending",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryPage",
|
||||
"value": "page",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryPageSize",
|
||||
"value": "pageSize",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xId",
|
||||
"value": "id",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xIds",
|
||||
"value": "ids",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xUserName",
|
||||
"value": "userName",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xEmail",
|
||||
"value": "email",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xMobileNumber",
|
||||
"value": "mobileNumber",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFile",
|
||||
"value": "file",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFiles",
|
||||
"value": "files",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xUserSelectByParam",
|
||||
"value": "userSelectByParam",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xUserSelectByParams",
|
||||
"value": "userSelectByParams",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xConnectionId",
|
||||
"value": "connectionId",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xConnectionIds",
|
||||
"value": "connectionIds",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAccessToken",
|
||||
"value": "F405261471D2FC4257EDE76B30C6993DEE8EE38D7F1452B90031D717B1DA1621",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xRefreshToken",
|
||||
"value": "6B58E44A20DABF6CC37AB0EBD7680776B04579F194B470CD228556DA75DCF5D9",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xExpiresAt",
|
||||
"value": "1767025161",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "XActionToken",
|
||||
"value": "1111111",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xApiUri",
|
||||
"value": "api",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xApiVersion",
|
||||
"value": "1.0",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xConfigurationUri",
|
||||
"value": "Configurations",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTermsUri",
|
||||
"value": "Terms",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xPushUri",
|
||||
"value": "Push",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xStartupUri",
|
||||
"value": "Startup",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQuery",
|
||||
"value": "query",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xIgnoreSoftDeleteds",
|
||||
"value": "ignoreSoftDeleteds",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xIgnoreSoftDeletedsValue",
|
||||
"value": "true",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xContainsDetail",
|
||||
"value": "containsDetail",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xContainsDetailValue",
|
||||
"value": "false",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFindOneUri",
|
||||
"value": "FindOne",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFindManyUri",
|
||||
"value": "FindMany",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryUri",
|
||||
"value": "Query",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xRequestPageUri",
|
||||
"value": "RequestPage",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xIsExistsUri",
|
||||
"value": "IsExists",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAddOrUpdateUri",
|
||||
"value": "AddOrUpdate",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xAddManyUri",
|
||||
"value": "AddMany",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xUpdateManyUri",
|
||||
"value": "UpdateMany",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xRemoveManyUri",
|
||||
"value": "RemoveMany",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryPageSizeValue",
|
||||
"value": "10",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xQueryIsAscendingValue",
|
||||
"value": "false",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xSoftDelete",
|
||||
"value": "softDelete",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xSoftDeleteValue",
|
||||
"value": "true",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xPushConnectionId",
|
||||
"value": "1",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTestIdentityUri",
|
||||
"value": "TestIdentity",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xCountUri",
|
||||
"value": "Count",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xCancellationTokenIdentifier",
|
||||
"value": "identifier",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xStringsUri",
|
||||
"value": "Strings",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xLanguage",
|
||||
"value": "fa-IR",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xResourcesUri",
|
||||
"value": "Resources",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xLanguageUri",
|
||||
"value": "language",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xResourceUri",
|
||||
"value": "Resource",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xEntitiesUri",
|
||||
"value": "Entities",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xWebinarUri",
|
||||
"value": "Webinars",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xServicesUri",
|
||||
"value": "Services",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xResourceParam",
|
||||
"value": "resource",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xValueParam",
|
||||
"value": "value",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xWebinarIdParam",
|
||||
"value": "webinarId",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xSubscriberIdParam",
|
||||
"value": "subscriberId",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTags",
|
||||
"value": "tags",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xOpenToSearchUri",
|
||||
"value": "OpenToSearch",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xFileUri",
|
||||
"value": "Files",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTag",
|
||||
"value": "tag",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTagUri",
|
||||
"value": "Tags",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xActionToken",
|
||||
"value": "9c9d798abeb2a4e48a69191f8d8d53ec",
|
||||
"type": "any",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "xTerms",
|
||||
"value": "terms",
|
||||
"type": "default",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"color": null,
|
||||
"_postman_variable_scope": "environment",
|
||||
"_postman_exported_at": "2025-12-29T15:47:01.870Z",
|
||||
"_postman_exported_using": "Postman/11.77.2"
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 961 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 961 KiB |
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"password": "s@H@1694056",
|
||||
"userSelectBy": "admin"
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"item": {
|
||||
"title": "",
|
||||
"description": "",
|
||||
},
|
||||
"titles": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "خبر"
|
||||
}
|
||||
]
|
||||
},
|
||||
"descriptions": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "اخبار در این گروه منتشر می شوند"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
"title": "News",
|
||||
"description": "News Category Feeds",
|
||||
}
|
||||
|
||||
{
|
||||
"item": {
|
||||
"id": 1,
|
||||
"title": "CatT_1",
|
||||
"description": "CatD_1",
|
||||
"references": null,
|
||||
},
|
||||
"titles": {
|
||||
"resource": "CatT_1",
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "خبر"
|
||||
},
|
||||
{
|
||||
"language": "en-US",
|
||||
"value": "News"
|
||||
}
|
||||
]
|
||||
},
|
||||
"descriptions": {
|
||||
"resource": "CatD_1",
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "اخبار در این گروه منتشر می شوند"
|
||||
},
|
||||
{
|
||||
"language": "en-US",
|
||||
"value": "News Description"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"titles": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "خبر"
|
||||
}
|
||||
]
|
||||
},
|
||||
"descriptions": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "اخبار در این گروه قرار می گیرند"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"titles": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "ورزشی"
|
||||
}
|
||||
]
|
||||
},
|
||||
"descriptions": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "موارد مرتبط با ورزش"
|
||||
}
|
||||
]
|
||||
},
|
||||
"category": {
|
||||
"titles": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "خبر"
|
||||
}
|
||||
]
|
||||
},
|
||||
"descriptions": {
|
||||
"locales": [
|
||||
{
|
||||
"language": "fa-IR",
|
||||
"value": "اخبار در این گروه قرار می گیرند"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user