public static ModuleMember BackendApiService(WebApiMetadata api) => MODULE(new[] { "src", "services" }, ID(api.ServiceName, "Service"), () => { IMPORT.DEFAULT("axios", out var @axios).FROM("axios"); EXPORT.CLASS(ID(api.ServiceName, "Service"), () => { api.ApiMethods.ForEach(apiMethod => { var methodUrl = api.GetMethodUrl(apiMethod); //TODO: separate language-specific parts of fluent code DSL //For instance, 'PUBLIC' and 'PRIVATE' are not defined in JavaScript, and 'IMPORT' is not defined in C# PUBLIC.STATIC.FUNCTION(apiMethod.Name, () => { var arguments = apiMethod.Signature.Parameters.Select((parameter, index) => { PARAMETER(parameter.Name, out var @param); return(@param); }).ToList(); FINAL("data", out var @data, INITOBJECT(() => { arguments.ForEach(arg => KEY(arg.Name, arg)); })); DO.RETURN(@axios .DOT("post").INVOKE(ANY(methodUrl), @data) .DOT("then").INVOKE(LAMBDA(@result => DO.RETURN(@result.DOT("data")) )) .DOT("catch").INVOKE(LAMBDA(@err => { USE("console").DOT("log").INVOKE(@err); })) ); });
public override void RunAsync() { const string EXPORT = @"<ADMINISTRATION><PROJECT action=""export"" projectguid=""{0}"" targetpath=""{1}"" emailnotification=""{2}"" editorialserver=""{3}"" includearchive=""{4}"" to=""{5}"" provider="""" subject=""{6}"" message=""{7}"" logoutusers=""{8}"" reddotserverguid=""{3}"" includeadmindata=""{9}"" /> </ADMINISTRATION>"; var query = EXPORT.RQLFormat(Project, SecurityElement.Escape(TargetPath), IsSendingEmailOnCompletion, Server, IsIncludingArchive, EmailReceipient, SecurityElement.Escape(EmailSubject), SecurityElement.Escape(EmailMessage), IsLoggingOffActiveUsersInProject, IsIncludingAdministrationSettings); Session.ExecuteRQL(query, RQL.IODataFormat.LogonGuidOnly); }
public void extract(string extFolder, bool timeoutSkip = false) { int OFFSET = 0; int INT_SIZE = (int)intf.Length; foreach (SectionInfo info in infos) { long DATA_OFF = info.dataOffset; BUFF_OFF = (int)DATA_OFF; long SIZE = getLong(BUFF_OFF); long ZSIZE = getLong(BUFF_OFF); OFFSET = BUFF_OFF; /*hoo boy * the clog * cloggy boy * hmmmmmmmmmmmmmmmm*/ intf.Seek(DATA_OFF, SeekOrigin.Begin); /*byte[] MEMORY_FILE = new byte[ZSIZE]; * intf.Read(MEMORY_FILE, 0, (int)ZSIZE); * //COPY THE ENTIRETY MY BOYO*/ //byte[] MEMORY_FILE = inta; //please help byte[] MEMORY_FILE = new byte[ZSIZE]; //byte[] TEMP_FILE = new byte[ZSIZE]; //intf.Read(TEMP_FILE, 0, (int)ZSIZE); intf.Read(MEMORY_FILE, 0, (int)ZSIZE); //Stream TEMP_STREAM = new MemoryStream(TEMP_FILE); //TEMP_STREAM = Decompress(TEMP_STREAM); //TEMP_STREAM.Read(MEMORY_FILE, 0, (int)SIZE); foreach (INTFile file in info.files) { OFFSET = (int)file.dataOffset; SIZE = file.size; string NAME = file.name; string FNAME = string.Format(@"\{0}\{1}", info.folderName, NAME); //the big EXPORT TIME //Console.WriteLine(extFolder + FNAME); if (!Directory.Exists(extFolder + @"\" + info.folderName)) { Directory.CreateDirectory(extFolder + @"\" + info.folderName); } //Console.WriteLine(OFFSET + " " + SIZE); Stream EXPORT; try { EXPORT = File.Open(extFolder + FNAME, FileMode.CreateNew); } catch (IOException) { EXPORT = File.Open(extFolder + FNAME, FileMode.Truncate); }; //Console.WriteLine(NAME); byte[] WRITTEN_FILE = new byte[SIZE]; EXPORT.Read(WRITTEN_FILE, (int)OFFSET, (int)SIZE); FileInfo fl = new FileInfo(extFolder + FNAME); int r = 0; bool c = false; long osz = 0; if (timeoutSkip) { while (fl.Length != SIZE) { fl.Refresh(); r++; if (fl.Length != osz) { r = 0; } if (r > 100000) { //Console.WriteLine(SIZE + " " + OFFSET); c = true; break; //move on, continue to attempt to write in bg } } } if (!c) { EXPORT.Close(); } } } ////Console.WriteLine(getLong(skipZeroes())); }